Математика

Физика

Химия

Биология

Техника и    технологии

Брамм П., Брамм Д. Микропроцессор 80386 и его программирование: Пер. с англ.-М.: Мир, 1990,-448 с., ил. ISBN 5-03-001441-1 В книге американских специалистов подробно описаны аппаратные и программные средства 32-разрядного микропроцессора (МП) 80386 фирмы Intel. Рассмотрены архитектура, способы адресации, работа памяти, локальная шина и ввод-вывод. Большое внимание уделено описанию организации многозадачного и многопроцессорного режимов. Приведены подробные сведения по основным компонентам микропроцессорного комплекта. Даны указания по программированию и примеры специальных программ для МП 80386. Приведена система команд МП 80386. Для разработчиков и изготовителей микропроцессорной техники и профессиональных программистов.
Предисловие редактора
Вряд ли сегодня следует много говорить о том радикальном изменении наших представлений о возможностях вычислительной техники, которое произошло после появления микропроцессоров и созданных на их базе персональных компьютеров. Персональные ЭВМ, созданные на базе 16-разрядных микропроцессоров, стали распространенным инструментом для инженеров, ученых, экономистов, широко используются для обучения. Несмотря на большую роль, которую сыграли эти ЭВМ в первые годы своего развития, в настоящее время ощущается потребность в более совершенных машинах, которые совмещали бы достоинства персональных компьютеров с большими возможностями вычислений и уровнем сервиса.
Реакцией на эту потребность явилась разработка 32-разрядных микропроцессоров и создание на их основе рабочих станций, обладающих большим быстродействием, имеющих многозадачный режим, лучший сервис, в частности графические средства, а также способных включаться в вычислительные сети. Ожидается, что объем мирового производства рабочих станций в ближайшие пять лет вырастет не менее чем в 5 раз.
Хотя в нашей стране не налажен выпуск 32-разрядных микропроцессоров и микроЭВМ на их основе, тем не менее во многие организации поступает довольно много таких ЭВМ по импорту. В связи с этим возникает настоятельная необходимость в литературе с описанием характеристик 32-разрядных микропроцессоров с тем, чтобы дать возможность советским специалистам проектировать программное обеспечение для таких ЭВМ. Есть надежды и на выпуск отечественных 32-разрядных микропроцессоров.
Предлагаемая книга посвящена одному из массовых 32-разрядных микропроцессоров, разработанному фирмой Intel. Книга охватывает все аппаратные и программные характеристики микропроцессора 80386. Описывается его архитектура, особенности организации •взаимодействия с внешними устройствами, система команд, методы программирования. Особое внимание уделяется проблемам совместимости, с более ранними моделями. Заключительная часть книги посвящена общим вопросам вычислительной техники. Она носит вспомогательный характер.
По своему характеру книга является справочником и предназначена для системных программистов, проектировщиков вычислительных систем, а также студентов и аспирантов соответствующих специальностей, всех лиц, интересующихся микропроцессорами. Книга написана на высоком профессиональном уровне, содержит достаточные для практических целей сведения.
Предисловие и гл. 1-7 перевел А. И. Шереметьев, остальное-К. Г. Финогенов.
Н. Г. Волков
Предисловие
Наиболее существенным достоинством 32-разрядного процессора 80386 фирмы Intel (США) является то, что он привносит микропроцессоры в мир виртуальных вычислительных систем, открывая дверь перед коммерческими и научными приложениями, ранее невозможными для настольных ЭВМ. Второе не менее важное достоинство заключается в том, что он снимает барьеры, которые разработчики системного и прикладного программного обеспечения обнаруживали в микропроцессорах (МП) прежних поколений. Дополнительные усовершенствования включают расширение формата команды до 32 бит, программную модель для большого пространства линейных адресов и функции разбиения памяти на страницы. Наиболее важные для приложений эти преимущества реализованы «способом супермножества», что обеспечивает полную совместимость с программными продуктами, разработанными для МП 8086/8088 и 80286 той же фирмы.
Вообще говоря, эта книга рассчитана на четыре категории читателей. К первой категории относятся читатели, желающие понять историю и архитектуру обработки данных или физическую сущность таких изделий, как МП 80386. Ко второй категории относятся программисты, которым необходимо освоить новую систему фирмы-производителя комплексного оборудования и программировать ее работу в мире пользователя. Во вторую категорию входят также те программисты, которые работают в фирмах-производителях программной продукции и должны быть в курсе новейших достижений в области аппаратных средств. К третьей категории читателей относятся конструкторы фирм, производящих электронное оборудование, которые хотят построить на основе этого МП систему. Такой конструктор прежде всего нуждается в хорошем обзоре архитектуры нового МП. Наконец, существуют руководители, которые должны быть в курсе дел своих подчиненных, относящихся к указанным выше трем категориям читателей.
Трудно структурировать материал, когда пишешь о таком взаимосвязанном и взаимообусловленном предмете, как МП 80386: что должно идти первым, вторым и т.д.? В конце концов мы решили начать с основных стандартных блоков, таких как регистры и типы данных. При планировании этой книги был принят во внимание еще один фактор. Часто люди являются специалистами в одной области знаний и новичками в другой. Там, где они являются новичками, кратко изложенный вводный материал будет способствовать быстрому вхождению в курс дела и устранит недопонимания.
Книга разбита на части так, чтобы помочь каждому из ее потенциальных читателей сразу же определить, с какого места лучше начать читать. Гл. с 1 по 5, составляющие I часть книги, дают обзор архитектуры МП 80386 для того, чтобы провести читателя от его внутренней структуры к связанным с ним подсистемам, которые должны работать совместно с МП. Кроме того, в этой части рассматриваются некоторые основные понятия.
Гл. с 6 по 10, составляющие II часть этой книги, предназначены для системного программиста и/или руководителя программного проекта и посвящены системе команд МП 80386. Описана каждая команда из полного набора, и действие большинства из них проиллюстрировано так, чтобы читателю были понятны все детали взаимодействия команды с различными регистрами и системными флагами. Примеры написаны как упражнения по установке системных флагов и изменению содержимого регистров. Приведенные программы не являются наиболее эффективными или совершенными способами реализации какой-либо функции и не предлагаются в качестве руководства по программированию.
Гл. с 11 по 14 входят в III часть книги и содержат общий обзор системы. Это именно то место, куда следует обратиться, чтобы почерпнуть новый материал по таким темам, как
Оглавление
Предисловие........................... 6
Глава 1. Введение в МП 80386 фирмы Intel............ 8
1.1. Основные определения................... 9
1.2. Обзор 32-разрядного микропроцессора............. 11
1.2.1. Основные блоки..................... 11
1.2.2. Устройство управления памятью............... 14
1.2.3. Архитектура режима реальных адресов и защищеного режима .... 14
1.3. Типы данных....................... 15
.4. Регистры........................ 17
.4.1. Регистры общего значения (РОН)............... 18
.4.2. Регистр системных флагов................. 18
.4.3. Регистры сегментов................... 21
.4.4. Регистры управления сегментированной памятью......... 22
1.4.5. Указатель команд.................... 22
1.4.6. Регистры управления................... 22
1.4.7. Регистр отладки..................... 24
1.4.8. Буфер ассоциативной трансляции............... 24
Глава 2. Селекторы и дескрипторы................ 27
2.1. Селекторы....................... 27
2.2. Дескрипторы сегментов................... 28
2.3. Таблицы дескрипторов................... 30
2.3.1. Таблица глобальных дескрипторов.............. 30
2.3.2. Таблицы локальных дескрипторов............... 31
2.3.3. Таблица дескрипторов прерываний.............. 31
*
Глава 3. Прерывания и исключения................ 32
3.1. Маскируемые прерывания.................. 33
3.2. Немаскируемые прерывания................. 34
3.3. Таблицы дескрипторов прерываний............... 35
3.4. Исключения....................... 35
3.5. Контроллер прерываний.................. 36
3.6. Приоритеты прерываний и исключений............. 36
3.7. Задачи и процедуры прерываний................ 36
3.8. Коды ошибок...................... 38
3.8.1. Коды ошибок сопроцессора................. 43
Глава 4. Память......................... 45
4.1. Организация памяти.................... 45
4.1.1. Сегментация....................... 45
4.1.2. Адресное пространство.................. 46
4.1.3. Разбиение на страницы и их трансляция............ 46
4.1.4. Контроллер*прямого доступа к памяти............. 49
4.2. Интерфейс с памятью................... 49
4.2.1. Интерфейс с основной памятью............... 50
4.2.2. Интерфейс со статическим ОЗУ............... 51
4.2.3. Инерфейс с динамическим ОЗУ................ 51
4.3. Кэш-память в МП 80386.................. 52
4.3.1. Организация кэш-памяти.................. 54
4.3.2. Обновление кэш-памяти.................. 55
4.3.3. Кэш-память в МП 80386.................. 58
Глава 5. Интерфейс: локальная магистраль, ввод и вывод..... 61
5.1. Интерфейс с локальной магистралью.............. 61
5.1.1. Состояния магистрали................... 64
5.1.2. Циклы чтения и записи.................. 65
5.1.3. Прерывания...................... 65
5.1.4. Блокированные циклы и захват магистрали........... 67
5.2. Интерфейс с устройствами ввода-вывода............. 68
5.2.1. Команды ввода-вывода.................. 69
5.2.2. Защита, привилегии и ввод-вывод............... 69
5.2.3. Основной интерфейс ввода-вывода.............. 71
Глава 6. Привилегии и защита, конвейеризация, многозадачность и
мультиобработка.................... 75
6.1. Привилегии и защита.................... 75
6.1.1. Привилегии...................... 76
6.1.2. Уровни и правила привилегий................ 76
6.1.3. Привилегированные команды................ 77
6.1.4. Чувствительные команды................. 77
6.1.5. Защита........................ 77
6.2. Конвейеризация с целью повышения производительности....... 85
6.2.1. Конвейеризация адресов.................. 85
6.2.2. Замедление микропроцессора................ 86
6.3. Многозадачность..................... 87
6.3.1. Сегмент состояния задачи................. 88
6.3.2. Дескриптор сегмента состояния задачи............. 88
6.3.3. Переключение задач................... 90
6.4. Мультиобработка..................... 91
6.4.1. Префикс LOCK и сигнал LOCK#.............. 92
Глава 7. Аппаратные средства и подсистемы........... 93
7.1. Контроллеры...................... 93
7.1.1. Контроллер последовательной связи 8274............ 93
7.1.2. Контроллер прерываний 8259А............... 93
7.1.3. Контроллер прямого доступа к памяти 82258........... 96
7.2. Сопроцессоры...................... 97
7.2.1. Арифметические сопроцессоры 80287 и 80387........... 97
7.2.2. Сопроцессор локальной вычислительной сети 82586........ 102
7.3. Тактовый генератор 82384.................. 102
7.3.1. Тактовые частоты и синхронизация.............. 104
7.3.2. Подача тактовых импульсов и оконечная нагрузка......... 104
7.4. Требования к питанию и заземлению.............. 106
7.5. Тепловые характеристики.................. 107
7.6. Изготовление и отладка аппаратуры.............. 107
7.6.1. Рекомендации по шаговому построению системы......... 108
7.6.2. Рекомендации по отладке.................. 109
7.7. Вопросы производительности................. 109
7.8. Применение программируемых логических матриц......... НО
7.8.1 Интерфейс на основе ПЛМ................. ПО
7.8.2. ПЛМ управления локальной магистралью........... 112
7.8.3. ПЛМ состояния ДОЗУ.................. 115
7.8.4. ПЛМ управления ДОЗУ.................. 115
7.8.5. ПЛМ счетчика интервалов регенерации............. 115
7.8.6. ПЛМ счетчика адресов регенерации.............. 115
Глава 8. Программирование МП 80386.............. П6
8.1. Разработка программных комплексов.............. 116
8.2. Элементы языка..................... 117
8.3 Режимы адресации..................... 117
8.4. Обзор системы команд................... 118
8.5. Виртуальная среда МП 8086................. 124
8.5.1. Вход и выход из виртуального режима МП 8086......... 124
8.5.2. Адресация в режиме виртуального МП 8086........... 126
8.5.3. Формирование адреса................... 127
8.5.4. Задача виртуального МП 8086................ 127
8.5.5. Чувствительные команды в режиме виртуального МП 8086..... 128
8.5.6. Ввод-вывод в виртуальном режиме.............. 128
8.5.7. Различия виртуального МП 8086 и МП 80386.......... 8.6. Выполнение программы в защищенном режиме МП 80286...... 130
8.6.1. Ограничения префикса LOCK................ 131
8.6.2. Циклический возврат адреса в МП 80286............ 131
8.7. Режим реальных адресов МП 80386............... 132
8.7.1. Вход и выход из режима реальных адресов........... 132
8.7.2. Формирование физического адреса в реальном режиме....... 133
8.7.3. Новые исключения МП 80386................ 133
8.7.4. Различия реального режима и МП 8086............. 134
8.7.5. Различия реального режима и МП 80286............ 135
8.8. Сброс и инициализация................... 136
8.8.1. Регистры после запуска.................. 136
8.8.2. Программная инициализация режима реальных адресов....... 137
8.8.3. Программная инициализация защищенного режима........ 138
8.9. Тестирование и отладка................... 139
8.9.1. Самотестирование.................... 139
8.9.2. Буфер ассоциативной трансляции (TLB)............ 139
Глава 9. Замечания по программированию МП 80386....... 141
9.1. Указания программисту................... 141
142
9.2.1. Память........................ 142
9.2.2. Дескрипторы...................... 143
9.2.3. Команды программы................... 143
9.2.4. Регистры....................... 144
9.2.5. Задачи........................ 145
9.2.6. Привилегии и защита................... 145
9.2.7. Тестирование и отладка.................. 146
Глава 10. Система команд МП 80386............... 148
10.1. Формат команд..................... 148
10.1.1. Описание обозначений.................. 152
10.1.2. Описание полей MOD и R/M кода команды.......... 154
10.1.3. Примеры выполнения команд................ 155
10.1.4. Используемые флаги и регистры.............. 155
10.2. Алфавитный список команд................. 156
Глава 11. Введение в интегральные схемы............. 286
11.1. Начало........................ 286
11.2. Из чего сделаны ИС?................... 287
11.2.1 МОП-транзисторы с каналами р- и л-типов........... 290
11.2.2. КМОП-транзисторы................... 291
11.2.3. Сверхбольшие интегральные схемы (СБИС)..........'. 12.2.1. Шина с тремя состояниями................. 299
12.2.2. Типы шин....................... 300
12.2.3. Операции на магистрали................. 301
12.3. Порты ввода-вывода................... 302
12.3.1. Режимы работы портов ввода-вывода............. 302
12.4. Универсальный синхронно-асинхронный приемопередатчик..... 303
12.5. MULTIBUS........................ 305
12.5.1. Ведущие....................... 305
12.5.2. Ведомые....................... 305
12.5.3. Операции на магистрали................. 305
12.5.4. Архитектура магистрали................. 306
12.6. Электрическое питание................... 308
12.7. Резюме........................ 308
Глава 13. Организация запоминающих устройств......... 309
13.1. Реальная память..................... 310
13.2. ПЗУ и ОЗУ....................... 310
13.3. Системы памяти..................... 311
13.3.1. Организация памяти................... 312
13.3.2. Защита памяти..................... 312
13.3.3. Адресация памяти.................... 313
13.3.4. Диспетчер памяти.................... 314
13.3.5. Прямой доступ к памяти (ПДП).....*.......... 315
13.3.6. Сегментация памяти................... 316
13.3.7. Виртуальная память................... 317
13.3.8. Кэш-память...................... 319
13.4. Буфера........................ 323 -
13.5. Синхронизация..................... 324
13.5.1. Временные ограничения.................. 324
13.6. Резюме........................ 324
Глава 14. Повышение производительности системы........ 325
14.1. Узлы управления..................... 325
14.2. Независимость процессов.................. 14.3. Предвыборка...................... 326
14.3.1. Эффективность преДвыборки................ 327
14.3.2. Алгоритмы предвыборки................. 327
14.3.3. Выборка следующей страницы............... 327
14.4. Конвейерная обработка.................. 327
14.4.1. Методы....................... 327
14.4.2. Проблемы...................... 328
14.4.3. Алгоритмы управления.................. 329
14.5. Сопроцессор...................... 329
14.6. Многозадачность и мультипрограммирование.......... Приложение 1. Интегральные схемы и фирма Intel............. 332
Приложение 2. Перечень регистров, битов и флагов............ 351
Приложение 3. Мнемонические обозначения и условные сокращения...... 353
Приложение 4. Магистрали MULTIBUS I/II и микропроцессор 80386...... 358
Приложение 5. Команды защищенного режима и пример программы..... 366
Глоссарий........................... 425
Литература........................... 438
Предметный указатель..................... 440 329
14.6.1. Упорядочение событий...........,....... 330
14.6.2. Свойства мультипрограммных систем............. 331
14.7. Резюме........................ 331

Цена: 300руб.

Назад

Заказ

На главную страницу

Hosted by uCoz