Семейства процессоров MOTOROLA 680X0 и COLDFIRE

Опубликовано: 8 Октября, 2022

Процессор 68000 был представлен в 1979 году. В 1980-х и начале 1990-х годов процессоры 68000, 68020, 68030 и 68040 предназначались для рынка персональных компьютеров и использовались для компьютеров Apple. Последним членом семейства 680X0 является 68060, представленный в середине 1990-х годов. 68060 и тесно связанное с ним семейство ColdFire предназначены для рынка встраиваемых систем. Сначала мы пройдемся по процессорам 68020.

1. Процессор 68020:

68020 более мощный, чем 68000, в основном из-за некоторых значительных архитектурных усовершенствований. Эти достижения стали возможными благодаря усовершенствованной технологии СБИС и большим пакетам, устранившим многие ограничения, связанные с ограничениями выводов. 68020 имеет внешние соединения для 32-битных адресов и 32-битных данных. Хотя его шина данных имеет ширину 32 бита, 68020 может эффективно работать с устройствами, передающими 8, 16 или 32 бита за раз. Процессор может динамически подстраиваться под требования ширины шины данных конкретного устройства таким образом, что это незаметно для любого программиста. Шина 68020 включает в себя линии управления, которые активируются устройствами, подключенными к шине, для указания требуемого объема передаваемых ими данных. Таким образом, процессор может работать с устройствами с разными размерами передачи данных, не зная фактического размера до того, как будет инициирована передача данных.

Ограничение 68000, согласно которому словесные операнды должны быть выровнены по четным границам адресов, было устранено в 68020; операнды любого размера могут начинаться с любого адреса. Это означает, что 16- и 32-битные операнды могут занимать части двух соседних 32-битных ячеек памяти. Следовательно, для доступа к таким операндам требуется два цикла доступа, что влияет на производительность. Процессор автоматически выполняет эти два доступа. По адресу процессор знает, к каким 32-битным ячейкам нужно получить доступ и по какому шаблону следует собрать отдельные байты из этих ячейок, чтобы получить желаемый операнд.

Набор регистров и типы данных –
Как и 68000, 68020 имеет режимы работы пользователя и супервизора. В режиме супервизора 68020 поддерживает типы данных, состоящих из четырех слов, неупакованного двоично-десятичного числа и битового поля. Счетверенное слово состоит из 64 бит, а в неупакованном двоично-десятичном коде содержится одна двоично-десятичная цифра на байт. Битовое поле состоит из переменного количества битов в 32-битном длинном слове и определяется расположением самого левого бита и количеством битов в поле.

Режимы адресации –
Процессоры 68020 имеют несколько дополнительных режимов адресации, чем 68000, поэтому они могут быть более гибкими и обеспечивать эффективный доступ к данным и структурам списка адресов. Полноиндексный режим является наиболее мощным, поскольку он допускает диапазон смещений и обеспечивает коэффициент масштабирования. Версия 68020 позволяет смещать значение в 8, 16 или 32 бита. Он также вводит масштабный коэффициент, на который умножается содержимое Rk. Значение коэффициента масштабирования может быть 1,2,4 или 8. Синтаксис кода:

(disp.An.Rk.size*scale)

Здесь An — Register Indirect (один из режимов адресации).

Мы заметили, что в приведенном выше коде смещение указано в скобках. Таким образом, эффективный адрес EA :

EA = disp + [An] + ( [Rk] x scale )

Этот режим полезен при работе со списками элементов длиной 1, 2, 4 или 8 байт. Если этот коэффициент масштабирования выбран так, что он равен размеру элементов, то доступ к последующим элементам в списке можно получить, увеличив содержимое Rk на 1.

Еще одним мощным расширением индексной адресации являются режимы косвенной индексации памяти, в которых адресный операнд получается косвенно из основной памяти. Два таких режима существуют.

В режиме косвенной постиндексации памяти адрес извлекается из памяти до того, как происходит нормальный процесс индексации. Эффективный адрес вычисляется как

EA = [basedip + [An]] + ([Rk] x scale) + outdip

Обратите внимание, что используются два смещения. Базовое смещение 16 или 32 бита используется для изменения адреса в An, который используется для выборки адресного операнда из памяти. Это позволяет выбрать адрес из списка адресов, хранящихся в памяти, начиная с некоторого места, заданного содержимым An. Второе смещение — это нормальное смещение, используемое в индексной адресации, называемое внешним смещением , чтобы отличить его от базового смещения.

