Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Каляев В.А., Заргарян Е.В. Вычислительные машины, системы и сети - файл 1.doc


Каляев В.А., Заргарян Е.В. Вычислительные машины, системы и сети
скачать (4574 kb.)

Доступные файлы (1):

1.doc4574kb.16.12.2011 02:58скачать

содержание

1.doc

  1   2   3   4   5   6   7   8   9   ...   13
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Технологический институт

Федерального государственного образовательного учреждения высшего профессионального образования

«Южный федеральный университет»


В.А.КАЛЯЕВ

Е.В.ЗАРГАРЯН


ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ, СИСТЕМЫ И СЕТИ

Таганpог 2008
УДК 518.5.001.57(075.8)
В.А.Каляев, Е.В.Заргарян. Вычислительные машины, системы и сети: Учебное поcобие. - Таганpог: Изд-во ТТИ ЮФУ, 2008. - 371 c.

Учебное поcобие пpедназначено для cтудентов, обучающихся по направлениям 220203 «Автоматизированные технологии и производства» и 220200 «Управление и информатика в технических системах». В работе приведены оcновные теоpетичеcкие положения, примеры схемотехнической и программной реализации вычислительных систем, методика выполнения лабораторных работ.
Табл. 39. Ил. 101. Библиогp.: 14 назв.
Печатаетcя по pешению pед.-изд. cовета ТТИ ЮФУ.

Рецензенты

Доктор технических наук, профессор директор регионального (областного) центра новых информационных технологий, проректор по информатике ТРТУ Целых А.Н.;

Доктор технических наук, профессор, заведующий кафедрой информатики ТГПИ Ромм Я.Е.


 ТТИ ЮФУ, 2008
СОДЕРЖАНИЕ
ВВЕДЕНИЕ………………………………………….. 7

1. ^ ЭЛЕКТРОННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ

МАШИНЫ ОБЩЕГО НАЗНАЧЕНИЯ……………... 8

1.1. Структура ЭВМ общего назначения……………..... 8

1.2. Арифметико-логические устройства……………..... 9

1.3. Устройства управления…………………………….. 10

1.4. RISC- и CISC-процессоры…..………....................... 13

1.5 Форматы машинных команд………………………... 16

1.6. Способы адресации……………................................. 17

1.7. Стековая адресация……………................................. 19

2. МИКРОПРОЦЕССОРНЫЙ

КОМПЛЕКТ К1810……………...................................... 20

2.1. Микропроцессор К1810ВМ86……………............... 20

2.2. Назначение входов/выходов ВМ86

в минимальном режиме……………................................. 20

2.3. Назначение входов/выходов ВМ86

в максимальном режиме……………............................... 26

2.4. Внутренняя архитектура МП ВМ86……………..... 28

2.5. Сегментация памяти ………………………………... 29

2.6. Программная модель МП ВМ86……………........... 31

2.7. Организация оперативной памяти……………........ 37

2.8. Организация адресного пространства портов ВУ… 39

2.9. Методы обмена информацией между МП и

портами ВУ…………….................................................... 40

2.10. Параллельный программируемый

адаптер К1810ВВ55 (i8255) …………….......................... 42

2.11. Пример использования

и программирования адаптера……………..................... 45

2.12. Программируемый таймер К1810ВИ54 (i8254)…. 47

2.13. Пример использования таймера………………….. 55

2.14. Обработка прерываний……………………………. 56

2.15. Система прерываний ВМ86……………………..… 59

2.16. Контроллер прерываний К1810ВН59 (i8259)…… 62

2.17. Дополнительная информация о настройке ВН59.. 67

2.18. Прямой доступ к памяти………………………….. 70

2.19. Контроллер прямого доступа

к памяти К1810ВТ37 (i8237) …………………………… 71

2.20. Программирование КПДП ВТ37……………….… 76

2.21. Организация процессорного модуля ВМ86……… 78

2.22. Организация шинного интерфейса

в максимальном режиме………………………………… 82

2.23. Слабо связанные конфигурации…………………. 85

2.24. Арбитр шин К1810ВБ89 (i8289) ………………… 89

2.25. Сильно связанные конфигурации на примере

совместной работы МП86

и арифметического сопроцессора ВМ87………….…… 94

2.26. Формат машинной команды ВМ86………………. 97

3. ТРИДЦАТИДВУХРАЗРЯДНЫЕ

