Конспект лекций для специальностей 23020165 Информационные системы и технологии, 08080165 Прикладная информатика в экономике Шахты 2011г

Вид материалаКонспект

Содержание


Блок схема микропрограммы возврата из прерывания.
2. Особенности проектирования процессоров на базе
Архитектура ЭВМ на базе процессора Intel 8086
Структурная схема микропроцессора 8086.
Непосредственная (непосредственный операнд)
Пример кодирования и выполнения команды
20.3. Сигналы микропроцессора МП86.
Подобный материал:
1   2   3   4   5   6   7   8   9   10   11

Блок схема микропрограммы возврата из прерывания.





ЛЕКЦИЯ 5


1. Классификация ЭВМ по системе команд.


В настоящее время наибольшее распространение получили CISC -машины (Сomplete Instruction Set Computer), то есть компьютеры с полной (сложной) системой команд. В историческом плане это машины фирмы Intel. Эти машины имеют большое число команд (140-250) разных по действию и выполнению. Эти команды имеют неодинаковую длину (от 1 до 6 и более байт) и сложную систему адресации. Сложность команд приводит к тому, что микропрограммы и время их выполнения получаются большими. Из-за этого возрастает объем ПЗУ, в котором эти микропрограммы хранятся. Это приводит к тому, что микропрограммное управление и ПЗУ занимают большую часть кристалла процессора. Это вынуждает упрощать остальные функции процессора и увеличивать время выполнения команд.

В противоположность этому, IBM предложила свою архитектуру - RISC. RISC – это машины с сокращенной (упрощенной) системой команд. Основная идея заключается в том, что у этих машин сокращено число команд (первоначально их было 100, сейчас их около 200). Все команды имеют одинаковую длину и структуру. Число РОНов увеличено до 128. Преобладают команды типа регистр-регистр, поэтому они выполняются быстрее. Это дало возможность упростить структуру и схему процессора и за счет этого повысить частоту синхронизации. Все команды выполняются за один машинный такт. Недостаток: при реализации одного и того же алгоритма у RISC-машин длина программы больше. Однако за счет большей частоты процессора в целом выполнение программы получается быстрее.

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

Современные процессоры фирмы Intel в своем ядре имеют признаки RISC процессоров, которые сводятся к тому, что команды выполняются за один машинный такт. Для этого ядро проектируют с использованием принципа VLIW, т.е. с использованием команд очень большой длины, но исполняемых за один такт.

По существу внутренние команды процессора являются микрокомандами со смешанным принципом микропрограммирования. Для того, чтобы сохранить программную совместимость со старым программным обеспечением, процессор можно представить в виде 3 слоев.

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


2. Особенности проектирования процессоров на базе

микропроцессорных комплектов.


Процессоры могут быть спроектированы на базе однокристальных, многокристальных, секционированных и не секционированных комплектов.

Однокристальные процессоры имеют на кристалле три процессорных блока.


Операционный блок

Управляющий блок блок

Интерфейсный блок

ШД

ША

ШУ

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

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

Многокристальные процессорные комплекты делятся на секционированные и не секционированные.




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


Секционированный многокристальный комплект имеет такую структуру.




Этот комплект позволяет строить операционные блоки любой разрядности. На рисунке квадратами показаны секции блоков. Разрядность секции зависит от назначения блока. Так, например, в МПК К1804 секция операционного блока имеет 4 разряда. Микросхемы управляющего блока позволяют строить процессоры с любой архитектурой команд, так как проектировщикам становится доступным микрокомандный уровень .


Архитектура ЭВМ на базе процессора Intel 8086


Особенность структуры и архитектуры этого комплекта [1,3,7] заключается в организации памяти ЭВМ, точнее, в особенностях организации адресного пространства:
  1. Обращение к оперативной памяти и к периферийным устройствам выполняется с помощью разных команд. Адреса ОП и ПУ независимы друг от друга и могут совпадать. Это отличает, в частности, процессоры c архитектурой INTEL и DEC.
  2. Память разбивается на участки – сегменты, начальные адреса которых задаются в сегментных регистрах. Поэтому сегменты могут перекрываться и даже совпадать. Сегменты по назначению делятся на кодовые, сегменты данных и стековые. Для задания базовых адресов этих сегментов в процессоре используются регистры CS, DS, SS. Cегментация памяти позволяет динамическое перемещение программ, данных и стека без перетрансляции, задавая лишь другие базовые адреса в этих регистрах. Использование разных сегментов для программ и данных реализует идею гарвардской архитектуры ЭВМ.
  3. Адреса ЭВМ представляются в виде двух компонент: базового адреса сегмента и смещения относительно начала сегмента. Такой адрес называется логическим. В этой форме адрес сохраняется в стековой памяти, а также используется для указания пусковых адресов подпрограмм, обработчиков прерываний.
  4. Поскольку размеры сегментов могут быть разные, то при перезагрузке новый сегмент может размещаться на месте старого сегмента, если он меньше по объему. Это приводит к неэффективному использованию памяти. Начиная с третьего поколения ЭВМ, т.е. с 386 процессора, этот недостаток ликвидирован, благодаря введению страничной организации памяти. Для этого вся память разбивается на участки одинаковой длины – страницы небольшого объема 2-4 Кб. В этом случае сегмент оказывается размещенным на нескольких страницах, необязательно расположенных подряд. Для установления соответствия сегмента и используемых страниц применяется таблица размещения страниц.
  5. Адресное пространство этой ЭВМ определено в 1Мб. Поскольку адресные регистры процессора были определены в 16 разрядов, а для адресации пространства в 1Мб необходимо 20 разрядов, то полный физический адрес из логического стал формироваться так, как показано на рисунке.

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