В режиме косвенной предварительной индексации памяти большая часть модификации индексации выполняется до выборки адресного операнда. Синтаксис этого режима:

([basedip,An,Rk.size*scale],outdip) and then EA = [basedip + [An] + ([Rk] x scale)] + outdip

В обоих рассмотренных выше режимах значения An, Rk, baseip и outdip являются необязательными и не включаются в вычисление эффективного адреса, если это не указано пользователем. Эти режимы адресации полезны для работы со списками, в которых непрерывные области памяти используются для хранения адресов элементов данных, а не самих элементов данных. Последний может быть где угодно в памяти.

Набор инструкций -
Все инструкции 68000 доступны в 68020. Некоторые из них имеют дополнительную гибкость. Например, инструкции ветвления могут иметь 32-битные смещения, а некоторые инструкции могут использовать более длинные операнды. Также предоставляются некоторые новые инструкции, такие как инструкции, которые имеют дело с операндами битового поля.

Кэш-память на чипе –
Чип 68020 включает в себя небольшой кэш инструкций, который имеет 256 байтов, организованных в виде блоков по 64 слова. Схема прямого отображения используется при загрузке новых слов в кэш.

2. Процессор 68030 и 68040:

В 68030 есть два основных аспекта, отличающихся от 68020. Помимо кэша инструкций, 68030 имеет еще один кэш того же размера для данных. Организация кэша данных имеет 16 блоков по 4 длинных слова в каждом. 68030 также содержит блок управления памятью (MMU).

Выполнение в 68030 генерирует виртуальный адрес. Схема доступа к кешу определяет, находится ли требуемый операнд в кеше, на основе виртуального адреса. MMU преобразует виртуальный адрес в физический адрес параллельно с доступом к кэшу, чтобы в случае отсутствия доступа к кэшу физический адрес, необходимый для доступа к операнду, был немедленно доступен в основной памяти.

68040, включает модуль с плавающей запятой, реализующий стандарты IEEE с плавающей запятой. 68040 имеет следующие вещи:

  • Управление памятью улучшено по сравнению с 68030; 68040 имеет два независимых кэша трансляции адресов, которые позволяют одновременно транслировать адреса как для инструкций, так и для данных.
  • Он имеет структуру конвейера, которая позволяет получать инструкции, пока предыдущие инструкции все еще обрабатываются.
  • Две внутренние шины используются для передачи инструкций и данных из соответствующих кэшей. Они также обеспечивают одновременный доступ к кэшам инструкций и данных.
  • Он включает в себя схему, которая контролирует активность на внешней шине. Таким образом, это делает 68040 пригодным для использования в многопроцессорных системах.

3. Процессор 68060:

Последним членом семейства 680X0 является 68060 [6], представленный в середине 1990-х, с тактовой частотой от 50 до 75 МГц. Этот процессор предназначен для рынка встраиваемых систем. Благодаря новым организационным и производственным функциям производительность в 2,5 раза выше, чем у процессора 68040 с частотой 40 МГц. 68080 — это конвейерный суперскалярный процессор. Конвейер имеет 04 основных этапа с двумя дополнительными этапами (если требуется операция обратной записи в память). За цикл блока может быть инициировано до 03 инструкций. 03 функциональных блока — целочисленные блоки и блок с плавающей запятой — составляют основное аппаратное обеспечение обработки инструкций. Существуют отдельные встроенные кэши инструкций и данных объемом 8 КБ. Каждый кеш является ассоциативным набором из 4 путей и использует 16-байтовый блок. Два 64-канальных, 4-канальных, ассоциативных буфера преобразования для облегчения преобразования виртуальных адресов в физические предоставляются вместе с кэшем. Динамическое прогнозирование ветвлений используется для улучшения плавного потока инструкций по конвейеру.

4. Семейства процессоров COLDFIRE:

С середины 1990-х годов Motorola производит серию процессорных компонентов и конфигураций малых компьютеров, называемых семейством ColdFire, предназначенных для рынка встраиваемых систем. Процессоры основаны на процессорном ядре 68060. Ряд различных продуктов сконфигурирован с небольшим объемом памяти и аппаратным портом ввода-вывода для параллельных и последовательных соединений. Эти продукты отвечают ряду требований к мощности и производительности для различных приложений. В семействе ColdFire доступны как аппаратные чипы, так и синтезируемые программные разработки.

РЕКОМЕНДУЕМЫЕ СТАТЬИ