структура процессора

5. Функциональная и структурная организация процессора.
5.1.Структура простейшего процессора. Алгоритм работы процессора.       Концепция RISC - архитектуры 
     Процессор - основная часть компьютера, осуществляющая управление (эти возможности реализуются при помощи логических операций) и обработку данных. Переход от первых процессоров( имевших простую архитектуру и работавших на частотах 2,5 - 4 МГц к современным процессорам, выполненным на СБИС( включающих в себя десятки миллионов транзисторов (, работающих на частотах 200 - 500 МГц( сопровождается переходом к более совершенным и мощным компьютерам. Процессор предназначен для выполнения последовательности команд, записанных в оперативной памяти компьютера. Структура процессора (рис.4.1.), позволяющая реализовать его функции( включает в себя(
·устройство управления (УУ), дешифрирующее команды и вырабатывающее сигналы управления для блоков, выполняющих эти команды;
·арифметико-логическое устройство (АЛУ), выполняющее арифметические и логические операции;
·блок регистров общего назначения (РОН)( позволяющий выполнять операции с предельно высокой скоростью;
·блоки сверхоперативной памяти (Кэш 1-го уровня) для хранения команд и данных. Введение Кэш позволяет уменьшить количество обращений к оперативному запоминающему устройству компьютера для чтения последовательности команд и данных;
·блоки, осуществляющие интерфейс с памятью компьютера. Они обеспечивают связь с внешним оперативным запоминающим устройством или блоком быстрой памяти (Кэш 2-го уровня)( устанавливаемым между процессором и оперативной памятью;
·системный интерфейс( который обеспечивает связь процессора с системными блоками компьютера и внешними устройствами (ВУ). 
[ Cкачайте файл, чтобы посмотреть картинку ]
Рисунок 4.1. Структурная схема простейшего процессора.
Команда, считанная из ОЗУ, определяет вид действий над операндами, адреса операндов и адрес результата операции. Дешифрация команды в процессоре может быть сразу полной или частичной. При частичной дешифрации часть кода команды передаётся в АЛУ и дешифрируется при выполнении операции.
Алгоритм работы процессора:
Процессор обеспечивает выборку команды из памяти и её выполнение. Алгоритм работы процессора включает следующие шаги(
1. Определение адреса команды
Адрес команды хранится в регистре счетчике команд и( в случае линейного выполнения программы( после выполнения каждой команды счетчик команд увеличивает содержимое на количество слов команды. В случае безусловного перехода в счетчик команд записывается адрес перехода. В современных процессорах выборка команд производится целым блоком( который записывается во внутренний КЭШ команд. Команды выполняются конвейером команд( таким образом( что одновременно может выполняться несколько команд на разных ступенях конвейера. Специальное устройство предсказывает последовательность выполнения команд( и производится опережающее выполнение тех команд( операнды, которых на данный момент определены. Если действительный порядок выполнения команд отличается от предсказанного( последовательность команд выгружается из конвейера и производится загрузка конвейера новой последовательностью команд.
2. Выборка адреса команды
Для чтения блока команд из оперативной памяти процессор устанавливает адрес блока команд на шине адреса и производит выборку.
3. Выборка команды
Блок сопряжения выполняет ввод блока команд через интерфейс с памятью. Блок команд запоминается в КЭШ команд.
4. Дешифрация команды
Если команда состоит из нескольких слов( то в дешифратор кода команды передается только первое слово команды( которое содержит код операции и признаки адресации. В этом случае по первому слову определяется длина команды, и выбор следующих слов происходит по мере необходимости. Процесс дешифрации может быть разделен на первичную и вторичную. Первичная дешифрация определяет тип команды ( ее цель - определяет к какой группе команд относится данная команда. Первичная дешифрация позволяет уменьшить объем алгоритма обработки программ за счет одинаковой обработки команд одного типа. Вторичная дешифрация выполняется на более поздних этапах( обычно после вычисления адресов операндов. Для команд арифметико-логической группы вторичная дешифрация может выполняться непосредственно в АЛУ;
5. Вычисление адресов операндов. Если команда адресная( то на следующем этапе вычисляются адреса операндов. Вычисление адреса и выборка для каждого операнда чередуются. Адрес операнда( если он является адресом ячейки ОЗУ( помещается в регистр адреса памяти;
6. Выборка операндов
Выборка операндов производится для большинства адресных команд арифметико-логической группы. Содержимое ячейки памяти вводится в процессор для выполнения операции в АЛУ процессора. Если операнды размещаются во внутренних регистрах процессора( то операция выполняется значительно быстрее( чем при извлечении данных из памяти. Данные из оперативной памяти извлекаются блоками( которые помещаются в КЭШ данных внутри процессора.
7. Исполнение операции
На этой стадии( если это необходимо( производится вторичная дешифрация команды непосредственно в АЛУ( где и выполняется операция над подготовленными заранее операндами. Кроме арифметических или логических операций могут выполняться операции по пересылке операндов( в этом случае операнд извлекается из соответствующего регистра и пересылается на место операнда- приемника. Если выполняется команда безусловного перехода( то вычисленный адрес перехода записывается в регистр - счетчик команд. Команды вызова подпрограмм требуют запоминания состояния вычислительного процесса. Для этого используется сохранение данных в стеке (области памяти( предназначенной для записи данных в определенной последовательности и их последовательного извлечения). Для записи данных в стек и их извлечения из стека используется специальный адресный регистр( автоинкрементно изменяющий адрес. Указатель стека всегда указывает на следующую после последнего обращения к стеку ячейку памяти.
8. Запись результата
После выполнения команды результат операции обычно помещается в регистр аккумулятор. Затем он должен быть записан в оперативную память и ( если это необходимо( выведен на внешнее запоминающее устройство( на дисплей монитора или передано другому внешнему устройству. Ввод и вывод информации для освобождения центрального процессора производят специальные каналы ввода/вывода. При этом канал управляется процессором ввода/вывода, который анализирует ситуацию и осуществляет обмен.
 Способ реализации команд зависит от архитектуры процессора. Традиционно( архитектура процессора развивалась в двух конкурирующих направлениях( с сокращенным набором команд - RISC (Reduced Instruction Set Computer) и с полным набором команд - CISC (Complex Instruction Set Computer).
Идея архитектуры RISC возникла в связи с развитием интеграции полупроводниковых схем и стремлением реализовать минимальными аппаратными средствами достаточно высокие вычислительные возможности. Задачи оптимизации структуры и технических возможностей реализовались в компьютерах с архитектурой фон - Неймана в идее Мини-ЭВМ( а в архитектуре процессора в идее RISC - архитектуры.

5.2. Концепция 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 от "простоты" системы команд, приобрела лучшие черты конкурента, что повысило характеристики её представителей. 

Заголовок 315

Приложенные файлы

  • doc 26698811
    Размер файла: 59 kB Загрузок: 0

Добавить комментарий