Смещение адреса команды формируется и размещается в регистре IP процессора. Смещение операнда EA вычисляется процессором в соответствии с методом адресации в команде.


Структурная схема микропроцессора 8086.


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

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

Восемь 16-битовых регистров общего назначения (РОН) участвуют во многих командах. В этом случае РОН кодируются трехбитовым кодом, который размещается в соответствующем поле (или полях) команды. Регистры AX, BX, CX, DX используются прежде всего для хранения данных. Регистры SP, BP, SI, DI хранят главным образом адресную информацию: указательные регистры SP и BP хранят смещение адреса в пределах текущего стекового сегмента памяти, а индексные регистры SI и DI хранят смещение адреса соответственно в текущем сегменте данных и текущем дополнительном сегменте.

АЛУ содержит 16-битный комбинационный сумматор и наборы схем для выполнения логических и сдвиговых операций.

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




С целью уменьшения числа контактных ножек у микросхемы процессора, шина адреса и данных мультиплексирована, то есть на одних и тех же ножках передаются и адреса и данные, но раздельно во времени: сначала адрес, а затем данные. Данные на шинах процессора остаются до конца всего цикла.


ЛЕКЦИЯ 6


Базовая структура команд микропроцессора Intel 8086.


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




Разряд d определяет направление записи результата. Если d равно 1, то запись производится по первому адресу.

Разряд W определяет размер первого операнда в байтах. Если W равно нулю, то размер операнда равен одному байту, если единице, то двум байтам. Размер второго операнда всегда равен размеру первого.

Разряды поля r определяют номер регистра, где находится первый операнд.

Разряды поля r/m определяют номер регистра или смещение ЕА в сегменте оперативной памяти, где находится второй операнд. Это зависит от значения разрядов в поле md. Поля md и r/m определяют метод адресации второго операнда, то есть способ вычисления эффективного адреса ЕА - смещения адреса операнда.


Таблица методов адресации

Md

r/m

md

md

md

md=11

00

01

10

w=0

W=1

000

BX+SI

BX+SI+D8

BX+SI+D16

AL

AX

001

BX+DI

BX+DI+D8

BX+SI+D16

CL

CX

010

BP+SI

BP+SI+D8

BP+SI+D16

DL

DX

011

BP+DI

BP+DI+D8

BP+DI+D16

BL

BX

100

SI

SI+D8

SI+D16

AH

SP

101

DI

DI+D8

DI+D16

CH

BP

110

D16

BP+D8

BP+D16

DH

SI

111

BX

BX+D8

BX+D16

BH

DI



Названия методов адресации операндов:
  1. Регистровая. Операнд находится в одном из регистров.
  2. Прямая. Смещение адреса задается в виде константы disp в конце команды. Реализуется при md=00 и r/m=110.
  3. Косвенно-регистровая (когда D8 = 0).
  4. Базовая. Эффективный адрес операнда ЕА вычисляется путем суммирования содержимого базовых регистров ВХ или ВР и смещения disp. Однако следует иметь ввиду, что использование регистра ВР в этом и других методах адресации обязывает применять сегментный базовый адрес из регистра SS, то есть базовый адрес стекового сегмента.
  5. Индексная. ЕА вычисляется как сумма содержимого индексных регистров SI или DI и disp.
  6. Базово - индексная. ЕА равен сумме содержимого базового регистра ВХ или ВР, индексного регистра SI или DI и смещения disp.
  7. Непосредственная (непосредственный операнд). Используется для указания операнда data, находящегося в конце команды. При этом поле кода операции, поле d и r объединяются в одно общее поле уникального кода операции. Например, команды mov r,d и mov r/m,d имеют следующую структуру.


mov r, d




mov r/m, d






Пример кодирования и выполнения команды


