Рефераты
 

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

p align="left">Рисунок 1.3. Структурная схема системной платы РС386.

На приведенной схеме использованы следующие обозначения:

CPU - центральный процессор,

FPU - математический сопроцессор,

SC - System Control - системный контроллер,

ABF - Addres Buffers - буферы адреса (303 - старшей, 304 - младшей) частей адреса,

DBF - Data Buffer - буфер данных,

МС - Memory Controller - контроллер ОЗУ,

BFS - Buffers - буферы памяти (КЭШ),

DRAM - ОЗУ,

I/O Bus - приемопередатчики шин,

ROM BIOS - системное ПЗУ,

АТ - адаптеры и контроллеры расширения системной шины,

IPC - Integrated Peripheral Controller - интегральный контроллер периферии,

KBDC - Keyboard Controller - контроллер клавиатуры.

1.4.2 Архитектура шин чип-сета группы 8230

Системная плата IBM PC386 с набором чип-сета 8230, изображенная на рисунке 1.3, имеет следующую систему шин:

1. 32-битовая локальная шина адреса Lokal Bus А[31/02] связывает:

- CPU 80386,

- FPU 80387 или WEITEK WTL3167, если имеется его розетка,

- буферы адреса 82A303 и 82A304,

- контроллер DRAM 82A302;

2. 24-битовая системная шина адреса IO Channel Bus SA[23/00] формируется буферами адреса 82A303, 82A304 и используется в подсистеме ввода-вывода для карт расширения УВВ;

3. 24-битовая шина расширения адреса Peripherial Bus XA[23/00] формируется буферами адреса 82A303, 82A304 и используется контроллером IPS 82C206 также для доступа к ROM BIOS, а часть адреса XA[01/00] - и для доступа к портам модулей системной поддержки;

4. 10-битовая шина адреса DRAM MA[09/00] - мультиплексируемая шина для передачи адреса из контроллера MC 82A302 в DRAM для доступа к ячейкам DRAM;

5. 32-битовая локальная шина данных Local Bus D[31/00] - двунаправленная шина с Z-состоянием, подключена к нагрузочным сопротивлениям 32х10 КОм и коммутирована к сопроцессору и буферам данных DBF 82A305.

Локальные шины A[31/02], D[31/00] и XA[01/00] могут быть организованы в подсистему расширения локальной шины VESA, для использования в системе скоростных 32-битовых УВВ, минуя арбитраж.

6. 16-битовая системная шина данных IO Channel Bus SD[15/00] формируется на буферах данных DBF 82A305 и двунаправленных шинных формирователях IO BUS типа 74S245.

7. Для доступа к ROM BIOS используется локальная шина RD[15/00], преобразование которой в шину IO Cannel Bus SD[15/00] производит второй шинный формирователь IO BUS 74S245. Системные шины доступны, если управляющая ПЛИС PAL16L8 (системный контроллер SC 82C301) декодировала одну из комбинаций управляющих сигналов, предназначенных для доступа к картам УВВ.

8. 32-битовая шина данных DRAM System Memory Bus MD[31/00] связывает DRAM и буфер данных DBF 82A305. Полная ширина линий MD[31/00] выведена и на специальный разъем расширения DRAM.

9. 8-битовая шина расширения данных Peripherial Bus XD[07/00] предназначена для доступа к информации периферийных портов обрамления УВВ, расположенных в контроллерах SC 82A301, MC 82A302, IPC 82C206. Для организации доступа к 8-битовым устройствам через 16-битовую магистраль IO Cannel Bus SD[15/00], используются два цикла обмена, в течение которых на Peripherial Bus XD[07/00], через буфер I/O BUS 74S245, посылается от/к УВВ по одному байту.

В слотах УВВ имеются разъемы для набора сигналов группы интерфейсов XT/AT-BUS.

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

1. Что связывает локальная шина микропроцессора?

2. Какую разрядность имеют локальная и системная шины данных?

3. Какую разрядность имеет локальная адресная шина микропроцессора?

4. К какому объему адресного пространства может иметь прямой доступ CPU i386?

