Реферат: Архитектура микропроцессора - структура и общая характеристика. Типы архитектур микропроцессоров

13.07.2019

Раздел 1 Архитектура микропроцессорного вычисления

Тема 1.1 Архитектура микропроцессора

План:

1 Архитектура микропроцессора. Классификация

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

Микропроцессорная система (МПС) представляет собой функционально законченное изделие, состоящее из одного или нескольких устройств, главным образом микропроцессорных: микропроцессора и/или микроконтроллера.

Микропроцессорное устройство (МПУ) представляет собой функционально и конструктивно законченное изделие, состоящее из нескольких микросхем, в состав которых входит микропроцессор; оно предназначено для выполнения определенного набора функций: получение, обработка, передача, преобразование информации и управление.

Микропроцессором (МП) называется программно-управляемое устройство, осуществляющее процесс цифровой обработки информации и управления им и построенное, как правило, на одной БИС.

Разные МП или МК объединяют в семейства как технология «микроядра», в качестве которого выступает процессорное ядро, взаимодействующее с периферийными устройствами различной номенклатуры, так и принципы, свойственные открытым системам: совместимость ( compatibility ), масштабируемость ( scalability ), переносимость ( portability ) и взаимодействие приложений ( introperability ).

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

На рисунке 1 приведена классификация современных микропроцессоров по функциональному признаку.

Рисунок 1 - Классификация современных микропроцессоров по функциональному признаку

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

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

Микроконтроллеры являются специализированными микропро-цессорами, которые ориентированы на реализацию устройств управления, встраиваемых в разнообразную аппаратуру. Характерной особенностью структуры микроконтроллеров является размещение на одном кристалле с центральным процессором внутренней памяти и большого набора периферийных устройств.

Цифровые процессоры сигналов (ЦПС) представляют класс специализированных микропроцессоров, ориентированных на цифровую обработку поступающих аналоговых сигналов. Специфической особенностью алгоритмов обработки аналоговых сигналов является необходимость последовательного выполнения ряда команд умножения-сложения с накоплением промежуточного результата в регистре-аккумуляторе. Поэтому архитектура ЦПС ориентирована на реализацию быстрого выполнения операций такого рода. Набор команд этих процессоров содержит специальные команды MAC (Multiplication with Accumlation ), реализующие эти операции.

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

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

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

Программный счетчик PC (или CS + IP в архитектуре микропроцессоров Intel );

Регистр состояния SR (или EFLAGS );

Регистры управления режимом работы процессора CR (Control Register );

Регистры, реализующие сегментную и страничную организацию памяти;

Регистры, обеспечивающие отладку программ и тестирование процессора.

Кроме того, различные модели микропроцессоров содержат ряд других специализированных регистров.

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

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

CISC ( Complex Instruction Set Computer ) - архитектура реализована во многих типах микропроцессоров, выполняющих большой набор разноформатных команд с использованием многочисленных способов адресации. Они выполняют более 200 команд разной степени сложности, которые имеют размер от 1 до 15 байт и обеспечивают более 10 различных способов адресации. Такое большое многообразие выполняемых команд и способов адресации позволяет программисту реализовать наиболее эффективные алгоритмы решения различных задач.

RISC ( Reduced Instruction Set Computer ) - архитектура отличается использованием ограниченного набора команд фиксированного формата. Современные RISC -процессоры обычно реализуют около 100 команд, имеющих фиксированный формат длиной 4 байта. Также значительно сокращается число используемых способов адресации. Обычно в RISC -процессорах все команды обработки данных выполняются только с регистровой или непосредственной адресацией.

VLIW ( Very Large Instruction Word ) - архитектура появилась относительно недавно - в 1990-х годах. Ее особенностью является использование очень длинных команд (до 128 бит и более), отдельные поля которых содержат коды, обеспечивающие выполнение различных операций. Таким образом, одна команда вызывает выполнение сразу нескольких операций параллельно в различных операционных устройствах, входящих в структуру микропроцессора.

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

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

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

Вывод:

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

­ Контрольные вопросы:

1 Что такое микропроцессор?

2 Как классифицируются современные микропроцессоры по функции-ональному признаку?

3 Перечислите варианты архитектур процессоров.

4 Поясните особенности CISC архитектуры процессоров.

5 Поясните особенности RISC архитектуры процессоров.

Литература

