Техническая диагностика средств вычислительной техники
Теоретические положения, касающиеся организации, архитектуры и особенностей технической диагностики персональных ЭВМ типа IBM PC/AT. Методики профессионального обслуживания аппаратно-программных вычислительных систем на базе персональных компьютеров.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 21.03.2008 |
Размер файла | 314,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
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. Страничный механизм доступа к памяти отключен, исполнительный адрес всегда соответствует физическому, все сегменты могут находиться в состоянии записи, считывания или выполнения.
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.
-- - - - - - - - T - - - - - - - - - - - - - - - - - - - - - ¬
32 Exp Bus 64 Fraction Bus
¦ -------------¬ ¦ -----------¬ ¦¦ ¦¦ ---------¬ ¦
¦ CWR ¦ ¦ EM ¦<--->¦¦ ¦¦<-->¦ PS ¦
¦ +------------+ ¦ L----------- ¦¦ ¦¦ L--------- ¦
¦ SWR ¦ ¦¦ ¦¦ ---------¬
¦ L-----T------- ¦ -----------¬ ¦¦ ¦¦<-->¦ AM ¦ ¦
¦ ¦ MCU ¦ ¦¦<->¦¦ L---------
D[31------+------¬---->¦ ¦ ¦¦ ¦¦ ---------¬ ¦
/00]¦ ¦ ¦ L----------- ¦¦In-¦¦<-->¦ TR ¦
--->¦ DB ¦ -----------¬ t32 ¦¦ter¦¦ L--------- ¦
¦ ¦ ¦---->¦ OQ ¦<--->¦¦fa-¦¦
L-----T------- ¦ ¦ ¦¦ce ¦¦ ¦
¦ ¦ ¦ L----------- ¦¦ ¦¦
sta- ¦<-------->-----------------¬ ¦¦ ¦¦ ¦
tus ------+------¬ ¦ ¦ TW (2 bit)81,80¦ ¦¦ ¦¦
--->¦ ABT ¦ L----------------- ¦¦ ¦¦ ¦
add-+------------+ ¦ 79 St0-St7 \/ \/ 00
ress¦ EP ¦ ---------------------------------------¬ ¦
--->¦ 2x32 ¦ ¦ ¦ RS 7 ¦
¦ L------------- +--------------------------------------+ ¦
¦ ¦ 6 ¦
¦ +--------------------------------------+ ¦
¦ ¦ Register Stack 80 bits 5 ¦
¦ +--------------------------------------+ ¦
¦ ..............................
¦ +--------------------------------------+ ¦
¦ ¦ 0¦
¦ L--------------------------------------- ¦
CU ¦ NEU
L- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Рисунок 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, младшего и старшего байтов, по
32 Кбайт, имеющая возможность расширения до 128 Кбайт;
4) через контроллер типа 8042 поддерживается двунаправленный интерфейс связи с KBD;
5) в зависимости от модификации, на SB устанавливаются различные элементы конфигурирования (переключатели, или перемычки), например для:
- разрешения режима конвейеризации адресов,
- выбора типа сопроцессора FPU,
- разрешения изменений содержания CMOS RAM,
- выбора рабочей частоты SB,
- разблокировки аппаратного сброса,
- выбора типа дисплея (MDA, EGA, VGA, SVGA) и т. д.
Вычислительная система поддерживается:
- 16-ю линиями запросов прерываний IRQ,
- 7-ю линиями запросов DRQ на ПДП,
- тремя каналами таймера,
- схемами аппаратного сброса и окончания работы CPU (RESET и Shut Down),
- стандартная частота шины ISA по вводу-выводу составляет 8 МГц;
1.4.5.1) Подсистема оперативной памяти
DRAM управляется контроллером 82С302. Контроллер поддерживает режим конвейеризации адресов, используя внутренние защелки, сохраняющие адрес и состояние для текущей выборки.
Специальные сигналы /IO2XCL и XAO разрешают доступ к регистрам конфигурации контроллера для хранения конфигурации DRAM. Это регистры:
1) областей теневой памяти (Shadow RAM);
2) используемой памяти на SB и картах расширения;
3) количества банков памяти, доступных из системы;
4) области расширенной (Extended) памяти - выше 640 Кбайт;
5) области дополнительной (Expanded) памяти - выше 1Мбайта.
6) числа тактов ожидания при доступе к базовой (Conventional) и расширенной памяти и к ROM BIOS;
7) доступности дополнительной памяти;
8) манипуляции с паритетным контролем (назначить/отменить);
9) разрешения страничного режима организации памяти в РРМ с чередованием банков.
Принцип страничной организации памяти с чередованием банков.
Обычная схема чтения информации из ОЗУ следующая:
1) на МА[9/0] через мультиплексор адреса выставляются два кода: один - для доступа к строке матрицы памяти, (со стробом /RAS n), а за ним, - для доступа к столбцу, (со стробом /CAS m). Между стробами фиксируется временная задержка в соответствии с требованиями конкретных ИМС памяти;
2) элементарная ячейка DRAM при чтении стирается и, для ее восстановления, считанная информация вновь записывается в эту же ячейку через усилители регенерации, расположенные внутри чипа памяти, для чего требуется время, в течение которого доступ к ОЗУ невозможен.
В оптимальном варианте, память организована с четным числом банков, разбитым каждый на страницы, например, по 4 Кбайт. Тогда, при последовательном доступе к четырем банкам, стробы /RAS0 - /RAS3 формируются только в начале выборки очередной страницы, оставаясь затем в активном L-уровне, поэтому стробы /CAS0 - /CAS3 не имеют задержек при каждом очередном запросе банка. Кроме того, каждая последующая выборка относится к следующему банку, а информация в предыдущем банке за это время успевает восстановиться. В контроллере 82С302 организовано программное управление временем задержки между /RAS и /CAS, в зависимости от организации памяти. При невозможности своевременного доступа к информационной ячейке (еще не завершен цикл регенерации информации), контроллер 82С302, установкой сигнала /IOCHRDY = L к контроллеру 82С301, вводит цикл ожидания.
Регенерация DRAM восполняет каждые 3 мсек потерю энергии в накопительных емкостях памяти, происходящую из-за естественных утечек. Для этого каждые 15 мксек (шаг регенерации) на локальные адресные линии от счетчика регенерации, расположенного в буфере старшей части адреса ABF (82А303), устанавливается очередной код строки. Затем принудительно задается команда чтения памяти, разрешая доступ к строкам /RAS[3/0] =L и запрещая - к столбцам (CAS[3/0] =H). Это препятствует поступлению информации DRAM в шину данных. При этом все модули DRAM читаются по адресу данной строки одновременно, восстанавливаясь через усилители регенерации. Так, через каждые 15 мксек в течение
3-х мсек восстанавливается вся RAM.
Процесс регенерации - самый приоритетный, подчиняющийся сигналу управления REFRESH = L.
Цикл "обмена", отводимый под регенерацию, переводит систему в холостое состояние, что является существенным недостатком DRAM, но высокая информационная емкость, низкая стоимость и малое энергопотребление, характерное для динамической памяти, дают решающее преимущество DRAM перед SRAM для использования ее в качестве оперативной.
Оперативная память под MS DOS подразделяется на базовую, расширенную и дополнительную. Стандартное распределение информации в оперативной памяти приведено в таблице 1.4.
В карте адресного пространства ОЗУ, в пределах 1Мбайта есть лишь две области, принадлежащие к DRAM в DOS: 640 Кбайт базовой и 64 Кбайт - зона EMS, страницы которых доступны узлам контроллера и программе. Область адресов VIDEO-памяти находится в той же памяти, но конфликтов при обращении к видеопамяти не возникает, т. к. доступ к ней осуществляется по стандартной схеме управления и адресации, а конфликт устраняется аппаратно, узлом адресных линий A[25/17] контроллера с переносом видео-RAM в область расширенной памяти.
При рассмотрении таблицы распределения памяти следует обратить внимание на то, что область высшей памяти, объемом в 64 Кбайт с адресами от 100000h до 10FFFFh расположена в области расширенной памяти, но доступна и под DOS.
Таблица 1.4. Карта стандартного распределения памяти под MS DOS
------------T---------------------T-----------T-----------------
ширина ¦ назначение ¦ область ¦ размещение
адресного ¦ области ¦ адресов ¦ и наименование
пространства¦ адресов ¦ ¦ области
------------+---------------------+-----------+-----------------
Стандартная или базовая память
1К ¦ Interrupt Area ¦ 000000 ¦
¦ векторы прерываний ¦ 0003FFh ¦
¦ ¦ ¦
256 байт ¦ BIOS Data Area ¦ 000400 ¦
¦ область данных BIOS ¦ 0004FFh ¦
¦ ¦ ¦
512 байт ¦ System Data Area ¦ 000500 ¦ расположена
¦ область данных DOS ¦ 0006FFh ¦ в DRAM
¦ ¦ ¦
около 70 К ¦ Ядро системы DOS: ¦ 000700 ¦ Conventional
¦ V 3.2 - 70 K ¦ ¦ Memory,
¦ V 3.3 - 67 K ¦ ¦ стандартная
¦ V 5.0 - 118 K (60 K ¦ ¦ или базовая
¦ в Conv.Mem.,осталь- ¦ ¦ память дос-
¦ ное - в HMA) ¦ 01163Fh ¦ тупная MSDOS
¦ ¦ ¦
около 570К ¦ Область стековой ¦ ¦
¦ памяти, транзитный ¦ ¦
¦ модуль СОМ.COM и ¦ ¦
¦ пользовательская ¦ 011460 ¦
¦ область ¦ 09FFFFh ¦
+ ¦ ¦
итого 640Кбайт ¦ ¦
-------------+---------------------+-----------+-----------------
Верхняя память (Uрper Memory Area):
128 К ¦ Video RAM 0A0000 экранная
¦ (Shadow RAM) ¦ 0BFFFFh ¦ память, рас-
¦ ¦ ¦ положена в
¦ ¦ ¦ видео подсистеме
¦ ¦ ¦
64 К ¦ Пространство "лову- ¦ 0С0000 ¦
¦ шек" BIOS для ¦ ¦ расположена
¦ УВВ (Shadow RAM) ¦ 0СFFFFh ¦ в ПЗУ УВВ
¦ ¦ ¦
64 К ¦ Организация специ- ¦ 0D0000 ¦
¦ фикаций LIM EMS ¦ ¦
¦ 3.2/4.0 ¦ ¦
¦ - 4 cегмента ¦ ¦
¦ (frame) по 16 К ¦ ¦ расположена
¦ (Shadow RAM) ¦ 0DFFFFh ¦ в подсистеме DRAM
¦ ¦ ¦
128 K ¦ Область, выделенная ¦ 0Е0000 ¦ расположена
¦ под BIOS (Shadow ¦ ¦ в ПЗУ подсистеме
¦ RAM)-копия ROM BIOS ¦ ¦ ROM BIOS
¦ для RМ ¦ 0FFFFF ¦ (две послед-
¦ ¦ ¦ ние секции
итого 384Кбайт ¦ ¦ ROM)
------------+---------------------+-----------+-----------------
всего 1 Мбайт ¦ ¦
------------+---------------------+-----------+-----------------
Дополнительная (Exрanded) память:
64 К ¦ High Memory Area 100000 часть расши-
¦ (HMA) - высшая па- ¦ 10FFFFh ¦ ренной (Exten-
¦ мять, в DOS 5.0 - ¦ ¦ ded) памяти,
¦ хранит часть ядра ¦ ¦ доступна для
¦ системы ¦ ¦ DOS 5.0 и выше
¦ ¦ ¦
15168 K ¦ Expanded Memory ¦ 110000 ¦ RAM - память,
¦ (дополнительная ¦ ¦ доступная для
¦ память), с помо- ¦ ¦ системных
¦ щью программ- ¦ ¦ программ в РМ.
¦ администраторов ¦ ¦
¦ (менеджеров) ¦ ¦
¦ используется в RM ¦ ¦
¦ как Extended ¦ FDFFFFh ¦
¦ Memory ¦ ¦
¦ ¦ ¦
¦ ¦ ¦
итого 15232 Кбайт ¦ ¦
¦ ¦ ¦
¦ ¦ ¦
¦ ¦ ¦
¦ ¦ ¦ Область копи-
128 К ¦ BIOS ¦ FE0000 ¦ рования BIOS
¦ ¦ FFFFFFh ¦ в PM (две пос-
¦ ¦ ¦ ледние секции
¦ ¦ ¦ ROM BIOS)
_________________________________________________________________
Подобные документы
Исторические предшественники компьютеров. Появление первых персональных компьютеров. Концепция открытой архитектуры ПК. Развитие элементной базы компьютеров. Преимущества многопроцессорных и многомашинных вычислительных систем перед однопроцессорными.
курсовая работа [1,7 M], добавлен 27.04.2013Этапы развития информатики и вычислительной техники. Аппаратная часть персональных компьютеров. Внешние запоминающие устройства персонального компьютера. Прикладное программное обеспечение персональных компьютеров. Текстовые и графические редакторы.
контрольная работа [32,8 K], добавлен 28.09.2012События, предшествовавшие появлению персональных компьютеров. Важнейшие этапы развития вычислительной техники до появления персональных компьютеров. Выпуск операционной системы Windows 3.1. Микропроцессор Intel 8088. Табличный процессор VisiCalc.
презентация [938,0 K], добавлен 21.06.2013История персональной вычислительной техники, классификация ПЭВМ. Принципы фон Неймана. Разработка первых персональных компьютеров фирмы IВМ. Концепция "открытой архитектуры". IBM PS/2 и IBM-совместимые 386-е. Использование нового микропроцессора у ПК.
презентация [552,5 K], добавлен 11.12.2013Основная концепция СТР-К в отношении к защите информации, обрабатываемой средствами вычислительной техники. Защита информации при сетевом взаимодействии для автоматизированных рабочих мест на базе автономных персональных электронно-вычислительных машин.
реферат [28,0 K], добавлен 11.10.2016История появления и развития первых вычислительных машин. Изучение характеристик электронно-вычислительной машины. Архитектура и классификация современных компьютеров. Особенности устройства персональных компьютеров, основные параметры микропроцессора.
курсовая работа [48,6 K], добавлен 29.11.2016Устройство и принцип работы персонального компьютера (ПК). Диагностика работоспособности ПК и определение неисправностей. Задачи технического обслуживания средств вычислительной техники. Разработка методик поддержания техники в работоспособном состоянии.
курсовая работа [274,5 K], добавлен 13.07.2011Роль компьютеров и информационных технологий в жизни современно человека. Основные принципы функционирования современных персональных электронных вычислительных машин. Основные устройства компьютера, компоненты системного блока и их взаимодействие.
реферат [29,2 K], добавлен 10.12.2012Определение перспектив, направлений и тенденций развития вычислительных систем как совокупности техники и программных средств обработки информации. Развитие специализации вычислительных систем и проблема сфер применения. Тенденции развития информатики.
реферат [19,5 K], добавлен 17.03.2011Архитектуры вычислительных систем сосредоточенной обработки информации. Архитектуры многопроцессорных вычислительных систем. Классификация и разновидности компьютеров по сферам применения. Особенности функциональной организации персонального компьютера.
контрольная работа [910,2 K], добавлен 11.11.2010