5. Сколько байт может быть передано одновременно по системной шине ISA?

6. Сколько байт информации может быть передано одновременно в/из DRAM?

7. В чем особенность адресной шины DRAM?

8. Сколько портов ввода-вывода можно адресовать через системную шину адреса?

1.4.3 Микропроцессор

1.4.3.1) Архитектура и типы микропроцессоров

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

Современные микропроцессоры, при всем разнообразии их типов, моделей и производителей, имеют одну из трех типов архитектуры: CISC, RISC и MISC (это относится к микропроцессорам универсального, а не специального применения).

Архитектура CISC (Complex Instruction Set Computer) - командо-комплексная система управления компьютером. Отличается повышенной гибкостью и расширенными возможностями РС, выполненного на микропроцессоре, и характеризуется:

1) большим числом различных по длине и формату команд;

2) использованием различных систем адресации;

3) сложной кодировкой команд.

Архитектура RISC (Reduced Instrucktion Set Computer) - командо-однородная система управления компьютером, имеет свои особенности:

1) использует систему команд упрощенного типа: все команды имеют одинаковый формат с простой кодировкой, обращение к памяти осуществляется командами загрузки (данных из ОЗУ в регистр микропроцессора) и записи (данных из регистра микропроцессора в память), остальные используемые команды - формата регистр-регистр;

2) при высоком быстродействии допускается более низкая тактовая частота и меньшая степень интеграции СБИС VLSI;

3) команда меньше нагружает ОЗУ;

4) отладка программ на RISC более сложна, чем на CISC;

5) с архитектурой CISC программно несовместима.

Архитектура MISC (Multipurpose Instruction Set Computer) - многоцелевая командная система управления компьютером, сочетает в себе преимущества CISC и RISC. Элементная база состоит из отдельных частей (могут быть объединены в одном корпусе): основная часть (HOST - ведущая), архитектуры RISC CPU, а расширяемая часть - с подключением ПЗУ (ROM) микропрограммного управления. При этом вычислительная система приобретает свойства CISC: - основные команды работают на HOST, а команды расширения образуют адрес микропрограммы для своего выполнения. HOST выполняет команды за один такт, а расширение эквивалентно CPU со сложным набором команд (CISC). Наличие ПЗУ устраняет недостаток RISC, связанный с тем, что при компиляции с языка высокого уровня код операции (микропрограмма) уже дешифрирована и открыта для программиста.

Типы микропроцессоров.

Как известно, микропроцессоры бывают трех типов:

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

- однокристальные микро-ЭВМ (All-In-Once - все в одном),

- секционные микропроцессоры (bit-slise - частичное расслоение).

1) Однокристальные микропроцессоры характерны тем, что:

- система команд фиксирована;

- содержат основные элементы кристалла: АЛУ, дешифратор команд, узел микропрограммного управления, узел управления обменом;

- не позволяют наращивать разрядность обрабатываемых слов каскадированием;

- шины данных, адреса, управления - мультиплексируемы.

2) Однокристальные микро-ЭВМ (ОМЭВМ) отличаются тем, что:

- кроме микропроцессора, кристалл включает в себя обрамление: ГТИ, контроллер прерываний, порты, таймер, ОЗУ, буфер команд;

- их применение очень просто (например, контроллер KBD в РС):

- вследствие низкой тактовой частоты, производительность ОМЭВМ невелика, но они и не предназначаются для высокоскоростных операций.

3) Секционные микропроцессоры характерны тем, что:

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

- дезинтегрированы на отдельные компоненты АЛУ и ИМС обрамления;

- позволяют наращивать разрядность шин данных, адреса, АЛУ и объем подключаемой оперативной памяти:

- могут работать в разных системах команд, в соответствии с прошивкой микропрограмм.

Персональные компьютеры, в подавляющем большинстве выполняются на однокристальных микропроцессорах. Одни их первых, разработанные фирмой IBM, выполнялись на микропроцессорах i8088, позже - на 8086. Первый АТ-компьютер был выполнен с использованием микропроцессора i80286, после разработки фирмой Intel микропроцессоров i80386 и i80486, выпускались компьютеры типа РС-386 двух модификаций, позже PC-486 в трех модификациях. Дальнейшее развитие персональных компьютеров стало возможным после разработки и выпуска нового семейства микропроцессоров типа Pentium. Сравнительные характеристики микропроцессоров семейства 80х86 и Pentium приведены в таблице 1.1.