^ ПРОЦЕССОРЫ ФИРМЫ INTEL………………….… 100

3.1. Общие сведения и терминология………………….. 100

3.2. Реальный режим…………………………………..… 109

3.3. Переключение в защищенный режим…………….. 113

3.4. Системные таблицы………………………………… 118

3.5. Механизмы адресации в защищенном режиме…… 123

3.6. Сегментный механизм……………………………… 124

3.7. Страничный механизм……………………………… 130

3.8. Формат элемента PTE (PDE) …………………….… 136

3.9. Особенности страничного механизма

в Pentium и Р6………………………………………….… 138

3.10. Механизм V86…………………………………..… 144

3.11. Методы обработки прерываний,

возникших в режиме V86……………………………….. 147

3.12. Механизм переключения задач. Формат

сегмента TSS…………………………………………..… 153

3.13. Битовая карта ввода-вывода…………………….… 157

3.14. Действия процессора при переключении задач…. 159

3.15. Формат дескриптора…………………………….… 161

3.16. Форматы шлюзов………………………………….. 167

3.17. Программная модель 32-разрядного МП……..…. 170

3.18. Регистры системного программиста …………….. 174

3.19. Буфер TLB (кэш-память страниц) ……………..… 182

3.20. Общие сведения о кэш-памяти………………..…. 186

3.21. Внутренняя кэш-память…………………………… 192

3.22. Сведения о кэшах в процессорах фирмы Intel…… 194

3.23. Инициализация процессора………………………. 197

3.24. Некоторые сведения о внутренней организации

32-разрядных процессоров……………………………… 198

3.25. Режим SMM……………………………….……….. 205

3.26. Система прерываний

32-разрядных процессоров……………………..………. 207

3.27. Переключение из защищенного режима

в реальный……………………………………………….. 216

3.28. Формат машинной команды……………………… 217

3.29. Команда CPUID…………………………………… 221

4. МИКРОПРОЦЕССОР ITANIUM……………… 232

4.1. Программная модель пользователя…………..…… 232

4.2. Адресация памяти………………………………….. 238

4.3. Программная модель системного программиста… 245

4.4. Поддержка архитектуры IA-32……………………. 246

5. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ

АССЕМБЛЕР…………………………………………… 248

5.1. Как писать ассемблерную программу …………….. 248

5.2. Системы счисления…………………………………. 250

5.3. Оперативная память………………………………… 252

5.4. Стек……………………………………..…………… 253

5.5. Сегментация памяти ……………………………….. 257

5.6. Система команд…………………………………..… 263

5.7. Выделение памяти под переменные и массивы….. 274

5.8. EXE- и COM-программы…..………………………. 276

5.9. Трансляция ассемблерной программы……………. 281

5.10. Работа с клавиатурой и экраном……………….… 291

5.11. Прерывания DOS для работы с клавиатурой……. 293

5.12. Прерывания BIOS для работы с клавиатурой…… 295

5.13. Прерывания DOS для работы с экраном…………. 297

5.14. Прерывания BIOS для работы с экраном………… 298

5.15. Пример программы, работающей

с клавиатурой и экраном……………………………...… 302

5.16. Задания к лабораторной работе

«Клавиатура и экран» …………………………………… 305

5.17. Работа с гибкими дисками………………………… 308

5.18. Задания к лабораторной работе

«Работа с гибкими дисками» …………………………… 322

5.19. Перехват прерываний и создание

резидентных программ………………………………..… 324

5.20. Задания к лабораторной работе

«Создание резидентных программ» …………………… 344

5.21. Работа со звуком…………………………………… 346

5.22. Отладка программ……………………………….… 349

6. ПРИЛОЖЕНИЕ………………………………….. 354

6.1. Сервисные прерывания DOS…………………….… 354

6.2. Сервисные прерывания BIOS……………………… 358

6.3. Коэффициенты пересчета для нот………..……….. 364

6.4. Значение цветов в байте атрибута………………… 365

6.5. Буфер клавиатуры………………………………..… 365

^ БИБЛИОГРАФИЧЕСКИЙ СПИСОК…………… 369
ВВЕДЕНИЕ
В учебном пособии изложены основные принципы схемотехнической и программной организации современных ЭВМ. Основное внимание уделено задачам организации ЭВМ на основе микропроцессоров фирмы Intel.

