Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МП_лекции 2011.DOC
Скачиваний:
14
Добавлен:
18.09.2019
Размер:
2.13 Mб
Скачать

Однокристальный микропроцессор

ИС К580ВМ80А (Intel8080) - представляет собой восьмиразрядный однокристальный микропроцессор с фиксированной системой команд, выполненный по n-МОП технологии в 40-выводном корпусе. Максимальная тактовая частота - 2,0 Mhz.

Микропроцессор имеет раздельные 16-разрядный канал адреса и 8-разрядный канал данных. Канал адреса обеспечивает прямую адресацию внешней памяти объемом до 65536 байт, 256 устройств ввода и 256. устройств вывода.

Условное обозначение и назначение выводов микропроцессора К580ВМ80А представлены на рис.

10 D0 CPU A0 25 D0-D7 - магистраль (шина) данных;

9 D1 A1 26 A0-A16 – адресная магистраль (шина);

8 D2 A2 27 С1, С2 – тактовые импульсы;

7 D3 A3 29 HLD – запрос захвата;

3 D4 A4 30 HLDA – подтверждение захвата;

4 D5 A5 31 INT – запрос прерывания;

5 D6 A6 32 INTA – подтверждение прерывания;

6 D7 A7 33 RDY - готовность;

A8 34 SR – сброс (инициализация);

22 C1 A9 35 WI - ожидание;

15 C2 A10 1 WR - выдача данных;

A11 40 DBIN - прием данных;

13 HLD A12 37 SYN - сигнал синхронизации;

14 INT A13 38 Ucc1 - +5 V;

23 RDY A14 39 Ucc2 - +12 V;

A15 36 Uio – напряжение смещения -5 V;

12 о SR GND - общий.

HLDA 21

INTA 16

2

Рис. . Условное обозначение и назначение выводов микропроцессора К580ВМ80А

6 Ucc1 WI 24

20 Ucc2 WR о 18

28 Uio DBIN 17

2 GND SYN 19

Внутренняя структура микропроцессора К580ВМ80А представлена на рис.1. С помощью магистралей адреса SA и данных SD микропроцессор может обмениваться цифровой информацией с памятью и внешними устройствами, а также обрабатывать эту информацию и управлять процессом этой обработки. Восьмиразрядное арифметико-логическое устройство (АЛУ) микропроцессора обеспечивает выполнение арифметических и логических операций над двоичными данными, а также обработку двоично-десятичных чисел с помощью схемы десятичной коррекции.

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

R A (16) Буфер

С шины

INT х PC (16) адреса

е

м Дешиф- SP (16)

INTE а

ратор B (8) C (8)

у A0 - A15

HLD п выбора D (8) E (8)

р Дешиф-

а ратор регистра H (8) L (8)

HLDA в команд D0 - D7

л W (8) Z (8)

е

н Мультиплексор

SR и

я

Регистр Буфер

и команд шины

C1 RC (8) Внутренняя шина данных (8) данных

c

и

C2 н

х

р Регистр флагов Аккумулятор Схема WR

о F (8) A(8) управ-

RDY н ления

и Арифметико- обме-

з логическое ном DBIN

WI а Схема устройство

ц десятичной (АЛУ)

и коррекции

SYN и

Рис. Внутренняя структура микропроцессора 8080 (К580ВМ80А).

Таблица1. Структура регистра признаков

D7

D6

D5

D4

D3

D2

D1

D0

C

Z

0

AC

0

P

1

C

S - бит знака; равен 1, если старший значащий разряд результата операции равен 1, (т.е. результат - отрицательное число);

Z - бит нуля; равен 1, если результат операции равен нулю;

AC - бит вспомогательного переноса; равен 1, если при выполнении операции был перенос из младшей тетрады в старшую;

P - бит четности; равен 1, если число единиц результата - четное;

C - бит переноса; равен 1, если после выполнения операции в аккумуляторе было переполнение (заем).

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

18D 18H

+ +

19D 19H

37D 31H 31+6 = 37

Кроме регистров А и F сверхоперативное ЗУ (СОЗУ) микропроцессора содержит следующие регистры специального назначения:

RAрегистр адреса, 16 разрядный регистр для хранения адреса команды или данных;

PC - 16-разрядный программный счетчик-регистр для выдачи адреса команды, содержимое которого автоматически изменяется после выполнения команды, указывая адрес следующей команды;

SP - 16-разрядный регистр указателя стека, который содержит адрес ячейки памяти, где записан адрес первой команды, которую необходимо выполнить после отработки подпрограммы;