Допустим, что необходимо выполнить команду сложения, один из операндов которой находится в регистре СХ и равен +3, а второй равен -10 и размещен в оперативной памяти с использованием адресации EA=SI. В этом случае команда будет иметь вид Add cx, ds:[si]. Числовой код этой команды в соответствии с таблицей методов адресации будет равен 030Bh и иметь длину 2 байта.





Команда размещается в кодовом сегменте (CS), операнд в сегменте данных (DS).

Пусть базовый адрес кодового сегмента равен 50020h, а смещение команды от начала сегмента равно 100h. В этом случае физический адрес команды будет равен 50120h, а логический CS:IP = 5002:0100.

Для операнда в памяти примем, что базовый адрес сегмента данных равен 10000h, а смещение – 300h. Таким образом, физический адрес операнда будет равен 10300h, а логический DS:EA = 1000:0300.

Учитывая, что первый операнд размещается в регистре СХ, имеющем размер в два байта, то и операнд в памяти должен иметь два байта. В этом случае десятичное число -10 в двоичной системе и прямом коде будет иметь вид 1000000000001010, а в дополнительном коде (так как оно отрицательное) такой вид 1111111111110110 (FFF6h). Результат операции будет равен (+3)+(-10) = (-7).

Он будет размещен в регистре СХ и равен FFF1h.



Таким образом, состояние регистров перед выполнением команды должно быть следующим :

CS = 5002h, IP = 0100h,

DS = 1000h, SI = 0300h,

CX = 0003h.

После выполнения команды –

IP = 0102h,

CX = FFF1h.


На рисунке показано размещение информации в оперативной памяти.


20.3. Сигналы микропроцессора МП86.


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

Шины адреса, данных и управления микропроцессора образуют локальную шину процессора (или просто шину процессора)




Микропроцессор синхронизируется сигналом CLK от генератора ГФ84 с частотой равной 1\3 от основной. Сигнал OSC с полной частотой и сигнал CLC используются системной шиной процессора.

Ниже приводятся основные сигналы микропроцессора 8086 (К1810 ВМ86). Сигналы, указанные в скобках, вырабатываются в максимальном режиме .



NMI

INTR

CPU

K1810

ВМ86

AD 0...

AD 15

CLK

AD 16 / (ST 3)

AD 17 / ST 4

AD 18 / ST 5

AD 19 / (ST 6)

RESET

READY

TEST



BHE / ST 7

HLDA

(RQ 1 / GT 1)



HOLD

(RQ 0 / GT 0)



M / IO / (ST 2)

DT /R / (ST 1)



ALE / (QS 0)



GND, +U



Назначение сигналов.


NMI – запрос немаскируемого прерывания.

INTR – запрос маскируемых прерываний.

CLK – синхросигнал.

RESET – сигнал сброса процессора.

READY – сигнал готовности шины к обмену, а также сигнал завершения

запущенной операции.

TEST – вход, сигнал которого опрашивается по команде процессора WAIT.

- сигнал переключения процессора в минимальный (5В),

максимальный (0В) режимы.

HLDA - сигнал разрешения прямого доступа

HOLD – запрос прямого доступа.

(RQ 1 / GT 1), (RQ 0 / GT 0) – сигналы, которые вырабатываются вместо HLDA и HOLD, если процессор находится в максимальном режиме, и означают запрос сопроцессора на работу RQ и разрешение на работу GT.

AD 0  AD 15 – шины адреса и данных с нулевого по пятнадцатый разряд.

AD 16 / ST 3...AD 19 / ST 6 – используются двояко: в фазе передачи адреса они выступают как адресные шины, а в фазе передачи данных на них выставляется состояние микропроцессора.

BHE/ST7 – обмен старшим байтом / разряд кода состояния процессора.

- приказ процессора на выполнение чтения.

- приказ выполнить операцию записи.

M/IO – при значении в 5В обмен будет с ОП, если 0В, то обмен будет с периферийными устройствами.

DI /R – сигнал управления направлением передачи информации в шинном формирователе; 5В – передача от процессора в шину, 0В – передача с шины в процессор.

- строб данных; сопровождает появление данных на системной шине.

ALE – строб адреса.

- сигнал разрешения прерываний.

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

ST 2, ST 1, ST 0 – код операции на системной шине:

0 – разрешение прерывания;

1 – чтение периферийного устройства;

2 – запись в периферийное устройство;

3 – останов.

4 – выборка команды из ОП;

5 – чтение ОП;

6 – запись в ОП;

7 – нет циклов шины.

QS 1, QS 0 – код операции с накопителем команд в процессоре:

0 – из накопителя команд выборки байта не происходит;

1 – из накопителя выбирается первый байт команды;

2 – очередь команд в накопителе очищается командой передачи управления;

3 – выборка из накопителя очередного байта.