Структурная схема системной платы РС i386DX

509004
знака
6
таблиц
0
изображений

1.4.1 Структурная схема системной платы РС i386DX

Системная плата i386DX, структурная схема котоой приведена на рисунке 1.3, имеет следующие особенности:

1) применяется модернизированный ISA-интерфейс, включающий в себя дополнительный разъем для организации доступа в подсистему DRAM по 32-битовой шине данных;

2) управление обменом выполняется CPU i386 в режиме pipelined mode – конвейеризации адресов в 32-битовом формате;

3) аппаратно-программные средства обеспечивают доступ к DRAM в режиме Interleaving Organization – чередование банков памяти;

4) допускается страничный, по 2 Кбайт, режим (Page Mode) работы ОЗУ;

5) для повышения гибкости работы системы, в ряде контроллеров дополнительно программируются регистры конфигурации портов ввода-вывода;

6) ПЗУ базовой системы ввода-вывода ROM BIOS, объемом 64 Кбайт, включает в себя программу Extended CMOS SetUp или New SetUp, из которой и загружаются вышеуказанные порты регистров конфигурации, в результате чего, по желанию пользователя, могут быть изменены параметры теневой ОЗУ (Shadow RAM), отменена проверка паритета DRAM (Рarity Check DRAM), обеспечивается независимое программирование рабочей скорости CPU, DMA, системной шины, задержки в управлении памятью и устройствами ввода-вывода;

7) в составе клона IBM PC\AT, для периферийного оборудования может быть установлен менеджер режимов питания, позволяющий переводить модули обрамления в экономичный режим энергопотребления, если ВС находится в режиме простоя (Ti-Idle). Сам менеджер имеет автономную систему питания и организован на чипе i82347

┌─ ─ ─ ─ ─┐ Local Bus System Memory Bus IO Channel Bus
80387 D A MD MA SD SA
│ 80287 │ 32 │32│ ┌────────┐ 32 │32│ 16 │24│
WTL3167 \│ \│ ctrl │ ABF │ \│ \│ \│ \│
│ ┌─────┴──┐ │ │ ─────>│ │──────│─>│ │ │
 FPU│ CPU │────│─>│<──────>│ 82A303 │<─────│──│─────────────────│─>│
└─ ─┤ │ │ │ │ 82A304 │<───┐ │ │ │ │
│ │<──>│ │ └────────┘ │ │ │ │ │
│ 80386 │ │ │ ┌────────┐ │ │ │ │ │
└────┬───┘ │ │ ctrl │ DBF │ │ │ │ │ │
│ │ │ ─────>│ │<────>│ │ RD[15/00] │ │
│ │<─│───────>│ 82A305 │<─────│──│─┬─>┌───────┐ │ │
┌────┴───┐ │ │ │ │ │ │ │ │ │I/O BUS│ │ │
│ │ │ │ └────────┘ │ │ │ │ │ │<──>│ │
│ SC │ │ │ ┌────────┐ │ │ │ │ │74S245 │ │ │
│ │ │ │ ctrl │ MC │ │ │ │ │ └───────┘ │ │
│ 82C301 │ │ │ <─────┤ │<──┐│ │ │ │ │ │
└───┬┬───┘ │ ├───────>│ 82A302 │<─────│─>│ │ ┌───────┐ │ │
││ │ │ │ │ ││ └──┤ ROM │<───│──┤
││ │ │ └───┬────┘ ││ │ BIOS │ │ │
\/ ┌───┴────┐ ││ └───────┘ │ │
CONTROL │ BFS │ ││ ┌───────┐ │ │
XD[07/00] └───┬────┘ ││ ┌─┤ AT │<───│─>│
XA[01/00] │ ││ │ │Add On │<──>│ │
│ ││ │ │Boards│ │ │
Peripheral ┌───┴────┐ ││ │ └─────┬─┘ │ │
Bus │ DRAM │ ││ └───────┘ │ │
XD XA └────────┘ ││ │ │
│<──│───────────────────────────┘│ │ │
│ │<───────────────────────────┘ │ │
8 │ │ 8(24) ┌───────┐ │ │
\│ │/ │I/O BUS│ │ │
│<──│───────────────────>│74S245 │<────────────────────>│ │
│ │ ┌────────┐ └───────┘
│<──│───────>│ IPC │
│<──│───────>│ 82C206 │
 │ │ └────────┘ ┌────────┐
