Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
xta_5_laba.docx
Скачиваний:
10
Добавлен:
20.12.2018
Размер:
408.43 Кб
Скачать

Министерство науки и образования, молодёжи и спорта Украины

Харьковский национальный университет радиоэлектроники

Кафедра системотехники

Дисциплина: «Компьютерная схемотехника и архитектура компьютеров»

Лабораторная работа № 5 «Архитектура процессоров»

Выполнили:

ст. гр. КН-10-1

Цемма М.И.

Истомин А.Д.

Езлов А.И.

Принял:

доц. Иванов В.Г.

с оценкой «____________»

«____»_______________2011г.

Харьков 2011

Раздел 1 Назначение и структура процессора

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

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

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

  • арифметико-логическое устройство (АЛУ) ;

  • управляющее устройство (управляющий автомат) (УУ);

  • блок управляющих регистров (БУР);

  • блок регистровой памяти (местная память);

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

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

  • логические преобразования над логическими кодами фиксированной и переменной длины (над отдельными битами, группами бит, байтами и их последовательностями) ;

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

  • обработка алфавитно-цифровых слов переменной длины и др.

Рисунок 1. – Упрощенная структурная схема процессора

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

В процессорах ЭВМ применяют цифровые управляющие автоматы с хранимой в памяти логикой (микропрограммные управляющие устройства) и с «жесткой» логикой. Блок управляющих регистров предназначен для временного хранения управляющей информации. Он содержит регистры и счетчики, участвующие в управлении вычислительным процессом: регистры, хранящие информацию о состоянии процессора, регистр-счетчик адреса команды — счетчик команд, счетчики тактов, регистр запросов прерывания и др.

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

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

Адресные структуры основных памятей

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

Структуры и форматы команд, кодирование команд

Все возможные преобразования дискретной информации могут быть сведены к четырем основным видам:

1) передача информации в пространстве (например, из одного блока ЭВМ в другой);

2) передача информации во времени (хранение);

3) логические (поразрядные) операции;

4) арифметические операции.

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

а) команды арифметических операций для чисел с фиксированной и плавающей точками;

б) команды десятичной арифметики;

б) команды логических (поразрядных) операций (И, ИЛИ и др.)

г) команды передачи кодов;

д) команды операций ввода-вывода;

е) команды управления порядком исполнения команд (команды передачи управления);

ж) команды задания режима работы компьютера и др.

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

Рис.2 – Общая структура команд

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

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

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

Форматом команды называют ее структуру с разметкой номеров разрядов (бит), определяющих границы отдельных полей команды, или с указанием числа бит в определенных полях. Если ЭВМ выполняет М различных операций, то число разрядов в коде операции n= log2 М, например, при М = 200, n = 8.

Если основная память содержит 5 адресуемых ячеек (байт), то для представления только одного адреса (например, адреса первого операнда) необходимо в команде иметь адресное поле для одного операнда с числом разрядов Na =log2 S, например, при S = 16 Мбайт Na = 24. Вместе с тем, для упрощения аппаратуры и повышения быстродействия ЭВМ длина формата команды должна быть согласована с выбираемой, исходя из требований к точности вычислений, длиной обрабатываемых машиной слов (операндов), составляющей для большинства применений 16 - 32 бит. Проследим изменения классических структур команд. Чтобы команда содержала в явном виде всю необходимую информацию о задаваемой операции, она должна, как это показано на рис. 2а, содержать поле кода операции и четыре адреса для указания ячеек памяти, содержащих два операнда, участвующих в операции; ячейки, в которую помещается результат операции и ячейки, содержащей следующую команду. Такой порядок выборки команд называется принудительный. Он использовался в некоторых первых моделях ЭВМ. Для рассмотренного выше примера с М = 200 и S = 16Мбайт длина четырехадресной команды составила бы 104 бит. Такой формат команды окажется трудно реализуемым и неэффективным. Четырехадресные команды в настоящее время не применяются.

Можно установить, как это принято для большинства машин, что после выполнения данной команды, расположенной по адресу К (и занимавшей L ячеек) , выполняется команда из (К+L)-й ячейки. Такой порядок выборки команд называется естественным. Он нарушается только специальными командами. В таком случае отпадает необходимость указывать в команде в явной форме адрес следующей команды. В трехадресной команде (рис. 26) первый и второй адреса указывают ячейки памяти, в которых расположены операнды, а третий определяет ячейку, в которую помешается результат операции. Операция, описываемая трехадресной командой, может быть символически представлена в виде

ОП[АЗ] := 0ГЦА11 * ОП[А2],

где знак (*) заменяет символ операции (+, - и т. п.), а само выражение обозначает: содержимому ячейки оперативной памяти с адресом АЗ присвоить значение результата, который получится после выполнения операции (*) над содержимым ячеек памяти с адресами А1 и А2 Можно условиться, что результат операции всегда помешается на месте одного из операндов, например первого. Получим двухадресную команду (рис.2в)

0П[А1] := 0П[А1] * 0П[А2],

т. е. для результата используется подразумеваемый адрес.

В одноадресной команде (рис. 2г) подразумеваемые адреса имеют уже и результат операций, и один из операндов . Один из операндов указывается адресом в команде, в качестве второго используется содержимое регистра процессора, называемого в этом случае регистром результата или аккумулятором (Акк). Результат операции записывается в тот же регистр: Акк := Акк * 0П[А11,Наконец, в некоторых случаях возможно использование безадресных команд (рис. 2д), когда подразумеваются адреса обоих операндов и результата операции, например при работе со стековой памятью. С точки зрения программиста наиболее естественны и удобны трехадресные команды.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]