1. Д. Гивоне, Р. Россер. Микропроцессоры и микрокомпьютеры. Вводный курс. Перевод с английского. – М.: Мир, 1983.

2. Д. Корфрон. Технические средства микропроцессорных систем. Практический курс. Перевод с английского. – М.: Мир, 1983.

3. С.Т. Хвощ, Н.Н. Варлинский, Е.А. Попов. Микропроцессоры и микроЭВМ в системах автоматического управления. Справочник. – Л.: Машиностроение, 1987.

4. Р. Токхайм. Микропроцессоры: курс и упражнения. Перевод с английского, под ред. В.Н. Грасевича – М.: Энергоатомиздат, 1988.


1. ЭВМ и микроЭВМ. Общие сведенья.

Поколения ЭВМ.

В 1949г. создана первая ЭВМ на лампах. В 1951 году была создана первая промышленная ЭВМ (Univac I). В этом же году появилась и в СССР Киев у Глушкова первая ЭВМ. Это были машины первого поколения.

Второе поколение – на транзисторах и полупроводниках (Проминь, Днепр, Минск).

В 1959г. изобрели интегральные схемы.

В 1965г. был создан первый миникомпьютер. (В СССР – М6000, М40-30, БЭСМ, машины ряда ЕС). Миникомпьютеры уже не были всецело предназначены для обработки данных и решения задач; их начали включать как составные части в системы, требовавшие быстрого принятия решений, - системы реального времени .

С появлением в 1971г. микропроцессоров началась эра программируемой логики.

Микропроцессор – это программируемое логическое устройство, изготовленное по БИС-технологии. В конструкцию микропроцессора заложена большая гибкость. Сам по себе он не может решить ту или иную конкретную задачу. Чтобы решить задачу, его нужно запрограммировать и соединить с другими устройствами. В их число входят память и устройства ввода/вывода.



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


Типовая структура ЭВМ.

Типовая ЭВМ включает пять функциональных блоков: устройство ввода, память, арифметическое устройство, устройство управления и устройство вывода.

Рис. 1.1. Принцип организации ЭВМ

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

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

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

Память

Запоминание и хранение больших объемов информации происходит в памяти, точнее в запоминающем устройстве . ЗУ подразделяются на подблоки, называемые регистрами , каждый из которых способен хранить одно машинное слово. Группа двоичных цифр, обрабатываемых одновременно, называется машинным словом , а число двоичных цифр, составляющих слово, называется длиной слова . Типичные микроЭВМ имеют длину слова 4, 8, 12, 16 двоичных разрядов. В силу особой распространенности слово длиной 8 бит имеет специальное название – байт .

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

Арифметическое устройство (АУ)

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

Главный регистр в АУ – аккумулятор .

Имеется в АУ несколько рабочих регистров для кратковременного хранения результатов вычисления.

АУ содержит также признаковые биты – флажки . Флажки содержат информацию, характеризующую состояние процессора и результаты сравнения чисел. Состояние флажков вместе с другой важной информацией о состоянии ЭВМ хранится в специальном регистре – слове состоянии программы (PSW – program status word).

Устройство управления (УУ)

УУ управляет работой ЭВМ. Оно автоматически, последовательно по одной, получает команды из памяти, декодирует каждую из них и генерирует необходимые для ее выполнения сигналы.

В УУ находится программный счетчик для указания адреса очередной команды. При получении в УУ команды содержимое счетчика автоматически увеличивается на 1.

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

Необходимо адрес ячейки различать с ее содержимым и не путать эти понятия.

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

Устройство ввода/вывода (УВВ)

Через устройство ввода/вывода осуществляется контакт ЭВМ с внешним миром. Они являются буферами для преобразования информации с тех языков, уровней и тех скоростей, на которых работает ЭВМ, к тем, которые воспринимает человек или другая связанная с ЭВМ система. УВВ представляет собой периферийные устройства ЭВМ. Точки контакта между УВВ и ЭВМ называются портами ввода/вывода.


Архитектура микропроцессора.

МикроЭВМ

МикроЭВМ – это система с шинной организацией, состоящая из модулей или блоков, реализованных в виде БИС. Эти модули обрабатывают информацию, управляют потоком и интерпретацией команд, управляют работой шин, хранят информацию и осуществляют взаимодействие между микроЭВМ и ее окружением. Это взаимодействие осуществляют блоки, называемые портами ввода/вывода. Каждый такой порт является интерфейсом между микропроцессором и каким-либо внешним устройством (например, терминалом, внешней памятью, измерительным прибором и др.). Взаимодействие блоков осуществляется при помощи шин трех типов: адресных шин, шин данных и управляющих шин.


