Освой компьютер
Из всего стройного ряда 680x0 несколько \"выбиваются\" 68020 и 68060.
Первый имеет специальные функции работы с модулями, присущие только 68020
(в других процессорах ряда, ни до, ни после, эти функции не были
реализованы). Поскольку, вероятно, специалисты фирмы MOTOROLA посчитали
нецелессобразным их использование, далее мы не будем заострять на них
внимание (что советуем и Вам - конечно, можно поэкспериментировать с
операциями CALLM и RTM, но стоит ли? Ведь иначе как на 68020 такая
программа работать не будет...). Второй, 68060, имеет весьма серьезные
отличия от всего ряда. Этот процессор, скажем так, представляет собой
\"венец\" CISC-технологии, из нее, в данном случае, было выжато все, что
можно, и в результате мы имеем высокопроизводительный процессор,
выполняющий на тактовой частоте 50 МГц до 200 миллионов операций типа
регистр-регистр в секунду.
Очевидно, что за все хорошее нужно платить, что происходит и в данном случае.
За счет оптимизации быстродействия 68060 лишен некоторых операций - полный их
список приведен в приложении 5.
Имеет смысл упомянуть и работу с прерываниями. В книге неоднократно
упоминается такой момент, как прямая запись значений в векторы прерываний.
Начиная с процессора 68010, появился новый управляющий регистр VBR -
Vector Base Register, который является указателем на начало размещения
векторов прерываний в памяти. Поскольку с нулевого адреса располагается
достаточно медленная chip-память, имеет смысл перенести начало векторов в
fast-память, записав в VBR новое значение - это заметно уменьшит расходы
времени при выполнении прерываний. В таком случае (а такую функцию сейчас
имеют многие сервисные утилиты) занесение значений в таблицу векторов,
находящуюся с нуля, не будет иметь никакого смысла. Большинство игрушек и
demo при VBR не равном нулю просто не работают. Чтобы компенсировать этот
эффект, нужно перед установкой векторов считать VBR и оперировать уже
новым адресом. Считывание VBR производится командой MOVEC VBR,Rn в режиме
супервизора. Память. Память на Амиге имеет два типа - chip и fast.
AMIGA: ПРОГРАММИРОВАНИЕ НА АССЕМБЛЕРЕ.
|