RC - 8-разрядный регистр команд для хранения принятого байта команд;

W и Z - регистры временного хранения кода команды, если он превышает 1 байт (2 или 3 байта).

Помимо регистров специального назначения в микропроцессоре имеются шесть восьмиразрядных регистров общего назначения (B, C, D, E, H, L), которые могут образовывать шестнадцатиразрядные регистровые пары (ВС, DE и HL) и служат для временного хранения данных, предназначенных для обработки в АЛУ.

Из внутренних регистров МП КР580ВМ80А (КР580ИК80А) программно доступны пользователю следующие:

а) аккумулятор (регистр А)

б) регистры общего назначения B, C, D, E, H, L

в) регистр состояний (флагов) FL;

г) счетчик команд CP (16 разрядов);

д) регистр указатель стека SP (16 разрядов)

Дешифратор команд производит разделение кода команды на отдельные сигналы управления, определяющие выполнение текущей команды.

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

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

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

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

Останов – полное прекращение выполнения основной программы.

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

Любая выполняемая микропроцессором операция является следствием выполнения команды. Каждая команда реализуется за 1-5 машинных циклов. Машинный цикл - это время, требуемое для передачи или приема байта информации по шине данных или выполнения однобайтовой команды. Машинный цикл может составлять 3-5 машинных тактов. Для МП 8080 (К580ВМ80А) существует 10 типов машинных циклов, каждому из которых соответствует байт состояния процессора (БСП) :

  • считывание кода команды - 01000101;

  • чтение данных из памяти - 01000001;

  • запись данных в память - 00000000;

  • чтение данных из стека - 01100001;

  • запись данных в стек - 00100000;

  • ввод данных из внешних устройств - 01000010;

  • вывод данных во внешние устройства - 00001000;

  • обслуживание прерывания - 11000100;

  • останов - 01010001;

  • прерывание во время останова - 11010100.

Таблица 2. Структура байта состояния процессора

D7

D6

D5

D4

D3

D2

D1

D0

RE

WIO

M1

RIO

HLT

SP

WR

INT

где, INT – прерывание, WR – запись в память, SP- на шине адресов данные из стека, HLT – останов, RIO-чтение из ВУ, M1 – цикл выборки команды, WIO – запись в ВУ, RE –чтение из памяти,

Байт состояния выдается на магистраль данных в первом такте цикла и стробируется сигналом SYN. Обычно БСП записывается во внешний регистр для формирования системных управляющих сигналов Тактирование микропроцессора осуществляется внешним генератором, выдающим на выводы С1 и С2 последовательности прямоугольных импульсов, сдвинутые по фазе. Период сигнала С1 по переднему фронту отмеряет 1 машинный такт. (рис. ).

М1 М2 М3 М1

Ц иклы

Т акты Т1 Т2 Т3 Т4 Т1 Т2 Т3 Т1 Т2 Т3 Т1 Т2 Т3

С1

С2

SYN

A 0-A15 Адрес команды Адрес команды+1 Адрес ВУ Адрес команды

D0-D7 бсп код команды бсп операнд бссп данные бсп код коман.

DBIN

Цикл М1 Цикл чтения Цикл чтения Цикл М1

выборки кода данных из из внешнего выборки кода

команды памяти устройства команды

Рис. Временные диаграммы выполнения микропроцессором команды ввода данных из внешнего устройства.

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

РегистрыB, C, D, E, H, L, кодируются двоичными числами соответственно от 000 до 100. Код 110 обозначает ячейку ЗУ, адрес которой указан в регистровой паре HL, состоящей из регистров H и L, а код 111 является кодом аккумулятора. Два старших разряда кода команды одновременно обозначают операцию и указывают на то, что эта команда является однобайтовой (по размеру) командой пересылки (по содержанию).

Команды могут быть двух или трех байтовыми. Например, для того чтобы к содержимому аккумулятора прибавить число 0000 1010 с учетом переноса при переполнении старшего разряда и результат занести в аккумулятор, необходима команда, код которой 1100 1110 0000 1010 - эта команда является двухбайтовой.

Двоичным кодом первого байта можно представить 256 двоичных комбинаций. Почти столько же команд имеет и МП БИС КР580ВМ80 (некоторые комбинации не используются). Естественно, что запомнить более 200 кодов команд, представленных в виде набора едениц и нулей, почти невозможно. Поэтому каждому коду команды ставиться в соответствие мнемоническое название (мнемоника) команды, которая является сокращением от английских слов, описывающих ее действие, и регистрам с помощью букв от A до F, H, L, регистровых пар BC,DE, HL и PSW (образованной аккумулятором А и регистром признаков F), SP - указателя стека и CP - счетчика команд, c которым производятся