Рис. 2.1. Структура микроЭВМ с шинной организацией


Структура микропроцессора

Рис. 2.2. Гипотетический МП

В приведенном гипотетическом микропроцессоре:

· программный счетчик (счетчик команд), стек и регистр команд служат для обработки команд;

· АЛУ, триггер переноса, общие регистры, регистр адреса данных служат для обработки данных;

· остальные компоненты – дешифратор команд, БУС – управляют работой микропроцессора в целом.

Взаимодействие компонентов осуществляется по внутренним каналам передачи данных. Связь МП с другими блоками (ЗУ и устройства ввода/вывода) происходит по адресной шине, шине данных и шине управления.

Микропроцессор работает со словами, состоящими из 8 битов, называемых байтами.

Адресная шина МП однонаправленная, а шина данных двунаправленная. Управляющая шина состоит из 5 линий, ведущих к блоку управления и синхронизации и 8 выходящих из него линий. По этим линиям передаются управляющие и тактирующие сигналы между компонентами микропроцессора и между МП и другими блоками микроЭВМ.

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

В то время как слово данных всегда состоит из одного байта, команда может состоять из 1, 2 или 3 байтов. Первый байт любой команды поступает из памяти по шине данных на регистр команд . Этот первый байт подается на вход дешифратора команд, который определяет ее смысл. В частности, дешифратор определяет, является ли команда однобайтной или она состоит из большого числа байтов. В последнем случае дополнительные байты передаются по шине данных из памяти и принимаются или на регистр адреса данных, или на один из общих регистров.

Регистр адреса данных содержит адрес операнда для команд, обращающихся к памяти, адрес порта для команд ввода/вывода или адрес следующей команды для команд перехода.

Пятнадцать 8-битовых общих регистров содержат операнды для всех команд, работающих с данными. Для указания этих регистров используются 4-битовые коды от 0000 до 1110. Регистр 0000 называется аккумулятором (АК) и участвует во всех арифметических и логических операциях (в АК содержится один из операндов перед началом выполнения операции и в АК загружается результат после ее выполнения). Обычно обращение к общим регистрам осуществляется при помощи R-селектора или r-селектора . R-селектор позволяет обращаться к любому регистру, тогда как через r-селектор доступны только три первые регистры.

Важной возможностью МП является косвенная адресация. Задание несуществующего регистра общего назначения 1111используется как указание на то, что нужно обратиться к байту памяти по 16-разрядному адресу, который получается комбинированием содержимого двух фиксированных общих регистров. Старшие 8 разрядов адреса – из регистра 0001, а следующие 8 разрядов – из регистра 0010 (часто эти регистры называют H и L соответственно).

Все арифметические и логические операции выполняются в арифметико-логическом устройстве (АЛУ) . Входами АЛУ служат две 8-битовые шины. Одна из них идет от аккумулятора (регистр 0000), а другая – от R-селектора, который выбирает либо один из регистров общего назначения от 0000 до 1110, либо ячейку памяти, если задана косвенная адресация. Еще одна входная линия поступает в АЛУ от триггера переноса С, который участвует в некоторых арифметических и логических операциях. Результаты из АЛУ передаются в аккумулятор по выходной 8-битовой шине. Существуют еще две линии, идущие от АЛУ к блоку управления и синхронизации; они передают информацию о наличии или отсутствии двух особых условий: аккумулятор содержит нули (линия Z) и старший разряд аккумулятора равен 1 (линия N). Триггер переноса и обе линии состояния АЛУ Z и N называются флажками и используются в командах условного перехода.

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

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

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

Основой любого МП (рис.14) является арифметико-логиче­ское устройство АЛУ, выполняющее обработку информации - арифметические и логические действия над исходными данными и соответствии с командами. Сами данные (исходные, промежу­точные и конечный результат) находятся в регистрах данных РД, а команды - в регистре команд РК. Управление всеми процесса­ми по вводу и выводу информации, взаимодействию между АЛУ, РД и РК осуществляет многофункциональное устройство управ­ления УУ. Данные, команды и управляющие сигналы передаются по внутренней шине ВШ.

