Математика | ||||
Брамм П., Брамм Д. Микропроцессор 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руб. |
||||