Архитектура системы команд

Автор работы: Пользователь скрыл имя, 17 Февраля 2011 в 08:56, реферат

Описание работы

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

Архитектура таких уровней часто называется архитектурой физического

ввода/вывода.

Файлы: 1 файл

Курсовая работа по Архитектуре ЭВМ. 4-курс кафедра ВТ.doc

— 266.50 Кб (Скачать файл)

8. Регистровая модель  процессора

   

                                                                                                                    Flags

        

                

      

      

Регистровая модель процессора состоит из

1 PC- 32-x разрядный счетчик команд; C его помощью устройство выборки команд считывает слова, начиная с адреса на 1 большего значения  записанного в PC

2 BVA- 32-разрядный регистр в него записывается адрес плохой страницы. Т.е. когда идет обращение к какой то странице памяти не находящейся в оперативной памяти происходит запись адреса этой страницы в BFA, а затем с помощью этого адреса происходит загрузка страници в ОП.

3 Flags – 8-разрядный регистр регистр флажков. Если происходит  одно из событий, которые могут отражаться в этом регистре, то происходит установка того или иного флажка.

Z- признак нулевого результата

C- признак переноса из старшего разряда

S- знак результата 

O- признак  переполнения

I- флаг прерывания

T- флаг ловушки

U- флаг пользователь/супервизор

PL- флаг уровня  привелегий 

4 TLBP- 32-разрядный регистр указатель на таблицу переадресации

5 TINT – 32-разрядный регистр указатель на таблицу векторов прерываний

6 8 - 32-разрядных регистров  общего назначения  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

9. Сопроцессор 

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

      Схема совместной работы ЦП и сопроцессора выглядит следующим образом.

        

wait

  

                                                           
 
 
 
 

Вариант организации  работы:

  1. Оба процессора просматривают поток команд и каждый выбирает свою
  2. Все операции с адресами делает ЦП
  3. С точки зрения ЦП набор команд с ПТ это одна команда
  4. Сигнал wait необходим для проверки того занят ли сопроцессор вычислениями или нет. Он проверяет вход busy.

    Форматы данных

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

      Существует  три вида чисел с плавающей  точкой

  1. 32- разрядное
  2. 64- разрядное
  3. 80 – разрядное (для внутренних вычислений)

    Вид  чисел  с ПТ См выше (глава типы данных). 

    10. Регистровая модель  сопроцессора

 

      

      

                

        

    

 

Регистровая модель сопроцессора состоит из

    1 8 32- разрядных РОН

    2 SR- регистр статуса. В нем отражаются все процессы и события происходящие в сопроцессоре.

    B- бизи-бит показывает свободен или занят сопроцессор

    Z- флаг  нуля

    S- флаг  знака

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

    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
RDHW Чтение полуслова R0<= <R1>+R2 - - - - - - - 000001
RDW Чтение слова R0<= <R1>+R2 - - - - - - - 000010
WRB Запись байта <R0>=> <R1>+R2 - - - - - - - 000011
WRHW Запись полуслова <R0>= ><R1>+R2 - - - - - - - 000100
WRW Запись слова <R0>=> <R1>+R2 - - - - - - - 000101
IN Чтение из порта R0<=порт<R1> - - - - - - - 000110
OUT Запись в порт R0=>порт<R1> - - - - - - - 000111
MOV Обмен RG<>RG <R0><=<R1> - - - - - - - 001000
MOVI Занос в регистр  значения <R0><= R2 - - - - - - - 001001

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

ADD Сложение <R0><= <R1>+<R2> + + + + - - - 001100
SUB Вычитание <R0><= <R1>-<R2> + + + + - - - 001101
MUL Умножение <R0><= <R1>*<R2> + + + + - - - 001110
DIV Деление <R0><= <R1>/<R2> + + + + - - - 001111
ADDI Сложение с  неп оп. <R0><= <R1>+R2 + + + + - - - 010000
SUBI Выч. с неп оп. <R0><= <R1>-R2 + + + + - - - 010001
MULI Умн/ с неп оп. <R0><= <R1>*R2 + + + + - - - 010010
DIVI Деление с неп  оп. <R0><= <R1>/R2 + + + + - - - 010011

Логические  оперции с ФТ

AND «И» <R0><= <R1>&<R2> + - + - - - - 010100
OR «ИЛИ» <R0><= <R1>v<R2> + - + - - - - 010101
XOR Искл «ИЛИ» <R0><= <R1>+<R2> + - + - - - - 010110
NOT «НЕ» <R0><= ~<R1> + - + - - - - 010111
RCL Циклический сдвиг  влево   - + - + - - - 011000
RCR Циклический сдвиг  вправо   - + - + - - - 011001

Команды переходов и прерываний

CLI Очистить флаг разрешения прерываний           0     011010
INT Вызов прерывания <R7><=PC

<R6><=flags

+ + + + + + + 011100
IRET Возврат  из прерывания <PC><=R7

flags<=R6

- - - - - - - 011101
CALL Вызов подпрограммы <R7><=PC

PC<=<R1>+R2

- - - - - - - 011110
RET Возврат из подпрограммы <PC><=R7 - - - - - - - 011111
JMP Безусловный переход PC<=<R1>+R2 - - - - - - - 100000
JZ Переход по нулю PC<=<R1>+R2 + - - - - - - 100001
JNZ Переход не по нулю PC<=<R1>+R2 + - - - - - - 100010
JO Переход по переполнению PC<=<R1>+R2 - - - + - - - 100011
JNO Переход  по не переполнению PC<=<R1>+R2 - - - + - - - 100100
JC Переход по переносу PC<=<R1>+R2 - + - - - - - 100101
JNC Переход не по переносу PC<=<R1>+R2 - + - - - - - 100110
JS Переход переход  по меньше нуля PC<=<R1>+R2 - - + - - - - 100111
JNS Переход переход  по не меньше нуля

PC<=<R1>+R2

- - + - - - - 101000
Специальные операции
RFL Чтение флагов R1<=Flags - - - - - - - 101001
WFL Запись флагов <R1>=>Flags + + + + + + + 101010
RTLBR Чтение TLBP R1<=TLB - - - - - - - 101011
WTLBR Запись TLBP <R1>=>TLB - - - - - - - 101100
RISR Чтение TINT R1<=TINT - - - - - - - 101101
WISR Запись TINT <R1>=>TINT - - - - - - - 101110
RBVA Чтение BVA <R0><=BVA - - - - - - - 110011
RFE Возврат в пользователя   - - - - - - 0 101111
SCALL Переход в супервизора   - - - - - - 1 110000
HALT Ожидание прерывания   - - - - 1 - - 110001
NOP Нет операции PC<=<PC>+1 - - - - - - - 110010

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

FADD Сложение <F0><= <F1>+<F2> + + + + - - - 111000
FSUB Вычитание <F0><= <F1>-<F2> + + + + - - - 111001
FMUL Умножение <F0><= <F1>*<F2> + + + + - - - 111010
FDIV Деление <F0><= <F1>/<F2> + + + + - - - 111011
FMOV Обмен RG<>RG F0<=<F1> - - - - - - - 111100
FRDW Чтение <F0><= <R1>+R2 - - - - - - - 111101
FWRW Запись <F0><= <R1>+R2 - - - - - - - 111110
MFC Преобр ПТ-ФТ <R0><= <F1> + + + + - - - 111111
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 служат для синхронизации работы с мат сопроцессором.

СС0 СС1  
0 0 Нет операции
0 1 Очистка очереди
1 0 Запись команды  в буфер
1 1 Выборка команды
 

      На  контакт WAIT поступает сигнал об окончании вычислений

      По  шине FFLAGS в ЦП передаются флаги от сопроцессора

      Контакт READY служит для приема сигналов готовности от медленных внешних устройств

      Общее число выводов процессора составляет 65, поэтому процессор размещается  в стандартном 68 выводном корпусе. Оставшиеся ножки подаются на «Земля» или «Питание»

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

 
 
 

      В сопроцессоре на вывод FPBUSY подается единичный сигнал указывающий на то, что сопроцессор занят. По линии FPINT выдается сигнал прирывания в случае ошибки. Назначение остальных выводов такое же как и у ЦП.  
 
 
 
 
 
 
 
 
 
 
 

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

      

        
 
 
 
 
 
 
 
 
 
 

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

      2 Дешифратор команд получает слово  от устройства предвыборки и  дешифрует его. Преобразованный  код записывается в регистр  команд.

      3 Регистр команд хранит команду  полученную от дешифратора.

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

Информация о работе Архитектура системы команд