Рис.14 Типовая структурная схема МП

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

В течение каждого цикла команды ЦП выполняет много управляющих функций:

1) помещает адрес команды в адресную шину памяти;

2) получает команду из шины ввода данных и дешифрирует ее;

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

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

5) следит за управляющими сигналами, такими как прерывание, и реагирует соответствующим образом;

6) генерирует сигналы состояния, управления и времени, которые необходимы для нормальной работы УВВ и памяти.

Таким образом, ЦП является «мозгом», определяющим действия ЭВМ.

Рис.15 Цикл команды процессора

По характеру исполняемого кода и организации устройства управления выделяется несколько типов архитектур:

- Процессор со сложным набором инструкций , англ. CISC - Complex Instruction Set Computer . Эту архитектуру характеризует большое количество сложных инструкций, и как следствие сложное устройство управления. В ранних вариантах CISC-процессоров и процессоров для встроенных приложений характерны большие времена исполнения инструкций (от нескольких тактов до сотни), определяемые микрокодом устройства управления. Для высокопроизводительных суперскалярных процессоров свойственны глубокий анализ программы, внеочередное исполнение операций.


- Процессор с упрощённым набором инструкций , англ. RISC - Reduced Instruction Set Computer . В этой архитектуре значительно более простое устройство управления. Большинство инструкций RISC-процессора содержат одинаковое малое число операций (1, иногда 2-3), а сами командные слова в подавляющем числе случаев имеют одинаковую ширину (PowerPC, ARM), хотя бывают исключения (Coldfire). У суперскалярных процессоров - простейшая группировка инструкций без изменения порядка исполнения.

- Процессор с явным параллелизмом , англ. EPIC - Explicitly Parallel Instruction Computer (-ing , термин ® Intel, HP). Отличается от прочих прежде всего тем, что последовательность и параллельность исполнения операций и их распределение по функциональным устройствам явно определены программой. Такие процессоры могут обладать большим количеством функциональных устройств без особого усложнения устройства управления и потерь эффективности. Обычно такие процессоры используют широкое командное слово, состоящее из нескольких слогов, определяющих поведение каждого функционального устройства в течение такта.

- Процессор с минимальным набором инструкций , англ. MISC - Minimal Instruction Set Computer . Эта архитектура определяется прежде всего сверхмалым количеством инструкций (несколько десятков), и почти все они нуль-операндные. Такой подход даёт возможность очень плотно упаковать код, выделив под одну инструкцию от 5 до 8 бит. Промежуточные данные в таком процессоре обычно хранятся на внутреннем стеке, и операции производятся над значениям на вершине стека. Эта архитектура тесно связана с идеологией программирования на языке Forth и обычно используется для исполнения программ, написанных на этом языке.

- Процессор с изменяемым набором инструкций , англ. WISC - Writable Instruction Set Computer . Архитектура, позволяющая перепрограммировать себя, изменяя набор инструкций, подстраивая его под решаемую задачу.

- Транспорт-управляемый процессор , англ. TTA - Transort Triggered Architecture . Архитектура изначально ответвилась от EPIC, но принципиально отличающаяся от остальных тем, что инструкции такого процессора кодируют функциональные операции, а так называемые транспорты - пересылки данных между функциональными устройствами и памятью в произвольном порядке.

По способу хранения программ выделяется две архитектуры:

- Архитектура фон Неймана . В процессорах этой архитектуры используется одна шина и одно устройство ввода-вывода для обращения к программе и данным.

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

По организации регистрового файла ФУ можно выделить следующие типы процессоров.

- Регистровая архитектура - характеризуется свободным доступом к регистрам для выборки всех аргументов и записи результата. Элементарны арифметико-логические операции в таких процессорах кодируются в двух-, или трёхоперандные инструкции (регистр+регистр→регистр, иногда регистр результата совпадает с источником одного из агрументов).

- Аккумуляторная архитектура - из регистров выделяется один из несколько регистров-аккумуляторов. Регистр-аккумулятор является источником одного из аргументов и приёмником результата вычислений. Операции кодируются как правило в однооперандные инструкции (аккумулятор+операнд→аккумулятор). Такая архитектура характерная для многих CISC-процессоров (напр. Z80).