│<──│─────────────────────────────────>│ KBDC │
│ │<────────────────────────────────>│ 8042 │└────────┘

Рисунок 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б │
 └──────────────────────────┬──────────────┘ └──────┬──────┘
│ ┌──────┴──────┐
┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ ─ ─ ─ ─┐ │ I D U │
┌────────────────────┐ │ ├─────────────┤
│ │ ┌──────────────┐│ │<───────│────────>│ очередь МкК ├──┐
│PAG │КЭШ стр.дескр.││<───┤ │ 31x100 бит │ │
│ │ └──────────────┘│ │ │ └─────────────┘ │
└───────────┬────────┘ │ ┌──────────────┐ │
│ │ │<───────│────────>│ E U │ │
┌────┴─────────────┴───┐ ├──────────────┤ │
│ │ ┌────────────────┐│ │  │┌────────────┐│ │
MMU │ SU │ КЭШ сегм. дескр.│ ││файл 32р Рг ││ │
│ │ └────────────────┘│ │ │└────────────┘│ │
└──────────────────┬───┘ │┌────────────┐│ │
└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ ─ ─ ─ ─┘ ││ А Л У 32р ││ │
┌──────────────┐ │ │└────────────┘│ │
│ устройство │<──────┴─────────────────>│┌────────────┐│ │
│ защиты памяти│ ││сдвигат. 64р││ │
└──────────────┘  │└────────────┘│ │
микрооперации └──────────────┘ │
^ ^ ^ ^ ^ ^ │
┌────────────┴──┴──┴──┴──┴──┴────────────┐ │
│ управление микропроцессором │<───────────────┘
└──────────────────────────────────────┬─┘
^ ^ ^ ^ ^ ^ ^ │
│ │ │ │ │ │ │ │
PE REQ │ /ERROR │ NMI │ │ v
/BUSY /RESET INTR HOLD HLDA
└─────────────────────────────┘ └─────────┘

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

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

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 математический сопроцессор.

FPU поддерживает вещественные, целые и двоично-десятичные числа, представленные в формате с плавающей точкой:

(-1)S[1.f1 – f(23,52,63)]*2[E – (127,1023,16383)]

где

S = 0 – знак мантиссы "+",

S = 1 – знак мантиссы "–",

f – мантисса,

Е – экспонента,

(23, 52, 63) – размеры поля дробной части мантиссы действительных данных в коротком, длинном и временном формате операндов с FP, соответственно,

(127, 1023, 16383) – величины смещения, вычитаемые из характеристики (характеристика включает в себя знак порядка) для представления истинного порядка.

Имеются два поколения FPU:

- 8087, 80287 - имеют неполное соответствие существующему стандарту IEEE-75-4-1985;

- 80387, 80387DX ,80387SX ,80287A ,80287XL, 80C187, 80487SX – стандартизованы и их скоростные характеристики выше.

FPU i387 может работать с CPU синхронно или асинхронно, поэтому FPU подбирается для совместной работы с CPU на частотах, равных, или выше рабочей частоты CPU.

FPU i287 тоже может использоваться в РС 386, но имеет асинхронный интерфейс с CPU.

FPU i387, для выравнивания скорости интерфейса FPU и скорости работы локальной шины данных CPU, имеет буфер данных (DB), стек типа FIFO и, в отличие от i287, работает без тактов ожидания. Обобщенная структурная схема FPU приведена на рисунке 1.5. Фирма WEITEK Corp. производит сопроцессоры WTL3167, WTL4167 (для CPU 386 и 486 соответственно) – самые скоростные модели, однако несовместимые с FPU классической архитектуры, как по системе команд, так и по способу их загрузки. Для их работы требуются специальные программные средства поддержки, фирм Metaware или Microway.

Фирма Cyrix производит менее скоростные, но самые точные FPU 83D87 (для i386DX), 83S87 (для i386SX), 82S87 (для i286). Это FPU классической архитектуры, но их производительность на 25% выше, чем i387, так как все критичные по времени процессы реализованы жесткой логикой (аппаратные умножитель и АЛУ мантиссы, 90-разрядные регистры и т. д.). Энергопотребление их втрое ниже, чем i387.

