Смекни!
smekni.com

Архитектура системы команд 2 (стр. 4 из 6)

I-разрешение прерывания

IR-запрет прерывания

PE-потеря точности

UE-денормализация

OE-переполние

ZE-деление на ноль

IE-недействительный операнд.

3 CR- регистр управления. С его помощью происходит управление арифметическими операциями происходящими в сопроцессоре

IC – тип арифметики: 0- афинная

1- проекционная

Афинная – обычная арифметика и ±¥

Прекционная только ±¥

RC-режим округления

00- к ближнему целому

01- к -¥

10- к +¥

11- к 0

PC-способ выдачи информации

00-80-разрядов

01- 32 - разряда

10- 64-разряда

Masks- позволяет маскировать прерывания.

4 ER- регистр ошибок в него записывается КОП, адрес команды и операции, которые вызвали ошибки.

11. Система команд процессора и сопроцессора

Name Содержание Функция Флаги Код
Z C S O I T U
Обращение к памяти по чтению и записи
1. 1 RDB Чтение байта R0<= <R1>+R2 - - - - - - - 000000
2. RDHW Чтение полуслова R0<= <R1>+R2 - - - - - - - 000001
3. RDW Чтение слова R0<= <R1>+R2 - - - - - - - 000010
4. WRB Запись байта <R0>=> <R1>+R2 - - - - - - - 000011
5. WRHW Запись полуслова <R0>= ><R1>+R2 - - - - - - - 000100
6. WRW Запись слова <R0>=> <R1>+R2 - - - - - - - 000101
7. IN Чтение из порта R0<=порт<R1> - - - - - - - 000110
8. OUT Запись в порт R0=>порт<R1> - - - - - - - 000111
9. MOV Обмен RG<>RG <R0><=<R1> - - - - - - - 001000
10. MOVI Занос в регистр значения <R0><= R2 - - - - - - - 001001
Арифметические операции с ФТ
11. ADD Сложение <R0><= <R1>+<R2> + + + + - - - 001100
12. SUB Вычитание <R0><= <R1>-<R2> + + + + - - - 001101
13. MUL Умножение <R0><= <R1>*<R2> + + + + - - - 001110
14. DIV Деление <R0><= <R1>/<R2> + + + + - - - 001111
15. ADDI Сложение с неп оп. <R0><= <R1>+R2 + + + + - - - 010000
16. SUBI Выч. с неп оп. <R0><= <R1>-R2 + + + + - - - 010001
17. MULI Умн/ с неп оп. <R0><= <R1>*R2 + + + + - - - 010010
18. DIVI Деление с неп оп. <R0><= <R1>/R2 + + + + - - - 010011
Логические оперции с ФТ
19. AND «И» <R0><= <R1>&<R2> + - + - - - - 010100
20. OR «ИЛИ» <R0><= <R1>v<R2> + - + - - - - 010101
21. XOR Искл «ИЛИ» <R0><= <R1>+<R2> + - + - - - - 010110
22. NOT «НЕ» <R0><= ~<R1> + - + - - - - 010111
23. RCL Циклический сдвиг влево - + - + - - - 011000
24. RCR Циклический сдвиг вправо - + - + - - - 011001
Команды переходов и прерываний
25. CLI Очистить флаг разрешения прерываний 0 011010
26. INT Вызов прерывания <R7><=PC<R6><=flags + + + + + + + 011100
27. IRET Возврат из прерывания <PC><=R7flags<=R6 - - - - - - - 011101
28. CALL Вызов подпрограммы <R7><=PCPC<=<R1>+R2 - - - - - - - 011110
29. RET Возврат из подпрограммы <PC><=R7 - - - - - - - 011111
30. JMP Безусловный переход PC<=<R1>+R2 - - - - - - - 100000
31. JZ Переход по нулю PC<=<R1>+R2 + - - - - - - 100001
32. JNZ Переход не по нулю PC<=<R1>+R2 + - - - - - - 100010
33. JO Переход по переполнению PC<=<R1>+R2 - - - + - - - 100011
34. JNO Переход по не переполнению PC<=<R1>+R2 - - - + - - - 100100
35. JC Переход по переносу PC<=<R1>+R2 - + - - - - - 100101
36. JNC Переход не по переносу PC<=<R1>+R2 - + - - - - - 100110
37. JS Переход переход по меньше нуля PC<=<R1>+R2 - - + - - - - 100111
38. JNS Переход переход по не меньше нуля PC<=<R1>+R2 - - + - - - - 101000
Специальные операции
39. RFL Чтение флагов R1<=Flags - - - - - - - 101001
40. WFL Запись флагов <R1>=>Flags + + + + + + + 101010
41. RTLBR Чтение TLBP R1<=TLB - - - - - - - 101011
42. WTLBR Запись TLBP <R1>=>TLB - - - - - - - 101100
43. RISR Чтение TINT R1<=TINT - - - - - - - 101101
44. WISR Запись TINT <R1>=>TINT - - - - - - - 101110
45. RBVA Чтение BVA <R0><=BVA - - - - - - - 110011
46. RFE Возврат в пользователя - - - - - - 0 101111
47. SCALL Переход в супервизора - - - - - - 1 110000
48. HALT Ожидание прерывания - - - - 1 - - 110001
49. NOP Нет операции PC<=<PC>+1 - - - - - - - 110010
Арифметические операции с ПТ
50. FADD Сложение <F0><= <F1>+<F2> + + + + - - - 111000
51. FSUB Вычитание <F0><= <F1>-<F2> + + + + - - - 111001
52. FMUL Умножение <F0><= <F1>*<F2> + + + + - - - 111010
53. FDIV Деление <F0><= <F1>/<F2> + + + + - - - 111011
54. FMOV Обмен RG<>RG F0<=<F1> - - - - - - - 111100
55. FRDW Чтение <F0><= <R1>+R2 - - - - - - - 111101
56. FWRW Запись <F0><= <R1>+R2 - - - - - - - 111110
57. MFC Преобр ПТ-ФТ <R0><= <F1> + + + + - - - 111111
58. MCF Преобр ФТ-ПТ <R0>=> <F1> + - + + - - - 111111

1 Обращение к памяти по чтению и записи.

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

2 Арифметические и логические операции с ФТ

Позволяют производить известные операции с числами с ФТ, которые хранятся в регистрах или с непосредственными операндами

3 Специальные операции.

Позволяют работать с системными регистрами, заносить туда информацию и считывать ее от туда. Команды с 40 по 46 возможны только в режиме супервизора. В пользовательском режиме они недоступны.

4 Арифметические операции с ПТ

Известные операции аналогичные с ФТ, плюс операции сдвигов влево и вправо.

12. Структура внешних выводов процессора


Процессор имеет совмещенную шину адреса и данных (AD). Сигнал ALE используется для фиксации адреса на внешнем регистре-защелке. Пара сигналов HLD и HLDA используется для реализации механизма захвата шины. Сигнал INT является сигналом запроса прерывания. Сигнал NMI – запрос немаскируемого прерывания.

Линии RD(чтение), WR(запись), IN(ввод), OUT(вывод), задают выполняемую на шине операцию.

Сигналы CC0, CC1, Wait используются для взаимодействия с сопроцессором. Линии CC0, CC1 служат для синхронизации работы с мат сопроцессором.