Таблица 1.1. Сравнительные характеристики однокристальных CPU семейства 80х86.

Тип микропроцессора

Количество выводов

Fтакт МГц

Разрядность адр/дн

Быстродействие mips

Скорость обмена МВ/сек

Транзисторов
в одном кристалле

103

8086

40

10

20/16

0,33

1,4

29

8088

40

10

20/8

0,33

0,7

29

80286

68

25

24/16

1,2

8,0

134

80386DX

132

40

32/32

6,0

66,0

275

80386SX

100

33

24/16

4,5

30,0

275

80486DX

168

50

32/32

20,0

106

1200

80486SX

168

33

32/32

16,5

-

1185

80486DX2

168

50/66

32/32

54

-

1300

Pentium

273 и более

>100

32/64

>112

>528

3100 и более

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

1. В чем состоят особенности архитектуры CISC микропроцессора?

2. В чем достоинства и недостатки архитектуры RISC?

3. Какая архитектура микропроцессора свободна от недостатков CISC и RISC?

4. Как работает система с архитектурой MISC?

5. В чем особенности однокристальных микропроцессоров?

6. Что такое однокристальная микро-ЭВМ?

6. В чем достоинства секционных микропроцессоров?

8. Какую разрядность адреса/данных имеют микропроцессоры i386, i486?

9 В чем основное отличие микропроцессоров типа "Pentium"?

1.4.3.2). Структурная схема и функциональный набор сигналов управления CPU i386.

Структурная схема микропроцессора i386 приведена на рисунке 1.4.

сигналы сигналы
адресов и данных: управления шиной:

/BE[3/0] A[31/02] D[31/00] W/R#, D/C#, M/IO#,/LOCK
^ /\ /\ /ADS,/NA,/BS16,/READY
¦ ¦¦ ¦¦ ^
¦ ¦¦ ¦¦ ¦ --------------¬
---+--------++-------++----------------+--¬ ¦
P U ¦
¦ ¦-->+-------------+
¦
B I U ¦ ¦ очередь ¦
¦ ¦ ¦ команд 16б ¦
L--------------------------T--------------- L------T-------
¦ -------+------¬
- - - - - - - - - - - - - - ¦ - - - -¬ ¦
I D U ¦
---------------------¬ ¦ +-------------+
¦ ¦ ---------------¬¦ ¦<-------¦-------->¦ очередь МкК +--¬
¦
PAG ¦КЭШ стр.дескр.¦¦<---+ ¦ 31x100 бит ¦ ¦
¦ ¦ L---------------¦ ¦ ¦ L-------------- ¦
L-----------T--------- ¦ ---------------¬ ¦
¦ ¦ ¦<-------¦-------->¦
E U ¦ ¦
-----+-------------+---¬ +--------------+ ¦
¦ ¦ -----------------¬¦ ¦ ¦-------------¬¦ ¦
MMU ¦ SU ¦ КЭШ сегм. дескр.¦ ¦¦файл 32р Рг ¦¦ ¦
¦ ¦ L-----------------¦ ¦ ¦L-------------¦ ¦
L------------------T---- ¦-------------¬¦ ¦
L - - - - - - - - - - - - - ¦ - - - -- ¦¦ А Л У 32𠦦 ¦
---------------¬ ¦ ¦L-------------¦ ¦
¦ устройство ¦<------+----------------->¦-------------¬¦ ¦
¦ защиты памяти¦ ¦¦сдвигат. 64𦦠¦
L--------------- ¦L-------------¦ ¦
микрооперации L--------------- ¦
^ ^ ^ ^ ^ ^ ¦
-------------+--+--+--+--+--+------------¬ ¦
¦ управление микропроцессором ¦<----------------
L--------------------------------------T--
^ ^ ^ ^ ^ ^ ^ ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
PE REQ ¦ /ERROR ¦ NMI ¦ ¦ v
/BUSY /RESET INTR HOLD HLDA
L------------------------------ L----------

сигналы управления сигналы
микропроцессором арбитража

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

*) Термин ДЕСКРИПТОР в блоке MMU означает ключевое слово, описатель адреса страницы или сегмента и содержит физический адрес - эквивалент логического (математического) адреса в команде.

Описание функций блоков микропроцессора.

1. BIU (Bus Interface Unit) - устройство сопряжения с шиной. Системная шина осуществляет обмен информацией между CPU и подсистемами ВС.

2. PU (Prefetch Unit) - устройство предварительной выборки команд, представлено узлом управления конвейером команд и 16-битовым стеком команд дисциплины FIFO (First Input - First Output: первым пришел - первым вышел).

3. IDU (Instruction Decode Unit) - устройство декодирования команд, состоит из:

- декодера команд, осуществляющего дешифрацию полей команд первой ступени (определение типа и формата команды) и

- стековой памяти из 31-го 100-битовых полей, дисциплины FIFO, определяющих собственно набор микроопераций выполняемых команд. Стеки PU и IDU программно недоступны.

4. EU (Execution Unit) - устройство обработки данных, предназначено для хранения и обработки данных, выполнения команд и формирования кодов состояний CPU. EU включает в себя группу (файл)
32-битовых регистров:

1) EAX - аккумулятор;

2) EBX - адресный регистр базы данных;

3) ECX - счетчик операций цикла;

4) EDX - 64-Кбайтный адрес порта ПУ, либо адрес хранения старшей половины операнда в командах умножения и деления;

5) AX, BX, CX, DX - регистры хранения адресов 16-битовых операндов;

6) AL, AH, BL, BH, CL, CH, DL, DH - регистры хранения адресов 8-битовых операндов;

7) ESP и EBP - группа 32-битовых регистров указателей стеков для работы со стековыми сегментами;

8) ESI и EDI - регистры индексов, для хранения смещения адреса относительно базы при чтении или записи в память;

9) SP, BP, SI, DI - регистры для хранения 16-битовой информации,

10) EFLAGS - 32-битовый регистр флагов, включающий в себя:

- 6 статусных флагов (устанавливаются по результатам выполнения соответствующих операций);

- 2 управляющих флага, разрешающих включение режима VM86 и игнорирования (блокировки) ошибок при отладке программы по шагам;

- 2 системных флага, используемых в режиме РМ,

11) EIP (Instrucktion Pointer) - 32-битовый регистр счетчика команд (IP - 16-битовая секция счетчика команд). Счетчик команд программно недоступен.

12) CR0 - СR3 - три 32-разрядных регистра управления, которые, совместно с системными регистрами, сохраняют информацию о состоянии CPU во время выполнении задачи. СR1 не используется.

Механизм отладки программ в микропроцессоре i386 позволяет:

1) введение в программу точек разрыва;

2) пошаговый (покомандный) режим выполнения программы;

3) программирование четырех адресных контрольных точек останова (DR0 - DR3). В реализации режима останова участвуют также регистры состояний DR6 (статусный) и DR7 (управляющий) из регистра EFLAGS. Оба регистра - TR6 и TR7 используются также для самодиагностики CPU. Режим самодиагностики запускается по заднему фронту сигнала RESET при условии, что сигнал /BUSY = L (Low - нижний уровень).

5. SU (Segmentation Unit) - блок сегментации, осуществляет первую ступень преобразования адресов, и состоит из 16-битовых регистров для хранения базовых текущих адресов, или сегментов в RM, либо селекторов в РМ и содержит:

1) CS (Code Segment) - селектор или сегмент кода;

2) SS (Stack Segment) - начало стекового сегмента;

3) DS, ES, FS, GS (Data Segments) - регистры сегментов данных.

Для организации режима виртуальной памяти в CPU i386 имеется механизм, включающий системные регистры:

1) GDTR (Global Descriptor Table Register) - регистр глобальной дескрипторной таблицы,

2) LDTR (Local Descriptor Table Register) - регистр локальной дескрипторной таблицы,

3) IDTR (Interrupt Descriptor Table Register) - регистр таблицы дескрипторов прерываний,

4) TR (Task Register) - регистр селектора сегмента состояния задачи (TSS).

6. PAG (Paging Unit) - блок страничной организации памяти. Это вторая ступень (первая - SU) для доступа к страничным ячейкам при виртуальном преобразовании адреса. SU и PAG входят как независимые узлы в MMU (Мemory Managment Unit).

ПРИМЕЧАНИЯ по тексту:

1) полярность активности логического сигнала может быть прямой (положительной) или инверсной (отрицательной).

ПРЯМЫЕ активные сигналы в таблицах и на схемах обычно не имеют особых отметок или, в исключительных случаях, имеют индекс high перед именем сигнала.

ИНВЕРСНЫЕ активные сигналы имеют равносильные обозначения:

- минус перед именем сигнала,

- знак "/" (слэж) перед именем сигнала (например, /ERROR),

- надчеркивание,

- знак # после имени (например, BUSY#), или

- индекс L (Low) после имени;

2) для принятой системы счисления за цифровым обозначением следует буквенный указатель:

- h (hex) - шестнадцатеричная,

- d (decimal) - десятичная, или

- b (binare) - двоичная система счисления;

3) размещение байтов в регистрах различно: обычно информация о составе байтов, заключенных в ячейки памяти, разделяется двоеточием, а при акцентировании конкретного бита, входящего в состав регистров или шин, принято обозначение бита (разряда) - его номером в квадратных скобках (например, EFLAGS[17]).

Назначение линий и сигналы интерфейса CPU.

D[31/00] (Data) - двунаправленная шина данных с тремя состояниями. Сигналы шины синхронные.

BS16# (Bus Size 16) - вход, связывающий CPU с 16-битовой шиной (режим i286). Если операнд - двойное слово, то BIU переключается на трансляцию в линию D[15/00] двух слов за два цикла обмена. Сигнал синхронный.

ВЕ0# - ВЕ3# - выходные стробы данных, линии с тремя состояниями. Сигналы показывают, какие байты 32-разрядной шины используются в текущей передаче. Вырабатываются при внутренней дешифрации двух младших разрядов адреса А[01/00] (см. Таблицу 1,2. Коды передачи байтов по системной шине).

А31-А0 - выходные адресные линии с Z-состоянием, обеспечивающие физическую адресацию памяти или УВВ.

W/R# (Write/Read) выходные линии с Z-состоянием, определяющие

D/C# (Data/Control) тип цикла шины. Сигналы действительны только

M/IO# (Memory/Input-Output) при активном уровне /ADS=L.

ADS# (Address Strobe) - выход строба адреса. Линия с Z-состоянием, по которой поступает сигнал к ВУ, о том, что начался цикл шины, определяемый сигналами управления W/R#, M/IO#, D/C#, /BE0- /BE3 и адресными линиями A[31/02] и адрес на них достоверен.

RESET (сброс) - асинхронный вход, останавливающий выполнение любой операции в CPU и переводящий его в состояние сброса. Сигнал определяется CPU по уровню и имеет наивысший приоритет. Это состояние реализуется на 15 и более периодов CLK2, но за 78 и более периодов CLK2 до запуска самодиагностики. На время действия RESET сигналы на входах CPU игнорируются, а выходы переводятся в пассивное состояние: /ADS=H, D[31/00]=Z, A[31/02]=H, /BE0-/BE3=L, W/R#=H, M/IO#=L, /LOCK=H, HLDA=L.

READY (готов) - синхронный сигнал, указывающий, что текущий ЦИКЛ ШИНЫ завершен, байты, определяемые сигналами /ВЕ0-/ВЕ3, /BS16, приняты или переданы. В первом такте цикла сигнал игнорируется, в остальных - анализируется, пока не станет активным. Внешнее оборудование, не способное закончить обмен за 2 такта, продлевает цикл, удерживая CPU в состоянии Time Out.