- Стековая архитектура - определяется организацией регистрового файла в виде стека, и косвенной адресацией регистров через указатель стека, который определяет положение вершины стека, операции производятся над значениями на вершине стека и результат кладётся также на вершину. Арифметические операции кодируются в нуль-операндные инструкции. Стековая архитектура является неотъемлемой частью MISC-процессоров.

Архитектура микропроцессора

Режимы адресации

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

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

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

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

Типы архитектур

Существует несколько подходов к классификации микропроцессоров по типу архитектуры. Так, выделяют МП с CISC (Complete Instruction Set Computer) архитектурой, характеризуемой полным набором команд, и RISC (Reduce Instruction Set Computer) архитектурой, которая определяет систему с сокращенным набором команд одинакового формата, выполняемых за один такт МП.

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

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

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

К данному типу архитектуры относится микропроцессор фирмы Zilog. Процессор Z80 - детище фирмы Zilog помимо расширенной системы команд, одного номинала питания и способности исполнять программы, написанные для i8080, имел архитектурные "изюминки".

Рисю 2.5. Микропроцессор Z80 фирмы Zilog.

В дополнение к основному набору РОН, в кристалле был реализован второй комплект аналогичных регистров. Это значительно упрощало работу при вызове подпрограмм или процедур обслуживания прерываний, поскольку программист мог использовать для них альтернативный набор регистров, избегая сохранения в стеке содержимого РОНов для основной программы с помощью операций PUSH. Кроме того, в систему команд был включен ряд специальных инструкций, ориентированных на обработку отдельных битов, а для поддержки регенерации динамической памяти в схему процессора введены соответствующие аппаратные средства. Z80 применялся в машинах Sinclair ZX, Sinclair Spectrum, Tandy TRS80.

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

МП фирмы Motorola имел ряд существенных преимуществ. Прежде всего, кристалл МС6800 требовал для работы одного номинала питания, а система команд оказалась весьма прозрачной для программиста. Архитектура МП также имела ряд особенностей.

Рис 2.6. Микропроцессор МС6800 фирмы Motorola.

Микропроцессор МС 6800 содержал два аккумулятора, и результат операции АЛУ мог быть помещен в любой из них. Но самым ценным качеством структуры МС 6800 было автоматическое сохранение в стеке содержимого всех регистров процессора при обработке прерываний (Z80 требовалось для этого несколько команд PUSH). Процедура восстановления РОН из стека тоже выполнялась аппаратно.

2. Стековая архитектура дает возможность создать поле памяти с упорядоченной последовательностью записи и выборки информации.
В общем случае команды неявно адресуются к элементу стека, расположенному на его вершине, или к двум верхним элементам стека.
3. Архитектура МП, ориентированная на оперативную память (типа "память-память"), обеспечивает высокую скорость работы и большую информационную емкость рабочих регистров и стека при их организации в оперативной памяти.
Архитектура этого типа не предполагает явного определения аккумулятора, регистров общего назначения или стека; все операнды команд адресуются к области основной памяти.

С точки зрения важности для пользователя-программиста под архитектурой в общем случае понимают совокупность следующих компонентов и характеристик:
- разрядности адресов и данных;
- состава, имен и назначения программно-доступных регистров;
- форматов и системы команд;
- режимов адресации памяти;
- способов машинного представления данных разного типа;
- структуры адресного пространства;
- способа адресации внешних устройств и средств выполнения операций ввода/вывода;
- классов прерываний, особенностей инициирования и обработки прерываний.

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

Основные понятия

Микропроцессор — это программно-управляемое устройство в виде интегральной микросхемы (БИС или СБИС), предназначенное для обработки цифровой информации. Поскольку все современные микро-процессоры имеют интегральное исполнение, синонимом микропроцессора стал термин процессор.

Микроконтроллер — это специализированный процессор, предназначен-ный для реализации функций управления (control— управление).

{xtypo_quote}Цифровой сигнальный процессор(Digital Signal Processor — DSP) — это специа-лизированный процессор, предназначенный для обработки цифровых сигналов. {/xtypo_quote}
Микропроцессорная система представляет собой функционально законченное изделие, состоящее из нескольких цифровых устройств, включая процессор. Это понятие объединяет широкий набор законченных изделий, начиная с микроконтроллеров, выполненных на интегральных микросхемах, и кон-чая компьютерными системами, представляющими собой набор отдельных конст-руктивно оформленных устройств (системный блок, клавиатура, монитор и др.). В дальнейшем рассматриваются простейшие (однокристальные) микропроцес-сорные системы, содержащие помимо процессора основную память и устройства ввода/вывода. Такие микропроцессорные системы можно отнести к классу микро-процессоров.

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

