Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс вычислительные устройства, ч.1.doc
Скачиваний:
7
Добавлен:
27.11.2019
Размер:
990.72 Кб
Скачать

Risc-процессоры 3-го поколения

Самыми крупными разработчиками RISC-процессоров считаются Sun Microsystems (архитектура SPARC - Ultra SPARC), IBM (многокристальные процессоры Power, однокристальные PowerPC - PowerPC 620), Digital Equipment (Alpha - Alpha 21164), Mips Technologies (семейство Rxx00 -- R 10000), а также Hewlett-Packard (архитектура PA-RISC - PA-8000).

Все RISC-процессоры третьего поколения:

  • являются 64-х разрядными и суперскалярными (запускаются не менее 4-х команд за такт);

  • имеют встроенные конвейерные блоки арифметики с плавающей точкой;

  • имеют многоуровневую кэш-память. Большинство RISC-процессоров кэшируют предварительно дешифрованные команды;

  • изготавливаются по КМОП-технологии с 4 слоями металлизации.

Для обработки данных применяется алгоритм динамического прогнозирования ветвлений и метод переназначения регистров, что позволяет реализовать внеочередное выполнение команд.

Повышение производительности RISC-процессоров достигается за счет повышения тактовой частоты и усложнения схемы кристалла. Представителями первого направления являются процессоры Alpha фирмы DEC, наиболее сложными остаются процессоры компании Hewlett-Packard. Рассмотрим процессоры этих фирм более подробно.

Тема 2.2 Адресация операндов и система команд процессора

Основная функция любого процессора, ради которой он и создается, — это выполнение команд. Система команд, выполняемых процессором, представляет собой нечто подобное таблице истинности логических элементов или таблице режимов работы более сложных логических микросхем. То есть она определяет логику работы процессора и его реакцию на те или иные комбинации внешних событий.

Написание программ для микропроцессорной системы — важнейший и часто наиболее трудоемкий этап разработки такой системы. А для создания эффективных программ необходимо иметь хотя бы самое общее представление о системе команд используемого процессора. Самые компактные и быстрые программы и подпрограммы создаются на языке Ассемблер, использование которого без знания системы команд абсолютно невозможно, ведь язык Ассемблер представляет собой символьную запись цифровых кодов машинного языка, кодов команд процессора. Конечно, для разработки программного обеспечения существуют всевозможные программные средства. Пользоваться ими обычно можно и без знания системы команд процессора. Чаще всего применяются языки программирования высокого уровня, такие как Паскаль и Си. Однако знание системы команд и языка Ассемблер позволяет в несколько раз повысить эффективность некоторых наиболее важных частей программного обеспечения любой микропроцессорной системы — от микроконтроллера до персонального компьютера.

Каждая команда, выбираемая (читаемая) из памяти процессором, определяет алгоритм поведения процессора на ближайшие несколько тактов. Код команды говорит о том, какую операцию предстоит выполнить процессору и с какими операндами (то есть кодами данных), где взять исходную информацию для выполнения команды и куда поместить результат (если необходимо). Код команды может занимать от одного до нескольких байт, причем процессор узнает о том, сколько байт команды ему надо читать, из первого прочитанного им байта или слова. В процессоре код команды расшифровывается и преобразуется в набор микроопераций, выполняемых отдельными узлами процессора. Но разработчику микропроцессорных систем это знание не слишком важно, ему важен только результат выполнения той или иной команды.

Программа – последовательность команд, выполнение которых приводит к решению задачи.

Команда – определяет операцию, которую выполняет микропроцессор над данными. Команда содержит в явной или неявной форме информацию о том, где будет помещен результат операции, а также об адресе следующей команды.

Код команды состоит из нескольких частей, которые называются полями. Состав, назначение и расположение полей называется форматом команды.

Рис. Формат команды

В общем случае формат команды содержит операционную и адресную часть. Операционная часть содержит код операции (например, сложение, умножение, передача данных). Адресная часть состоит из нескольких полей и содержит информацию об адресах операндов, результате операции и следующей команде.

Поле «Признак адресации» определяет способ адресации операнда. Биты полей «Признак адресации» и «Адрес операндов» в совокупности определяют ячейки памяти, в которых хранятся операнды.

Общее количество бит в коде команды называется длиной формата. Длина формата команды определяет скорость выполнения команды и зависит от способа адресации операндов.