операции в данной команде.

Например, приведенная выше однобайтовая команда в мнемонике будет иметь такой вид: MOV A,C (от английского MOVE-передвигать, перемешать). Mнемоника команд МП БИС КР580ВМ80 приведена в таблице 1.

При записи программы все числа и адреса представляются в шестнадцатиричной системе счисления. Поэтому шестнадцатеричный (гексадецимальный) код данной команды будет представлен как 79 Н.

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

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

В конце машинного цикла снова анализируется состояние сигнала на входе HLD. При низком урозне сигнала проверяется, окончено ли выполнение команды. Если команда не закончена, то микропроцессор выполняет сле-дующий машинный цикл команды, yачиная с такта Т1. В конце каждой команды микропроцессор анализирует состояние сигнала на входе INT. Если сигнал высокого уровня и прерывание было ранее разрешено командой Е1, то микропроцессор переходит к выполнению машинного цикла «Прерывание», начиная с такта Т1. В противном случае выполняется первый машинный цикл новой команды с такта Т1.

Действия, выполняемые микропроцессором в конкретном машинном цикле, определяются 8-разрядной информацией состояния, которая выдается через канал данных в такте Т1 каждого машинного цикла. Эта информация может использоваться для выработки сигналов обращения к ЗУ, УВВ и для организации различных режимов работы микропроцессора.

В зависимости от сочетания сигналов состояния, выдаваемых в конкретном цикле, машинные циклы можно разделить на 10 типов:

1. Цикл М1 — прием первого байта команды в регистр команд. 2. Цикл чтения ЗУ — чтение ЗУ по содержимому программного

счетчика или содер. жимому одного из регистров ВС, DE, HL.'

3. Цикл записи в ЗУ — запись в ЗУ по содержимому одного из

регистров ВС, DE, HL.

4. Цикл чтения стека — чтение ЗУ по содержимому указателя стека.

5. Цикл записи в стек — запись в ЗУ по содержимому указателя стека.

6. Цикл ввода — ввод информации в регистр результата (аккумулятор) из внешнего устройства.

7. Цикл вывода—вывод информации из регистра результата во внешнее устройство.

на входе fNT — микропроцессор переходит к выполнению цикла прерывания при

останове с такта Т1, если команде HLT предшествовала команда Е1 «разрешение прерывания», иначе остается в состоянии

8. Цикл прерывания —прием кода команды RST или CALL из «останов» контроллера прерываний.

9. Цикл останова.

10. Цикл прерывания при останове — прием кода команды RST или CALL при выводе микропроцессора из режима «Останов» по прерыванию.

Наименования сигналов состояния, соответствие их разрядам канала данных, а также типам машинных циклов приведены в табл. 3.4.

При выполнении команд микропроцессор может переходить в одно из трех состояний: «ожидание», «захват» и «останов», длительность которых определяется внешними управляющими сигналами.

Сигнал высокого уровня на входе RDY обеспечивает автоматическое выполнение команд программы микропроцессором с частотой тактовых сигналов. Если на выводе RDY установлен сигнал низкого уровня, то микропроцессор переходит в режим «Ожидание» и формирует выходной сигнал WI высокого уровня.

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

При подаче на вход HLD сигнала высокого уровня микропроцессор переходит в состояние «захват» и подтверждает переход в это состояние формированием сигнала высокого уровня на выходе HLDA.

Буферные схемы канала адреса и данных микропроцессора переключаются в высокоом-ное состояние, а выходные управляющие сигналы в состояние низкого уровня (за исключением сигналов TR и HLDA). Микропроцессор переходит в состояние «захват» в такте ГЗ, если выполняется цикл чтения и на входе RDY сигнал высокого уровня, и в такте, следующим за ГЗ, если выполняется цикл записи. Сигналы HLD и HLDA позволяют организовать режим прямого доступа к памяти для любого внешнего устройства, формирующего сигнала HLD.

При выполнении команды HLT микропроцессор переходит в состояние «останов» и переводит буферные схемы канала адреса и данных в высокоомное состояние. Из состояния «останов» микропроцессор выходит при наличии сигнала высокого уровня на одном из его входов:

на входе SR — микропроцессор начинает работать с такта 71 цикла М1;

на входе HLD — микропроцессор переходя в состояние «захват», а после перехода сигнала HLD на низкий уровень возвращается в состояние

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