● физическую организацию в виде принципиальной схемы;

● логическую организацию в виде структурно-функциональной схемы.

В дальнейшем рассматривается организация микропроцессоров на логиче-ском уровне, или структурно-функциональная организация процессоров.

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

{xtypo_quote}Например, современные 32-разрядные процессоры х86 с архитектурой IA-32 (Intel Architecture — 2 bit) имеют стандарт-ный набор регистров, общую систему основных команд, одинаковые способы организации и адресации памяти, защиты памяти и обслуживания прерываний. Отметим, что понятие архитектуры в большей степени характеризует свойства системы, чем устройства. {/xtypo_quote}

Основные виды архитектур

По форматам используемых команд (инструкций) можно выделить:

● CISC-архитектуру, которая относится к процессорам (компьютерам) с полным набором команд (Complete Instruction Set Computer— CISC). Она реализова-на во многих типах микропроцессоров (например Pentium), выполняющих большой набор разноформатных команд с использованием многочисленных способов адресации.

Система команд процессоров с CISC-архитектурой может содержать не-сколько сотен команд разного формата (от 1 до 15 байт), или степени слож-ности, и использовать более 10 различных способов адресации, что позволя-ет программисту реализовать наиболее эффективные алгоритмы решения различных задач.

Развитие традиционных CISC

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

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

{xtypo_quote}Большинство команд RISC -процессоров связано с операцией регистр-регистр. Для обращения к памяти оставлены наиболее простые с точки зре-ния временных затрат операции загрузки в регистры и записи в память. {/xtypo_quote}

Современные RISC -процессоры реализуют около 100 команд, имеющих фиксированный формат длиной 4 байта, и используют небольшое число наи-более простых способов адресации (регистровую, индексную и некоторые другие).

Для сокращения количества обращений к внешней оперативной памяти RISC -процессоры содержат десятки-сотни регистров общего назначения (РОН), тогда как в CISC -процессорах всего 8-16 регистров. Обращение к внешней памяти в RISC-процессорах используется только в операциях за-грузки данных в РОН или пересылки результатов из РОН в память. За счет со-кращения аппаратных средств, необходимых для декодирования и выполне-ния сложных команд, достигается существенное упрощение интегральных схем RISC-процессоров и снижение их стоимости. Кроме того, значительно повышается производительность. Благодаря указанным достоинствам во многих современных
CI SC -процессорах (последние модели Pentium и К7) ис-пользуется RISC-ядро. При этом сложные CI SC-команды предварительно преобразуются в последовательность простых RISC-операций и быстро вы-полняются RISC-ядром;

● VLIW-архитектуру, которая относится к микропроцессорам с использованием очень длинных команд (Very Large Instruction Word— VLIW). Отдельные поля команды содержат коды, обеспечивающие выполнение различных операций. Одна VLIW -команда может выполнить сразу несколько операций одновремен-но в различных узлах микропроцессора. Формирование «длинных» VLIW - koманд производит соответствующий компилятор при трансляции программ, написанных на языке высокого уровня.

{xtypo_quote}VLIW -архитектура реализована в неко-торых типах современных микропроцессоров и является весьма перспектив-ной для создания нового поколения сверхвысокопроизводительных процес-соров. {/xtypo_quote}

По способу организации выборки команд и данных различа-ют два вида архитектур:

● принстонская архитектура, или архитектура фон-Неймана, особенностью которой является (рис. 2.1.1) использование:

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

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

Недостаток принстонской архитектуры

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

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

Недостатки гарвардской архитектуры

Усложнение конструкции из-за ис-пользования отдельных шин для команд и данных; фиксированный объем па-мяти для команд и данных; увеличение общего объема памяти из-за невоз-можности ее оптимального перераспределения между командами и данными. Гарвардская архитектура получила широкое применение в микроконтрол-лерах — специализированных микропроцессорах для управления различными объектами, а также во внутренней структуре современных высокопроизводи-тельных микропроцессоров в кэш-памяти с раздельным хранением команд и данных.

В то же время во внешней структуре большинства микропроцессор-ных систем реализуются принципы принстонской архитектуры.

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