При объединении CPU i386 c FPU i387, в адресное пространство CPU добавляются адреса портов ввода-вывода регистров данных FPU i387: 800000F8–800000FFh (адреса портов FPU F8–FFh).

 

1.4.4.1) Структурная схема математического сопроцессора

Обобщенная структурная схема FPU приведена на рисунке 1.5.

┌─ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐
32 Exp Bus 64 Fraction Bus
│ ┌────────────┐ │ ┌──────────┐ ││ ││ ┌────────┐ │
│ CWR │ │ EM │<───>││ ││<──>│ PS │
│ ├────────────┤ │ └──────────┘ ││ ││ └────────┘ │
│ SWR │ ││ ││ ┌────────┐
│ └─────┬──────┘ │ ┌──────────┐ ││ ││<──>│ AM │ │
│ │ MCU │ ││<─>││ └────────┘
 D[31┌─────┴──────┐────>│  │ ││ ││ ┌────────┐ │
 /00]│ │ │ └──────────┘ ││In-││<──>│ TR │
 ───>│ DB │ ┌──────────┐ t32 ││ter││ └────────┘ │
│ │ │────>│ OQ │<───>││fa-││
└─────┬──────┘ │ │ ││ce ││ │
│ │ │ └──────────┘ ││ ││
 sta- │<────────>┌────────────────┐ ││ ││ │
 tus ┌─────┴──────┐ │ │ TW (2 bit)81,80│ ││ ││
 ───>│ ABT │ └────────────────┘ ││ ││ │
 add-├────────────┤ │ 79 St0-St7 \/ \/ 00
 ress│ EP │ ┌──────────────────────────────────────┐ │
 ───>│ 2x32 │ │ │ RS 7 │
│ └────────────┘ ├──────────────────────────────────────┤ │
│ │ 6 │
│ ├──────────────────────────────────────┤ │
│ │ Register Stack 80 bits 5 │
│ ├──────────────────────────────────────┤ │
│ ..............................
│ ├──────────────────────────────────────┤ │
│ │ 0│
│ └──────────────────────────────────────┘ │
CU │ NEU
└─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘

Рисунок 1.5. Структурная схема FPU.

Обозначения на схеме:

CU – (Control Unit) устройство управления,

NEU – (Numeral Execution Unit) устройство цифровых процедур,

СWR – (Control Word Register) регистр управляющего слова,

SWR – (Status Word Register) регистр слова состояния FPU,

DB – (Data Buffer) буфер данных,

АВТ – (Addresing & Bus Tracking) адресация и слежение за состоянием системной шины.

EP – (Execution Pointer) указатель процедуры шины,

ЕМ – (Exponent Module) модуль управления порядками чисел с FP,

MCU – (Microcode Control Unit) устройство микроуправления,

OQ – (Operands Queue) очередь операндов,

TW – (Tag Word) словарь тегов и dirty bit в RS,

RS – (Register Stack) стековые регистры,

PS – (Programmable Shutter) программируемый сдвигатель,

AM – (Arithmetic Module) модуль арифметических процедур,

TR – (Temporary Registers) регистры временного хранения промежуточных данных.

 

1.4.4.2) Работа и связь FPU с CPU.

В системе локальной шины, обменом всегда управляет CPU: – формирует адреса выборки команд и операндов, при обмене данными между FPU и DRAM – считывает информацию из ОЗУ и регистров FPU. FPU i387 подключен к CPU параллельно в 32-разрядном формате шины, а i287 - в 16-разрядном.

Взаимодействие FPU с системой осуществляется посредством команд. Все команды, транслируемые в CPU, параллельно поступают и в FPU, но команды FPU имеют особый код ESC (11011).

При встрече в программе команды ESC, выполняются следующие процедуры:

1) CPU записывает в свои регистры: код операции FPU, адреса команды, операнда и направление передачи;

2) в режиме РМ, CPU обеспечивает защиту информации и анализирует линию /BUSY от FPU;