В первом разделе рассмотрены общие вопросы построения ЭВМ, структура ЭВМ с общей шиной, принципы построения арифметико-логических устройств (АЛУ) и управляющих устройств (УУ), особенности архитектуры RISC- и CISC-процессоров, форматы машинных команд и методы адресации.

Во втором разделе детально излагаются принципы построения ЭВМ и систем на основе микропроцессора К1816 ВМ86. Подробно рассмотрена организация процессорного модуля, системы прерываний, службы системного времени и ряд других.

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

В четвертом разделе приводятся основные сведения о новом 64-разрядном микропроцессоре Itanium.

Пятый раздел полностью посвящен вопросам программирования на языке Ассемблер.

1. ЭЛЕКТРОННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ ОБЩЕГО НАЗНАЧЕНИЯ
1.1. Структура ЭВМ общего назначения
Любая ЭВМ содержит два основных блока   центральный процессор (ЦП) и оперативную память (ОП).

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

- дешифратор команд, позволяющий декодировать считанную из ОП команду;

- арифметико-логическое устройство (АЛУ), позволяю-щее реализовать заданную в команде операцию;

- блок регистров общего назначения (блок РОН), предназначенных для временного хранения информации, причем наличие РОН позволяет резко снизить количество обращений к ОП, повышая тем самым общее быстродействие ЭВМ;

- устройство управления (УУ), обеспечивающее на всех этапах выполнения команды выработку необходимых управляющих сигналов.

Оперативная память состоит из ПЗУ и ОЗУ и предназначена для хранения программ, исходных данных, промежуточных и конечных результатов вычислений.

Обычно ЭВМ общего назначения организуется по так называемой схеме с общей шиной, показанной на рис. 1.1.

Системная шина (СШ) подразделяется на шину адреса (ША), шину данных (ШД) и шину управления (ШУ). На ША процессор выставляет адреса ячеек памяти и портов внешних устройств (ВУ), к которым он обращается. На шине управления процессор формирует сигналы, управляющие передачей информации. Сама передача информации производится по ШД.

Рис. 1.1
В любой момент к СШ может быть подключено не более двух устройств. Одно из этих устройств передает информацию, другое ее принимает. Как правило, одним из этих устройств является ЦП, который и управляет передачей информации по шине. Исключением является режим прямого доступа к памяти, когда ЦП в обмене участия не принимает, а управление обменом берет на себя стоящий в системе контроллер прямого доступа к памяти.
^ 1.2. Арифметико-логические устройства
АЛУ выполняет операции по преобразованию поступающей в него информации. В машинах малой и средней мощности, не имеющих отдельного блока для формирования физических адресов ОП, на АЛУ также возлагаются операции адресной арифметики.

Алгоритмы операций, выполняемых на АЛУ, включают определенную последовательность элементарных действий (микроопераций), среди которых различают прием кода операнда, преобразование этого кода, суммирование кодов двух операндов, сдвиг кода, логические операции над кодами и ряд других. Для выполнения этих действий в АЛУ имеются следующие функциональные узлы:

- регистры для временного хранения операндов;

- сдвигатели;

- преобразователи прямого кода в дополнительный и наобророт;

- сумматор, на котором реализуются арифметические и логические операции.

Существует много типов АЛУ. Например, по системам счисления различают АЛУ с двоичной и десятичной арифметикой, по формам представления числовых данных – АЛУ с фиксированной и плавающей запятой и т.д.
^ 1.3. Устройства управления
Каждая машинная команда требует для своей реализации несколько машинных тактов. В каждом такте УУ обеспечивает выдачу необходимого набора управляющих сигналов. Такой набор управляющих сигналов принято называть микрокомандой, а последовательность микрокоманд, необходимую для выполнения какой-либо машинной команды, - микропрог-раммой этой команды. Существует два основных способа построения логики управляющего устройства:

- устройство с «жесткой логикой», в котором для каждой реализуемой в процессоре операции строится набор схем, в нужных тактах возбуждающих соответствующие управляю-щие сигналы;

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

В настоящее время УУ с «жесткой логикой» используются довольно редко, так как любые изменения в системе команд приводят к переделке УУ с «жесткой логикой», в то время как для микропрограммного УУ достаточно будет перепрограммировать ПЗУ. Типичная структура микропрограммного УУ приведена на рис. 1.2.

