Рефераты. Техническая диагностика средств вычислительной техники

Таблица 1.2. Коды передачи байтов по системной шине.

 /BЕ3  /ВЕ2  /ВЕ1  /ВЕ0      БАЙТЫ В 32-БИТОВОМ СЛОВЕ ДАННЫХ
                          D(D24/31) C(D16/23) B(D8/15) A(D0/7)
   1     1     1     0        -         -         -        A
   1     1     0     1        -         -         B        -
   1     0     1     1        -         C         -        C
   0     1     1     1        D         -         D        -
   1     1     0     0        -         -         B        A
   1     0     0     1        -         C         B        -
   0     0     1     1        D         C         D        C
   1     0     0     0        -         C         B        A
   0     0     0     1        D         C         B        A
   0     0     0     0        D         C         B        A

Таблица 1.3. Типы циклов шины.

  M/IO#  D/C#  W/R#
    0     0     0   - подтверждение прерывания
    0     0     1   - не используется
    0     1     0   - чтение данных из УВВ
    0     1     1   - запись данных в УВВ
    1     0     0   - чтение команды из ОЗУ
    1     0     1  - 1) останов: Addr=2, /BE0-/BE3=1101, A[31/2]=0
                   - 2) отключение: Addr=0, /BE0-BE3=1111,A[31/2]=0
    1     1     0   - чтение данных из ОЗУ
    1     1     1   - запись данных в ОЗУ

Из таблицы типов циклов шины видно, что циклов шины может быть восемь:

1) чтение ОЗУ без блокировки шины (/LOCK=H),

2) чтение ОЗУ с блокировкой шины (/LOCK=L),

3) запись в ОЗУ без блокировки шины (/LOCK=H),

4) запись в ОЗУ с блокировкой шины (/LOCK=L),

5) чтение из УВВ или регистров FPU,

6) запись в УВВ или в регистры FPU,

7) подтверждение прерывания,

8) цикл останова или выключения.

Но основных, обменных циклов, – четыре: чтение ОЗУ, запись в ОЗУ, чтение порта ввода-вывода и запись в порт ввода-вывода. Остальные циклы шины либо варианты основных (с блокировкой или без блокировки), либо служебные, а не обменные.

1.4.3.3) Конвейерная обработка команд в CPU

Шесть автономных блоков микропроцессора i386 составляют систему конвейерного выполнения команд.

Исполнение команды, в общем виде, состоит из 6 тактов:

ФАК──>ВК──>ФАО──>ВО──>ОП──>ЗпРез

здесь:

ФАК – формирование адреса команды,

ВК – выборка команды,

ФАО – формирование адреса операнда,

ВО – выборка операнда,

ОП – выполнение текущей операции,

ЗпРез – запись результата операции.

Конвейерное выполнение программы – это когда в разных автономных блоках микропроцессора одновременно выполняются разные такты нескольких смежных команд. Например, ЗпРез команды n-1, собственно ОП команды n, ФАК команды n+1, ВК команды n+2 и ФАК команды n+3.

Обработка команды в CPU i386, в свою очередь, состоит из четырех этапов:

1) преобразование адресов при сегментированной или страничной организации памяти (выполняется в блоке MMU);

2) выборка полей команды из ОЗУ и накопление их в стеке очереди команд (выполняется в PU);

3) дешифрация команд из очереди и накопление дешифрованных кодов операций в стеке декодированных команд (выполняется в блоке IDU);

4) выполнение операции в EU, под микропрограммным управлением, и формирование статусных флагов.

Для ускорения выполнения команд в CPU, моделей i386 и старше, организован конвейер команд:

- каждая из команд в свое время находится в стадии выборки, хранения, дешифрации, формирования адреса и – выполнения;

- для смежных команд эти стадии (такты выполнения) обычно выполняются разными узлами CPU одновременно, в режиме совмещения, если соответствующие узлы микропроцессора в это время свободны;

- работа CPU, по отношению к системной магистрали, синхронна, а между узлами BIU, PU, IDU, EU – асинхронна.

Счетчик команд EIP в EU автоматически модифицирует адрес следующей команды по словам или двойным словам, в зависимости от длины команды, задаваемой входом /BS16. Информация в EIP, системных и сегментных регистрах блока MMU используется при формировании физического адреса для выборки следующей команды.

Одновременно с адресным формированием в EU, в работе находится одна из команд очереди в IDU, в которое, в свой черед, подгружается команда из PU.

Обмен данными между CPU и системой осуществляет BIU по запросу от EU, либо при наличии свободного места в очереди команд.

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

В многопроцессорных системах, когда шина передается от одного ведущего модуля другому, отключаемые модули переводят свои шины в состояние высокого импеданса – Z-состояние. В это время отключенный от шины CPU, или контроллер имеет возможность автономно выполнять все команды, находящиеся в стеках, до тех пор, пока CPU не потребуется шина для обмена. Если же в это время шина все еще занята, то CPU прекращает работу, находясь в состоянии ожидания (Time-Out), пока шина не освободится (линия /READY=H, т. е. пассивна).

Контрольные вопросы.

1. Из каких тактов состоит выполнение команды в CPU?

2. Что такое цикл шины в РС?

3. В чем смысл сигнала HOLD?

4. В чем смысл сигнала HLDA?

5. Как реагирует микропроцессор на сигнал INTR?

6. В чем особенность сигнала NMI?

