АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Базовые принципы организации микропроцессора

Читайте также:
  1. B. Основные принципы исследования истории этических учений
  2. I Психологические принципы, задачи и функции социальной работы
  3. I. Базовые цели.
  4. I. Основы экономики и организации торговли
  5. I. Сестринский процесс при гипертонической болезни: определение, этиология, клиника. Принципы лечения и уход за пациентами, профилактика.
  6. I. Сестринский процесс при диффузном токсическом зобе: определение, этиология, патогенез, клиника. Принципы лечения и ухода за пациентами
  7. I. Сестринский процесс при остром лейкозе. Определение, этиология, клиника, картина крови. Принципы лечения и ухода за пациентами.
  8. I. Сестринский процесс при пневмонии. Определение, этиология, патогенез, клиника. Принципы лечения и ухода за пациентом.
  9. I. Сестринский процесс при хроническом бронхите: определение, этиология, клиника. Принципы лечения и уход за пациентами.
  10. I. Сестринский процесс при хроническом гепатите: определение, этиология клиника. Принципы лечения и ухода за пациентами. Роль м/с в профилактике гепатитов.
  11. I. Структурные принципы
  12. II. Принципы процесса

АРХИТЕКТУРА МИКРОПРОЦЕССОРОВ

 

Любой процессор с точки зрения канонической схемы, отражающей базовые принципы его организации, объединяет в себе два устройства: операционное (операционный автомат) и управляющее (управляющий автомат) (рис. 5.1).

 

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

Управляющий автомат представляет собой устройство, координирующее действия узлов операционного автомата посредством управляющих сигналов. Эти сигналы вырабатываются управляющим автоматом с учетом признаков результатов выполнения текущих операций, поступающих с выхода операционного автомата. Их состав зависит от способности операционного автомата выполнять параллельно (в один такт) несколько микроопераций. Совокупность одновременно выполняемых микроопераций называют микрокомандой. Последовательность микрокоманд, интерпретирующая сложную команду (выполняемую не за один такт), образует микропрограмму. Таким образом, управляющий автомат определяет микропрограмму, регламентирующую последовательность наборов управляющих сигналов (микрокоманд), активизирующих операционный автомат на выполнение необходимых действий, связанных с выполнением очередной команды.

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

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

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

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

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

 

 

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

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

Интерпретация, как технология развития архитектуры вычислительных систем, используемая с начала 50-х годов, позволяет:

- расширять систему команд процессора без изменения (усложнения) его аппаратной части;

- отрабатывать новые сложные команды, восполняющие недостатки аппаратных средств, экспериментируя с интерпретаторами;

- следовать принципу преемственности в плане обеспечения возможности использования без изменений старого программного обеспечения;

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

Эти положительные моменты обусловили развитие технологии интерпретации в архитектурах компьютеров DEC VAX, Intel, IBM, получивших название CISC (Complex Instruction Set Computer – компьютер с полным набором команд). Это название появилось не сразу, а только после возникновения концепции RISC, о которой речь пойдет далее.

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

- все команды должны выполняться аппаратно операционным автоматом (должны быть внутренними);

- как можно большее число команд должно поступать в вычислительный тракт процессора в единицу времени, т.е. выполняться параллельно;

- в целях быстрого декодирования команды должны иметь однотипный формат с небольшим числом полей фиксированной длины;

- операции непосредственных вычислений над данными должны выполняться в формате команд типа «регистр, регистр → регистр» и должны быть отделены от функций обмена информацией между регистрами и оперативной памятью (команды «регистр ↔ память»);

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

Основная идея RISC-архитектуры – обеспечить высокую производительность вычислительной системы за счет выполнения пусть большего количества, но аппаратно реализуемых и параллельно обслуживаемых высокоскоростным конвейером (конвейерами) команд. Эта идея, к примеру, лежит в основе архитектуры SPARC (Scalable Processor ARChitecture– наращиваемая архитектура процессора), развиваемой фирмой Sun Microsystems в последовательности версий процессоров UltraSPARC I - UltraSPARC IV. В качестве RISC-ядра эта технология применена и в микропроцессорах Intel шестого поколения (P6). Для этого потребовалось дополнительное аппаратное обеспечение сведения традиционных команд архитектуры IA-32 (Intel Architecture 32 bit) к командам RISC-процессора. Кроме того, пришлось решать проблемы зависимости по данным, остро обозначившиеся из-за недостаточного количества регистров общего назначения и многое другое. Все эти недостатки были учтены при разработке совместными усилиями компаний Intel и Hewlett Packard архитектуры IA-64, на особенностях которой мы остановимся позже.

 


1 | 2 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)