Рис. 1.2
Работа схемы осуществляется следующим образом. Из ОП считывается очередная машинная команда. Код операции этой команды дешифрируется и подается на устройство формирования адреса микрокоманд, которое вырабатывает адрес первой микрокоманды соответствующей микропрограммы. Эта микрокоманда считывается из памяти и помещается в регистр микрокоманд. Операционная часть микрокоманды дешифрируется (в общем случае) и соответствующие управляющие сигналы подаются на АЛУ (вернее на операционный блок). Адресная часть микрокоманды определяет адрес следующей микрокоманды.

Также в процессе формирования адреса следующей микрокоманды могут принимать участие и снимаемые с АЛУ признаки, например признак «нулевого результата» и другие подобные. Эти признаки позволяют организовывать в микропрограммах условные переходы. Последняя микрокоманда микропрограммы несет в себе информацию о том, что она является последней и, следовательно, можно считывать из ОП следующую машинную команду.

В зависимости от способа формирования управляющих сигналов различают горизонтальное, вертикальное и смешанное микропрограммирование. При горизонтальном микропрограммировании каждый разряд кода микрооперации микрокоманды ставится в соответствие одному из возможных управляющих сигналов или одной из возможных микроопераций. Если в разряде стоит единица, то соответствующая микрооперация в данном такте выполняется, если ноль – нет. При таком способе операционная часть микрокоманды содержит m разрядов, где m – общее число микроопераций в процессоре.

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

При вертикальном микропрограммировании код микрооперации в микрокоманде задает одну из микроопераций. Длина операционной части микрокоманды значительно сокращается и составляет log2m, однако такая микрокоманда требует дешифрации. При таком способе невозможно задать в одном такте более одного управляю-щего сигнала, что снижает быстродействие процессора.

В настоящее время наибольшее распространение имеет смешанное микропрограммирование, в котором сочетаются методы горизонтального и вертикального микропрограм-мирования. Например, можно разбить все микрооперации на группы и внутри любой группы использовать вертикальное, а между группами – горизонтальное микропрограммирование.
^ 1.4. RISC- и CISC - процессоры
Начиная с 50-х и до середины 80-х гг. XX века развитие архитектуры процессоров усложнялось в основном за счет развития технологии, а не за счет принципиально новых идей. Система машинных команд процессоров также постоянно усложнялась, что было обусловлено стремлением обеспечить поддержку новых сложных языков высокого уровня (ЯВУ). Все разработанные за этот период процессоры относятся к типу CISC (common instruction set computer – «процессор с полным набором команд»). В середине 80-х этот путь развития был поставлен под сомнение, что привело к появлению RISC-процессоров (reduce instruction set computer – «процессор с сокращенным набором команд»). Рассмотрим причины, которые привели к этому повороту.

С уменьшением стоимости аппаратной части CISC-процессоров увеличивались затраты на программное обеспечение. Помимо высокой стоимости и неудобств в использовании, к недостаткам программного обеспечения относится наличие элемента ненадежности: для всех программ характерно выявление все новых и новых ошибок даже после нескольких лет эксплуатации. Фирмы решали эту проблему путем создания все более сложных ЯВУ, которые помогали программистам избегать ошибок.

Этот подход породил другую проблему   «семантичес-кий разрыв», которая заключается в существенном различии между операторами ЯВУ и машинными командами процессоров. Разрыв привел к неэффективному выполнению операторов, чрезмерному объему программ и сложности компиляторов. Пришлось искать архитектурные решения, направленные на устранение этого разрыва.

К основным особенностям CISC-архитектур относятся:

- использование сложных машинных команд;

- большое число используемых способов адресации;

- аппаратная реализация некоторых операторов ЯВУ.

Эти особенности способствуют достижению целей:

- облегчение труда разработчиков компиляторов;

- повышение эффективности выполнения операторов;

- обеспечение базы для использования гораздо более изощренных ЯВУ.

Этот подход также породил сомнения у разработчиков, и они провели анализ программ, написанных на ЯВУ. Выяснилось, что 2/3 операторов   простейшие операторы вида А = В. Был сделан вывод, что подгонка системы команд под ЯВУ не самая лучшая стратегия. Гораздо более эффективным может оказаться путь оптимизации наиболее часто встречающихся в программах операторов.

Обобщение этих и других исследований привело к тому, что были сформулированы три принципиальные особенности архитектуры RISC-процессоров:

- использование большого числа (до нескольких сотен) внутренних регистров, с целью снижения числа обращений к ОП;

- использование эффективного конвейера команд, эффективность которого обеспечивается простотой форматов машинных команд;

- использование сокращенного набора машинных команд, что и позволяет использовать их простые форматы.

Существует много подходов к построению RISC-процессоров, однако у них у всех есть общие характеристики:

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

- большинство операций имеют тип «регистр   регистр», что позволяет упростить УУ и повысить быстродействие;

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

- применяются простые форматы машинных команд.

Обычно используется один или несколько (два-три) формата. Все команды имеют фиксированную длину и фиксированное расположение полей. Этот подход дает возможность легко реализовать конвейер команд, упростить УУ и повысить быстродействие процессора.

Выпускаемые в настоящее время процессоры сочетают в своей архитектуре особенности RISC- и CISC- процессоров.
^ 1.5. Форматы машинных команд
Машинной командой называется двоичное слово, содержащее всю информацию, необходимую процессору для выполнения заданной операции. А именно: тип операции, адреса операндов, адрес приемника результата. Для фиксации этой информации в машинной команде выделяются группы разрядов, называемые полями. Любая машинная команда состоит из поля кода операций (КОП) и ряда адресных полей. Форматом машинной команды называется заранее оговоренная структура ее полей.

В наиболее общем случае машинная команда должна иметь формат, представленный на рис. 1.3.

Рис. 1.3
На рис. 1.3 А1 – поле адреса первого операнда, А2 – поле адреса второго операнда, А3 – поле адреса приемника результата, А4 – поле адреса следующей машинной команды. Это четырехадресная машинная команда.

Чем больше в команде полей, тем больше места она занимает в оперативной памяти (ОП). Это приводит к непроизводительному расходу памяти и снижению общего быстродействия ЭВМ, так как считывание таких команд из ОП требует больших временных затрат.

На практике четырехадресные машинные команды никогда не использовались. Машинные команды любой программы располагаются в ОП не хаотично, а последовательно, одна за другой, поэтому в состав процессора вводится специальный регистр, называемый программным счетчиком. Перед началом выполнения программы в него заносится адрес первой команды программы. После считывания очередной машинной команды из ОП содержимое программного счетчика автоматически увеличивается на число считанных байт.

Таким образом в программном счетчике автоматически формируется адрес следующей машинной команды программы. При таком подходе поле А4 становится ненужным и команда становится трехадресной.

Если результат операции всегда помещать на место одного из операндов, например первого, отпадает необходимость в поле А3 и команда становится двухадресной. Хотя при таком подходе команды несколько теряют в гибкости и создаются определенные неудобства при программировании, практика показала, что выигрыш здесь значительно превышает проигрыш. Иногда в состав процессора вводят специальный регистр, называемый аккумулятором, и оговаривают, что один из операндов всегда берется из аккумулятора и в него загружается результат операции. При такой ситуации команды становятся одноадресными. Существуют и безадресные команды, например команды, реализующие стековые операции. В современных процессорах используются, как правило, двух-, одно- и безадресные команды. Например команды микропроцессора К1810ВМ86:

add dx, [234h] – двухадресная;

inc byte ptr [40h] – одноадресная;

push bx – безадресная.
^ 1.6. Способы адресации
Физическим адресом (Аф) будем называть двоичный номер ячейки памяти, к которой мы обращаемся. Адресным кодом (Ак) будем называть двоичное число, которое записано в адресном поле команды. Как правило, в современных ЭВМ Ак не совпадает с Аф.

Способ формирования Аф по заданному в команде Ак и называется способом (методом) адресации. Далее рассмотрим наиболее часто используемые на практике способы адресации.

^ Непосредственная адресация. В адресном поле команды задается не адрес операнда, а непосредственно сам операнд. Например, sub bl, 25.

Прямая адресация. В адресном поле команды задается адрес ячейки памяти. То есть в этом случае Аф = Ак. Например, mov [200h],al. Прямая адресация не дает возможности для организации циклов.

^ Косвенная адресация. Адресный код задает регистр процессора. Содержимое этого регистра берется в качестве Аф. Например, add ax, [bx]. Косвенная адресация предоставляет программисту простую возможность организации циклов.