3) если /BUSY=L, CPU переходит в ожидание, так как результат выполнения команды ESC может быть востребован очередной командой;

4) CPU подготавливает линии локальной шины для обмена с FPU;

5) FPU начинает выполнение очередной команды;

6) если FPU требуются данные, он выставляет на линию PE сигнал REQ=H, и тогда, –

7) CPU, имея все сведения для обмена на своих регистрах, активизирует линии /ADS, W/R#, Addres, М/IO#.

Обмен данными с FPU занимает не менее двух циклов CPU (по два внутрипроцессорных такта Ts и Tc, по два такта синхронизации CLK каждый, т. е. всего 8 тактов CLK2).

В первом цикле, CPU либо считывает данные из ОЗУ, запоминая их в своих регистрах, либо данные из арифметических регистров FPU (также запоминая их), теперь – для записи в ОЗУ.

Во втором цикле обмена, CPU, через сигналы своего внешнего интерфейса, записывает данные из своего внутреннего регистра в ОЗУ, либо через порты FPU – в арифметические регистры FPU.

Подключение математического сопроцессора.

Для подключения FPU, системная плата имеет или 40-контактный FPU-chip-socket для i287, или мозаичную 68-контактную розетку для i387, или 114-контактную розетку комбинированного применения для FPU WEITEK.

Если контакты на панели розетки расположены в два ряда – это розетка для FPU фирм INTEL, Cyrix, IIT, ULSI, AMD. Если в три ряда – это для FPU фирмы WEITEK. Могут быть две розетки, или панель типа EMC (Expanded Math Coprocessor), универсальные – и для INTEL, и для WEITEK.

При установке FPU в розетку следует принимать меры предосторожности (CMOS очень чувствительна к статике):

- перед установкой следует временно закоротить специальной гребенкой все выводы чипа FPU;

- заземлить гребенку;

- заземлить корпус РС (вилка питания РС должна быть выключена из сети питания);

- работать следует всегда с антистатическим браслетом на руке;

- только после установки FPU в схему можно снять гребенку.

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

1. Каково назначение математического сопроцессора?

2. Какой формат имеют операнды при работе РС с плавающей точкой?

3. Как осуществляется процедура обмена данными FPU c DRAM?

4. Как конструктивно могут быть исполнен математический сопроцессор?

5. Какую внутреннюю разрядность данных имеет FPU?

6. Каков порядок подключения FPU к системной плате?

 

1.4.5 Подсистемы системной платы

На системной плате PC386DX развернуты следующие подсистемы:

1) подсистема DRAM, включающая в себя:

- контроллер 82С302,

- четыре банка накопителей с чипами 41256, или 411000, или 44256, объемом 2, 4, 8, 10 Мбайт соответственно, с возможностью расширения до 16 Мбайт, при использовании модулей SIP, SIMM, или карты расширения ОЗУ в слоте. Время доступа в подсистему DRAM составляет 70-80 нсек;

2) подсистема ввода-вывода, состоящая из карт контроллеров, или адаптеров соответствующих УВВ;

3) подсистема ROM BIOS, организованная двумя чипами 27256, младшего и старшего байтов, по


Информация о работе «Техническая диагностика средств вычислительной техники»
Раздел: Информатика, программирование
Количество знаков с пробелами: 509004
Количество таблиц: 6
Количество изображений: 0

Похожие работы

Скачать
20420
2
0

... нарушения в процессе эксплуатации вычислительной техники с точки зрения руководителя предприятия (то, что было хорошо в этом месяце может быть плохо в следующем). При автоматизированном управлении средствами вычислительной техники должна соблюдаться иерархия “наблюдательности” - служба технической поддержки должна откликаться на каждую неисправность, начальник отдела ИТ – на любой просчет в ...

Скачать
28351
1
7

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

Скачать
21136
2
0

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

Скачать
155754
6
24

... Каждому элементу соответствует численный и символьный идентификатор. В имя переменной включается полный путь до нее от корневого элемента root. 3. Система мониторинга и администрирования   3.1 Системы управления технологическим сегментом магистральной цифровой сети связи ОАО «РЖД» РФ При построении современных цифровых сетей следует различать следующие сетевые уровни: уровень первичной ...

0 комментариев


Наверх