1.4.3.4) Режимы работы микропроцессора i386

CPU i386 допускает работу в четырех режимах:

- RM – реальном,

- РМ – защищенном,

- VM-86 – виртуальном и

- РРМ – страничном.

1. RM – режим реальной адресации, соответствует работе системы i8086 и используется только в MS DOS. Область адресов, шириной в 1 Мбайт, не защищена, реализовано до 20 адресных линий (из 32-х, возможных для микропроцессора i386), режим однопользовательский. Для работы с 32-разрядными операндами и реализации дополнительных режимов адресации используется префикс переадресации, двухбайтовый адрес не превышает границы сегмента в 64 Кбайт (0000 - FFFF), иначе фиксируется особая ситуация с прерыванием типа 13h. Для доступа к 1 Мбайт адресного пространства используются линии адреса [A19-А02] и /BE0 – /BE3. Страничный механизм доступа к памяти отключен, исполнительный адрес всегда соответствует физическому, все сегменты могут находиться в состоянии записи, считывания или выполнения.

2. РМ – защищенный режим, или режим виртуальной адресации. При включении РС всегда устанавливается режим RM, а для перевода его в РМ используются системные команды LMSW и SMSW. При установке бита PF=1 в MSW, CPU переходит в РМ. В режиме РМ реализуется доступ к 4 Гбайт ОЗУ в 32-битовом пространстве исполнительных адресов, а доступ к 64 Тбайт ОЗУ реализуется в логическом (виртуальном) адресном пространстве. Виртуальная адресация – это способ организации доступа к информации, большая часть которой располагается не в физическом ОЗУ, а во внешней (дисковой) памяти, откуда она, по мере необходимости, перекачивается в ОЗУ (swapping), но программа видит иллюзию размеров ОЗУ в 64 Тбайт. Предусмотрена защита памяти по многоуровневому принципу защиты ОС и прикладных программ и реализуется мультипрограммность. Для обратного перевода из режима РМ в RM, команды LMSW и SMSW не используются, а система должна быть перезагружена либо аппаратно ("холодный" рестарт), либо аппаратно-программно – через порты 64h и 60h контроллера 8048 (KBD), командой OUT и далее, через сигнал RS и узел Shut Down, – к входу RESET CPU, как при "теплом" рестарте, осуществляемом нажатием комбинации клавиш Ctrl+Alt+Del.

Для программного перехода из режима PM в RM может быть также использована ассемблерная команда MOV CR0 (LCR0).

3. VM-86 – это режим виртуальной адресации i86. Режим устанавливает исполнительную среду i8086 внутри многозадачной среды PM CPU i386. При этом поддерживается выполнение всех программ для предыдущих поколений микропроцессоров ix86. Сначала, в рамках VM86, формируется 20-разрядный линейный адрес по системе RM, но включается механизм страничной адресации и система двухуровневой защиты памяти. Адрес, шириной в 1 Мбайт, может быть разбит на 256 страниц по 4 Кбайт каждая и размещен в физическом адресном пространстве до 4 Гбайт. В этом объеме адресов ОЗУ можно, в окнах (frame) по 1 Мбайт, расположить множество копий MS DOS, или других ОС и пользовательских программ, представляющих отдельные виртуальные машины, работающие в многозадачном режиме.

Вход и выход в режим VM86 возможен следующими способами:

- загрузкой регистра флагов EFLAGS [17];

- переключением с задачи на задачу с использованием сегмента состояния задачи (TSS);

- в процедуре прерывания (команда IRET);

- ассемблерной командой POPF.

4. РРМ – режим страничной адресации. Это режим управления памятью, позволяющий разделить большие объемы информации на компактные блоки по 4 Кбайт.

Для реализации режима РРМ в CPU i386 дополнительно включается страничный механизм, транслирующий линейный адрес – в физический.

Переход из RM в РРМ – программный, командами LMSW, SMSW, MOV CR0, MOV CR3. Обратный переход осуществляется либо перезагрузкой, либо программно, с помощью бита 31 в регистре CR0.

Контрольные вопросы.

1. Что представляет собой и для чего предназначен режим RM CPU i386?

2. Что такое виртуальная адресация в режиме РМ CPU i386?

3. Для чего предназначен режим VM86 CPU i386?

4. Какой режим устанавливается при включении CPU i386?

5. Как можно перейти из режимов РМ, РРМ в режим RM?

1.4.4 Математический сопроцессор

Равнозначны следующие аббревиатуры обозначения математического сопроцессора:

NDP (Numeral Data Processor),

MCP (Math Co-Processor),

FPU (Floating Point Unit),

APU (Accelerate Processor Unit).

Для однозначности – примем обозначение FPU.

FPU выполняет следующие функции:

- операции с плавающей точкой;

- вычисление тригонометрических функций;

- логарифмирование;

- работу с двоично-десятичными числами.

Эти операции выполняются FPU по собственной микропрограмме, значительно (до 150 раз) быстрее, чем CPU, хотя CPU может их выполнять и сам, при наличии программ-эмуляторов режима совместимой с FPU работы, но медленнее. Так что FPU необязателен, и целесообразен только при больших объемах вычислений с плавающей точкой и т.п. Впрочем, успехи технологии СБИС позволяют интегрировать FPU прямо в кристалл CPU, так что современные CPU, начиная с i486 и Pentium, имеют встроенный в CPU математический сопроцессор.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.