^ Базовая адресация. Адресный код задает регистр процессора, откуда берется так называемый «базовый адрес», и некоторую величину, называемую смещением. Процессор вычисляет Аф путем сложения базового адреса со смещением. Например, add di, [si+100]. Базовая адресация удобна при работе с одномерными массивами. Базовый адрес при этом задает начальный адрес массива, а смещение указывает на элемент внутри массива. Кроме того, базовая адресация обеспечивает простую возможность перемещения программы в ОП без модификации этой программы.

^ Базово-индексная адресация. Адресный код задает два регистра процессора и смещение. Процессор вычисляет Аф, складывая смещение и содержимое обоих регистров. Например, mov dx, [bp+si+2]. Такая адресация удобна при работе с двухмерными массивами.
^ 1.7. Стековая адресация
Стек – это особый вид памяти. Если при обращении к обычной памяти необходимо задавать адрес ячейки, к которой производится обращение, то при обращении к стеку адрес задавать не надо.

Различают два вида стеков:

- стек, реализующий процедуру ^ LIFO (last input-first output   последним пришел – первым ушел);

- стек, реализующий процедуру FIFO (first input-first output   первым пришел – первым ушел).

Стек, реализующий процедуру LIFO, организуется, как правило, на обычной оперативной памяти. В состав процессора вводится специальный регистр, называемый указателем стека. Его содержимое адресует ячейку ОП, которую принято называть вершиной стека. После любой стековой операции содержимое указателя стека изменяется, соответственно меняется и вершина стека.

Например, в микропроцессорах фирмы Intel в качестве указателя стека используется регистр sp (esp). При выполнении команды push dx вначале из содержимого sp вычитается двойка и затем по полученному адресу в ОП записывается содержимое регистра dx. При выполнении команды pop bx в регистр bx выталкивается слово из вершины стека, а затем к sp прибавляется двойка.

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

2. МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ К1810
^ 2.1. Микропроцессор К1810ВМ86
Зарубежный аналог этой микросхемы имеет обозначение i8086. Этот микропроцессор (МП) относится к CISC-типу. Он имеет 20 адресных линий (т.е. может адресовать 220 = 1 Мбайт ячеек ОП) и 16 линий данных. МП может работать в двух режимах: минимальном и максимальном.

Минимальный режим используется, когда на основе МП реализуется несложная однопроцессорная система. Для сложных однопроцессорных и многопроцессорных систем используется максимальный режим.
^ 2.2. Назначение входов/выходов ВМ86 в минимальном режиме
Обозначение МП ВМ86 на функциональных схемах приведено на рис.2.1. Рассмотрим назначение входов-выходов МП в минимальном режиме.

CLK (clock – частота) – вход тактовых импульсов. Синхросерия на этот вход обычно подается с микросхемы генератора К1810ГФ84 (i8284).

INTR (interrupt request – запрос на прерывание) – маски-руемый вход запросов на прерывание. Все запросы на прерывание от внешних устройств заводятся на этот вход через схему ИЛИ. Внутри процессора имеется флаг if. Если этот флаг установлен в единицу, МП воспринимает запросы на входе INTR, если установлен в ноль – игнорирует. Вход INTR называют статическим. Процессор опрашивает сигнал на этом входе на границах команд. Cигнал на этом входе должен иметь достаточную длительность, иначе процессор может его «не заметить».



Рис. 2.1
INTA (interrupt acknowledge – прерывание подтверж-даю) – выход подтверждения прерывания. Если МП воспринял запрос на входе INTR, то он вырабатывает два сигнала на выходе INTA, подтверждая тем самым прерывание. Эти сигналы предназначены для контроллера прерываний К1810ВН59 (i8259).

NMI (non-maskable interrupt   немаскируемое прерыва-ние) – немаскируемый вход запросов на прерывание. МП всегда воспринимает запросы, поступающие на этот вход, независимо от состояния флага if. Сигналы подтверждения прерывания при этом не вырабатываются. Этот вход называют динамическим. Внутри процессора есть триггер, срабатывающий по переднему фронту сигнала на входе NMI. На границах команд процессор опрашивает состояние этого триггера. Таким образом, требования к длительности сигнала на входе NMI существенно ниже чем к длительности сигнала на входе INTR.