/NA (Next Addres) - синхронный сигнал для запроса следующего адреса, сообщает CPU, что система готова принять от него новые значения адресов и сигналов управления циклом обмена, даже если завершение текущего цикла шины не подтверждено сигналом /READY.

CLK - внутрипроцессорная частота CPU i386. Она вдвое ниже подводимой к входу CLK CPU от генератора тактовых импульсов. Для каждого периода CLK2 есть две фазы - Ф1 и Ф2, внутренней синхронизации микроопераций в CPU, но они могут быть синхронизированы с задним фронтом RESET. Различаются такты Ts и Tc, составляющие цикл обмена.

/LOCK - выходная шина с Z-состоянием, определяет тип цикла шины с блокировкой. Активизируется установкой /ADS=L в начале цикла шины с конвейеризацией адресов, или в циклах INTA. Применяется в мультипроцессорных системах и сигнализирует о том, что CPU выполняет операцию с несколькими циклами шины, которая не должна прерываться. Сигнал вырабатывается автоматически, при выполнении префикса /LOCK в циклах INTA и при смене страничных таблиц.

HOLD (Bus Hold Request) - запрос захвата шины. Синхронный входной сигнал, устанавливаемый другим CPU, или интеллектуальным УВВ для работы с шиной. Анализируется фронтом CLK2 и, пока HOLD активен, CPU следит за его уровнем, устанавливая в конце цикла обмена ответный сигнал HLDA.

HLDA (Bus Hold Asknowlege) - синхронный выход подтверждения передачи управления шиной другому, активному CPU или УВВ. В ответ на запрос HOLD, CPU переходит в состояние подтверждения захвата. На входе NMI возможно появление только одного запроса, запоминающегося в CPU для обработки его после снятия сигнала HOLD.

INTR (Interrupt - прерывание) - асинхронный вход, инициирующий последовательность прерывания в CPU, аналогичен для любого i80x86 CPU.

NMI (Non Maskable Interrupt) - немаскируемое прерывание, сигнализирует CPU о появлении критической ошибки в ВС, не позволяющей правильно продолжить операцию (например, - ошибка адресов или данных в ОЗУ). Текущая программа прерывается и ситуация обрабатывается специальной программой для принятия решения (перезапрос данных, повторное выполнение операции, или сигнализация о неработоспособности ВС).

PE REQ (Co-processor Request) - запрос прерывания от FPU. Асинхронный вход, указывающий, что FPU нужен обмен с памятью (сам FPU обменом не управляет). CPU отвечает сигналом синхронизации, после чего FPU выполняет циклы обмена между локальной шиной и портами регистров данных FPU.

/BUSY (занят) - асинхронный вход, анализируемый по уровню командой WAIT, автоматически выдаваемой CPU, при обнаружении активного входа /BUSY=L (признак наличия ошибки, особой ситуации, или выполнения FPU очередной операции). На время активизации сигнала /BUSY, CPU выполняет такты ожидания. Если во время среза RESET сигнал /BUSY=L, то CPU выполняет процедуру самодиагностики.

ERROR (ошибка), - асинхронный вход, анализируемый по уровню. Указывает, что при выполнении команды в FPU сформирован незамаскированный в регистре состояния FPU код ошибки. CPU вырабатывает прерывание типа 10h, но чаще - аппаратное прерывание типа 75h по линии IRQ13.

Какие именно байты (A, B, C или D), из четырех возможных, машинного слова будет передаваться по системной шине ISA за один цикл обмена, определяются кодами управляющих сигналов ВЕ3# - BE0#. Коды передачи байтов по системной шине приведены в таблице 1.2.

Возможные типы циклов шины приведены в таблице 1.3. Символ #, стоящий после названия сигнала означает, что активный уровень сигнала - нижний. Сигнал М означает обмен с DRAM, IO - обмен с портом, D - передача данных, С - передача команды, W - запись, R - чтение DRAM или порта соответственно.

Таблица 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. Страничный механизм доступа к памяти отключен, исполнительный адрес всегда соответствует физическому, все сегменты могут находиться в состоянии записи, считывания или выполнения.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14


© 2010 BANKS OF РЕФЕРАТ