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

8 Функциональная и структурная организация процессора. Функциональная и структурная организация процессора.

Концепция RISC - архитектуры.

Организация первых моделей процессоров - i8086/8088 - была направлена, в частности, на сокращение объёма программ, критичного для систем того времени, отличавшихся малой оперативной памятью. Расширение спектра операций, реализуемых системой команд, позволило уменьшить размер программ, а также трудоёмкость их написания и отладки. Однако увеличение числа команд повысило трудоёмкость разработки их микропрограммных реализаций.

Последнее проявилось в удлинении сроков разработки CISC-процессоров, а также в появлении ошибок в их работе. Кроме того, нерегулярность потока команд ограничила развитие процессоров временным параллелизмом обработки инструкций на конвейере "выборка команды- дешифрация команды- выборка данных- вычисление- запись результата".

Эти недостатки обусловили необходимость разработки альтернативной архитектуры, нацеленной, прежде всего, на снижение нерегулярности потока команд уменьшением их общего количества. Это было реализовано в RISC-процессорах, название которых означает "чипы с сокращённой системой команд" (Reduced Instruction Set Computer). Одновременно "классические" процессоры получили обозначение CISC (Complex Instruction Set Computer) - компьютер со сложным набором инструкций.

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

В итоге сложились следующие принципы архитектуры RISC:

  • Применение упрощенного сокращенного набора команд одинаковой длины и структуры.

  • Каждая команда набора выполняется за отрезок времени, равный одному такту.

  • Любая сложная операция выполняется как набор простых команд.

  • Обращение процессора к оперативной памяти происходит через команды загрузки в сверхоперативную память процессора и записи в ОЗУ.

  • Ускоренное выполнение операций достигается за счет использования большого внутреннего СОЗУ (Кэш)

В архитектуре RISC 1-го поколения использовался жесткий принцип управления (при котором логическая схема реализует микрооперацию), как обеспечивающий наиболее высокую скорость выполнения элементарных операций.

В дальнейшем, развитие технологии быстрой памяти позволило перейти к архитектуре RISC 2-го поколения с микропрограммным принципом реализации операций (при котором микрооперация читается из памяти микрокоманд).

Каждая команда процессора RISC - архитектуры состоит только из одного слова, тогда как команда процессора CISC- архитектуры может состоять из нескольких машинных слов. В этом случае количество слов команды определяется процессором после дешифрации 1-го слова команды.

Процессоры RISC - архитектуры имеют более высокую производительность. Так, например, в серверах на RISC-процессорах быстродействие процессорной шины примерно в два раза выше, чем для самых мощных PC- серверов на процессорах CISC- архитектуры.

Сокращение нерегулярности потока команд позволило обогатить топологию RISC-процессоров:

  • пространственным параллелизмом,

  • специализированными аппаратными АЛУ (ALU - блок логики и арифметики = Arithmetic (and) Logic Unit),

  • независимыми кэш данных и команд,

  • раздельными шинами ввода-вывода. Последние, в частности, увеличили длину конвейеров команд.

Всё это повысило и производительность - увеличением числа операций, выполняемых за один такт, и быстродействие - сокращением пути транзактов - RISC-процессоров.

При этом срок разработки данных чипов свидетельствует о том, что её трудоёмкость меньше, чем в случае CISC-процессоров.

На мировых рынках CISC-процессоры представлены, в основном, клонами процессоров Intel серии x86, производимыми AMD, Cyrix, а RISC - чипами Alpha, PowerPC, SPARC.

Уступая во многом последним, процессоры x86 сохранили лидерство на рынке персональных систем лишь благодаря совместимости с программным обеспечением младших моделей, общая стоимость которого - в начале 90-х годов - составила несколько миллиардов долларов США. В свою очередь, достоинства RISC-процессоров укрепили их позиции на более молодом рынке высокопроизводительных машин.

В начале 90-х годов началась острая конкуренция за улучшение характеристик процессоров. В первую очередь, повышение производительности и её отношения к трудоёмкости разработки процессоров. Создатели и CISC, и RISC-процессоров боролись с конкурентами, заимствуя их удачные решения. В процессоре i486 был использован пространственный параллелизм вычислений с фиксированной и плавающей запятой, поддержка каждого АЛУ своей шиной данных/команд и регистровым блоком повысила производительность i486. Команды могли одновременно выполняться в различных АЛУ. Кроме того, интеграция кэш и организация очереди команд позволила поднять частоту ядра процессора в 2-3 раза в сравнении с системной шиной. Однако, совместное размещение данных и команд ограничило эффективность кэш необходимостью его полной перезагрузки после выполнения команд переходов.

Для устранения этого недостатка в Pentium были реализованы раздельные кэш для команд и данных, позволяющие после переходов перезагружать лишь команды - такое решение называется Гарвардской архитектурой, а также предсказание переходов, снижающее частоту перезагрузок. Последнее достигается предварительной загрузкой в кэш команд двух ветвей. Введение второго целочисленного тракта, состоящего из АЛУ, адресного блока, шин данных/команд, и работающего на общий блок регистров, повысило производительность поддержкой параллельной обработки целочисленных данных. Развитием данной тенденции стало обогащение Pentium MMX мультимедийным АЛУ, шинами данных/команд и дополнительным регистровым файлом.

При этом, в случае выборки двух целочисленных команд, зависящих по данным, каждая из них выполняется последовательно, что снижает эффективность работы процессора. Частично поправило ситуацию создание оптимизирующих рекомпиляторов, разделяющих по возможности такие команды.

Учитывая недостатки CISC архитектуры, компания Intel реализовала в Pentium Pro RISC-подобную организацию вычислений. Интерпретация команд х86 внутренними - RISC86 - инструкциями VLIW-формата помимо снижения нерегулярности их потока, обеспечила синхронную загрузку четырёх операционных - по два с плавающей и фиксированной запятой - АЛУ. Термин VLIW расшифровывается как "очень длинное командное слово" (Very Long Instruction Word). Инструкции этого формата содержат команды для всех параллельных АЛУ.

Обогащение управления обработкой предвыборкой данных и команд, предполагаемых к обработке в ближайшие 20 тактов, повысило регулярность загрузки вычислительных трактов. В свою очередь, осуществление предвыборки из интегрированного на кристалле кэш второго уровня, обслуживаемого раздельными шинами "интерфейс-кэш" и "кэш-АЛУ" и работающего на частоте АЛУ, повысило быстродействие подготовки команд в сравнении с внешними кэш. Дополнительное повышение производительности Pentium Pro обеспечило увеличение длины команд до 11 ступеней введением ступеней трансляции и предвыборки. Кроме того, интеграция кэш второго уровня позволила умножить частоту ядра в 5-6 раз.

В архитектуре Р6 RISC-решения впервые в семействе х86 перестали быть лишь дополнением CISC-средств повышения производительности - роста разрядности, отложенной записи шины и других. Поэтому частица PRO в названии первого процессора этой серии обозначает "Полноценная RISC-архитектура" (Precision RISC Organization).

Современные RISC-процессоры отличает развитие системы команд для сохранения программной совместимости и снижения трудоёмкости разработки программ. Это сближает технологии обработки команд процессорами упомянутых архитектур. Например, SuperSparc взяли от последних моделей х86 предсказание переходов и предварительную интерпретацию кода.

Развиваясь, каждая из рассмотренных архитектур, "отказавшись" от своих черт - CISC от скалярности вычислений, RISC от "простоты" системы команд, приобрела лучшие черты конкурента, что повысило характеристики её представителей.

Арифметико - логические устройства. Классификация АЛУ. Основные функции и характеристики АЛУ. Развитие структуры АЛУ.

Арифметико - логические устройства.

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

.

Набор выполняемых в АЛУ операций должен обладать функциональной полнотой. Чтобы обеспечить функциональную полноту достаточно четырех операций :

  • обращение к памяти для записи/чтения данных;

  • инкремент/декремент;

  • сравнение (реализует возможность условного перехода);

  • останов работы устройства.

В первых процессорах количество операций ограничивалось шестнадцатью, теперь достигает нескольких сотен.

Количество выполняемых операций является важной характеристикой АЛУ.

Классификация АЛУ

АЛУ можно классифицировать по ряду признаков, приведенных ниже.

1. Классификация по способу представления данных:

  • с фиксированной запятой;

  • с плавающей запятой.

2. Классификация по способу действия над операндами:

  • последовательные АЛУ, где каждая операция выполняется последовательно над каждым разрядом;

  • параллельные АЛУ, операция выполняется над всеми разрядами данных одновременно;

  • последовательно - параллельные АЛУ, где слово данных делится на слоги, обработка данных ведется параллельно над разрядами слога и последовательно над слогами.

3. Классификация по использованию систем счисления:

  • двоичная;

  • двоично- десятичная;

  • восьмеричная;

  • шестнадцатеричная;

  • и т.д.

4. Классификация по характеру использования элементов и узлов:

  • блочные- для выполнения отдельных арифметических операций в структуру АЛУ вводят специальные блоки, что позволяет процесс обработки информации вести параллельно;

  • конвейерные- в конвейерных АЛУ операция разбивается на последовательность микроопераций, выполняемых за одинаковые промежутки времени (такты) на разных ступенях конвейера, что позволяет выполнять операцию над потоком операндов каждый такт;

  • многофункциональные- это универсальные АЛУ, выполняющие множество операций в одном устройстве. В таких АЛУ требуется настройка на выполнение данной операции при помощи кода операции.

5.Классификация по временным характеристикам.

По временным характеристикам АЛУ делятся на:

  • синхронные- в синхронных АЛУ каждая операция выполняется за один такт.

  • асинхронные- не тактируемые АЛУ, обеспечивающие высокое быстродействие, так как выполняются на комбинационных схемах.

6.Классификация по структуре устройства управления:

  • АЛУ с жесткой логикой устройства управления;

  • АЛУ с микропрограммным управлением.