RESET – сброс микропроцессора. Сигнал на этот вход подается при включении питания или при нажатии кнопки RESET. Этот сигнал формируется генератором ГФ84. По этому сигналу происходит сброс в ноль всех флагов (т.е. внешние прерывания запрещаются), в регистры ip, es, ds и ss загружаются нули, а в регистр cs – единицы. Так как МП всегда формирует адрес следующей команды по формуле A = (cs)×16+(ip), то нетрудно видеть, что после сброса МП всегда стартует с адреса A = ffff0h+0000h = ffff0h.

READY – вход готовности. При обращении к памяти или порту внешнего устройства МП всегда выполняет так называемый цикл шины. Этот цикл состоит из четырех тактов (Т1, Т2, Т3 и Т4). Вначале такта Т4 происходит обмен информацией между МП и ОП или ВУ. Однако если в системе стоит медленная память, она может к этому моменту оказаться не готовой к обмену. В этом случае внешние схемы должны сформировать нулевой сигнал на входе READY, означающий, что устройство к обмену не готово. В такте Т3 МП проверяет вход READY и, если на нем единица, переходит к такту Т4. В противном случае МП вводит между тактами Т3 и Т4 такты ожидания. В каждом такте ожидания МП опрашивает вход READY и так до тех пор, пока на READY не появится единица.

^ TEST – МП проверяет сигнал на входе TEST, только когда он выполняет команду wait. Если при этом на входе TEST стоит ноль, МП переходит к следующей команде. В противном случае МП вводит «холостые» такты и через каждые пять тактов снова опрашивает вход TEST. Обычно этот вход используется при стандартном подключении арифметического сопроцессора К1810ВМ87 (i8087).

MN/MX (minimum/maximum) – если на этот вход «запаяна» единица, МП работает в минимальном режиме, если ноль – в максимальном.

HOLD – захват. В минимальном режиме это вход. Если на этот вход приходит единица, то МП прекращает выполнение текущей команды и отключается от шин. После этого МП находится в состоянии «спячки» до тех пор, пока на HOLD не появится ноль. Сигнал на вход HOLD формирует контроллер прямого доступа к памяти.

HLDA (hold acknowledge) – подтверждение захвата. В минимальном режиме это выход. Этот сигнал обычно заводится на контроллер прямого доступа к памяти и сообщает последнему, что он может брать управление системной шиной на себя.

A/D 15-0 (address/data) – 16-разрядная мультиплексная шина адрес/данные. По этим линиям передается как адрес, так и данные, но в разные моменты времени. На эти линии МП выставляет 16 младших разрядов адреса при обращении к ОП и весь адрес при обращении к порту ВУ. Адрес на эти линии выставляется в такте Т1 в сопровождении стробирующего сигнала на выходе ALE. В такте Т2 адрес снимается, и далее по этим линиям происходит передача данных в сопровождении сигнала на выходе DEN. Поскольку адрес необходим нам до конца цикла шины (до такта Т4), его приходится запоминать во внешнем регистре. Кроме того, для правильной работы системы шину адрес/данные демультиплексируют, т.е. разделяют на шину адреса (ША) и шину данных (ШД), как показано на рис. 2.2. Здесь ШФ – шинные формирователи.

Рис. 2.2
А16 – А19 – при обращении к ОП на эти линии МП выставляет старшие четыре разряда адреса. В такте Т2 адрес с этих линий снимается (т.е. его также надо запоминать во внешнем регистре), и на эти линии МП выставляет сигналы состояния S3 – S6 (state). Последние обычно используются только при отладке системы.

BHE (bus high enable) – разрешение старшей половины шины данных. МП может производить обмен по ШД как словами (2 байта), так и отдельными байтами. В последнем случае байт может передаваться по старшей или по младшей половине ШД. Для решения этой проблемы и предназначен сигнал BHE. Если на BHE стоит ноль, то в данном цикле шины по старшей половине ШД будут передаваться данные. Совместно с сигналом на линии А0 сигнал BHE задает формат передачи информации по шине данных (табл. 2.1). В такте Т2 сигнал BHE снимается и, следовательно, его надо запоминать во внешнем регистре. Далее на эту линию выставляется зарезервированный фирмой сигнал состояния S7.

Таблица 2.1

BHE

A0

Формат передачи

0

0

Слово (по D15-0)

0

1

Байт по старшей половине ШД (D15-8)

1

0

Байт по младшей половине ШД (D7-0)

1

1

Нет передачи по ШД

  1   2   3   4   5   6   7   8   9   ...   13



Скачать файл (4574 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации