- •Введение
- •1.1. Место пэвм в иерархии средств вычислительной техники
- •1.2. Эволюция пэвм
- •1.3. Структура и состав пэвм
- •1.4. Классификация пэвм и требования к их комплектации
- •2. Устройства персональных эвм
- •2.1. Микропроцессоры
- •2.1.1. Эволюция микропроцессоров
- •2.1.5. Risc-микропроцессоры
- •2.1.6. Специализированные микропроцессоры
- •2.1.7. Перспективы развития микропроцессоров
- •2.2. Основная память
- •2.3. Системные шины
- •2.4. Внешние запоминающие устройства
- •2.4.1. Накопители на гибких магнитных дисках
- •2.4.2. Накопители на жестких магнитных дисках
- •2.4.3. Накопители на оптических дисках
- •2.4.6. Иерархия памяти пэвм
- •2.5. Устройства ввода информации
- •2.5.2. Манипуляторы
- •2.5.3. Сканеры
- •2.5.4. Графические планшеты
- •2.5.5. Сенсорные экраны
- •2.5.6. Средства речевого ввода
- •2.6. Устройства вывода информации
- •Струйные принтеры
- •2.6.4. Синтезаторы звука
- •2.7. Общие сведения о системе прерываний
- •3. Основные модели персональных эвм
- •3.1. Слагаемые производительности пэвм
- •3) Быстродействием и типом озу;
- •33. Перечень технических характеристик пэвм
- •3.5.6. Оценки производительности
- •3.6. Пэвм фирмы Apple Computer
- •4. Общие сведения о программном обеспечении персональных эвм
- •4.1. Структура по пэвм
- •4.2. Операционные системы
- •4.2.1. Ос семейства ср/м
- •4.2.2. Ос семейства dos
- •4.2.3. Ос семейства os/2
- •4.2.5. Системы для микропроцессора 80386/486
2. Устройства персональных эвм
Этот раздел посвящен рассмотрению различных устройств ПЭВМ — как центральных, так и периферийных. Изложенный здесь материал, конечно, не претендует на исключительную полноту. Некоторые устройства, в частности, СПДП, конспективно описаны в подразделе 1.3 и автор считает этого достаточным. Ряд устройств, особенно периферийных, не упоминается вовсе, так кай невозможно объять необъятное, что в полной мере относится к аппаратным средствам персональных компьютеров. Среди таких устройств, например, часы-календарь, которыми снабжаются ПЭВМ типа IBM PC AT. Их наличие обеспечивает постоянный счет и сообщение процессору текущего времени и даты, что позволяет при включении ПЭВМ производить установку времени автоматически. Часы-календарь питаются от аккумулятора, который автоматически подзаряжается при работе компьютера.
Ознакомившись с материалом данного раздела, читатель узнает, какие устройства могут быть в составе ПЭВМ, сможет понять, какие устройства ему нужны, а также будет в состоянии осуществить их выбор.
2.1. Микропроцессоры
Неформально, в развернутом виде, определение МП приводилось в подразделе 1.3. Более строго микропроцессором называют полупроводниковый кристалл или комплект кристаллов, на которых реализуется центральный процессор ЭВМ, т.е. совокупность арифметико-логического устройства и центрального устройства управления.
Остановимся сначала на исторических аспектах, связанных с появлением и развитием МП. Затем перечислим основные показатели качества МП и дадим определения, необходимые для дальнейшего изложения материала. После этого рассмотрим базовые модели МП, сосредоточив внимание главным образом на изделиях фирмы Intel, используемых в IBM-совместимых ПЭВМ. Более подробно в качестве примера разберем архитектуру МП 8086/88, на которую ориентирована ОС MS-DOS. Этот материал полезен не только узким специалистам-профессионалам, но и пользователям средней квалификации, так как большинство систем программирования для ПЭВМ обеспечивает доступ к аппаратным средствам машины. Потом кратко остановимся на перспективных RISC-микропроцессорах и специализированных МП, играющих роль акселераторов для основных МП в ПЭВМ. В конце подраздела наметим пути дальнейшего развития МП.
2.1.1. Эволюция микропроцессоров
Создание МП явилось следствием бурного прогресса в области электронной техники.
Первоначально в ЭВМ для передачи, хранения и преобразования информации, представленной двоичным кодом в виде электрических сигналов, использовались электронные лампы. Они обладали .многими недостатками: выделяли большое количество тепла, потребляли много энергии, были громоздкими, дорогими и ненадежными.
Проблемы, связанные с недостатками электронных ламп, были решены в 1947 г. У.Шокли, Дж.Бардином и У.Бреттейном. Работая в лаборатории компании Bell, они изобрели транзистор. Транзисторы выполняли те же функции, что и электронные лампы, но использовали электрические свойства полупроводников. В связи с появлением транзисторов отпала необходимость в приборе, в котором электрический сигнал передается с помощью заряженных частиц, движущихся в вакууме. Благодаря этому снизилось энергопотребление, уменьшились тепловыделение и размеры электронных узлов. Изобретение транзистора позволило сконструировать первую миниЭВМ.
В 1958 г. два американских инженера сделали следующий важный шаг в развитии элементной базы — создали интегральную микросхему (ИМС), содержащую на одном кремниевом кристалле соединенные между собой транзисторы, резисторы и конденсаторы. Этими двумя, причем независимыми авторами ИМС были Д.Килби из компании Texas Instruments и Р.Нойс, который основал впоследствии корпорацию Intel, являющуюся с тех пор флагманом в производстве МП. Первоначально ИМС включали только по несколько транзисторов; однако технология производства электронных компонентов развивалась столь стремительно, что сначала десятки, а затем сотни и более транзисторов стали размещаться на кремниевой пластине размером всего лишь с ноготь. С момента появления первой интегральной схемы была отлажена технология производства ИМС средней, большой и сверхбольшой степени интеграции. В 1987 г. фирма IBM открыла эру ИМС ультравысокой степени интеграции. В 1969 г. компании Intel удалось создать комплект из четырех ИМС с полным набором элементов, характерным для процессора. Длина слова первого МП составляла' всего 4 бита. В 1971 г. был выпущен 4-разрядный коммерческий МП Intel 4004, который стал применяться в микрокалькуляторах. Уже в 1972 г. появился 8-разрядный МП Intel 8008, а в 1974 г. — его улучшенный вариант Intel 8080. Он нашел применение в первых встроенных ЭВМ для управления производственными процессами. Вскоре появились и конкурирующие изделия — МП Z80 фирмы Zilog (его система команд включала набор команд 8080), 6802 фирмы MOS Technology, 6800, а затем и 6809 фирмы Motorola.
Развитие МП шло по разным направлениям, важнейшее из которых — увеличение разрядности. В этой области за довольно сжатый срок были достигнуты существенные результаты. Так, в 1976 г. фирма Texas Instruments выпустила 16-разрядный МП TMS9900, а в 1980 г. рынок МП пополнился 32-разрядными приборами компании Motorola MC68000. В настоящее время 32-' разрядные МП производятся несколькими фирмами, причем на передовых рубежах находится фирма Intel, конкурируя с компанией Motorola. Наряду с 32-разрядными выпускаются и 64-разрядные МП для мощных АРМ. Первый однокристальный 64-разрядный МП 80860 создан фирмой Intel в 1989 г.
Подавляющее большинство производимых в настоящее время МП являются однокристальными, за исключением ряда 64-разрядных комплектов (разрядно-модульных МП).
2.1.2. Перечень основных технических характеристик и классификация микропроцессоров
МП характеризуются:
1) тактовой частотой;
2) разрядностью;
3) архитектурой.
Тактовая частота МП (более строго — тактовая частота, при которой способен работать МП) определяется максимальным временем выполнения элементарного действия в МП. Работа МП синхронизируется импульсами тактовой частоты от задающего генератора. Чем выше тактовая частота МП (при прочих равных условиях), тем выше его быстродействие. Более того, некоторые авторы, под быстродействием понимают Именно тактовую частоту, что совершенно неверно. Тактовые частоты современных МП колеблются в пределах единиц — десятков 'МГц.
Разрядностью МП называют максимальное количество разрядов двоичного кода, которые могут обрабатываться или передаваться одновременно. Понятие «разрядность» включает:
— разрядность внутренних регистров МП (т);
— разрядность шины данных (п);
— разрядность шины адреса (k).
Исходя из этого разрядность МП будем обозначать в виде m/n/k. Определяющую роль в принадлежности МП к тому или иному классу играет разрядность внутренних регистров (внутренняя длина слова). Мы уже использовали и будем иногда использовать только этот показатель. От разрядности шины данных (внешней длины слова) зависит скорость передачи информации между МП и другими устройствами. Например, для МП с разрядностью 16/16/20 скорость передачи информации (если нет других ограничений) в два раза выше, чем для МП с разрядностью 16/8/20. Однако в последнем случае упрощается управление шиной и предоставляется возможность использовать более простые ПУ. Разрядность шины адреса определяет адресное пространство МП, т.е. максимальное количество полей (обычно байтов, где 1 байт = 8 бит) памяти, к которым можно осуществить доступ. Очевидно, адресное пространство составляет 2лк, где л — операция возведения в степень, и при к = 20 получим 1 Мбайт (1 Мбайт = 2~10 Кбайт = 1024 Кбайт, 1 Кбайт = 2~10 байт = 1024 байт). Реальная память машины может иметь меньший объем.
Архитектура МП является емким понятием, имеющим при этом, как и архитектура ЭВМ, неоднозначное толкование. Архитектурой Часто называют организацию (в данном случае МП) с точки зрения пользователя. Описание архитектуры МП в таком понимании включает описание пользовательских возможностей программирования (в частности, состава регистров МП), системы команд, способов адресации, (логической) организации памяти, средств ввода-вывода и типов обрабатываемых данных. С этой точки зрения архитектуры МП считаются одинаковыми, если последние способны выполнять одни и те же программы. Реализации же одной и той же архитектуры могут отличаться одна от другой как на уровне физических компонентов аппаратных средств, так и на уровне способов реализации узлов МП. Иными словами, детали реализации, невидимые для пользователя, не оказывают влияния на архитектуру. В контексте же аппаратных средств под термином «архитектура МП» понимают принцип действия МП, конфигурацию (состав) и взаимное соединение основных его узлов.
Мы не будем отдавать предпочтение ни одному из альтернативных определений архитектуры, понимая ее в широком смысле. Ограничим наше рассмотрение следующими элементами архитектуры МП:
1) системой команд и способами адресации; В 1969 г. компании Intel удалось создать комплект из четырех ИМС с полным набором элементов, характерным для процессора. Длина слова первого МП составляла' всего 4 бита. В 1971 г. был выпущен 4-разрядный коммерческий МП Intel 4004, который стал применяться в микрокалькуляторах. Уже в 1972 г. появился 8-разрядный МП Intel 8008, а в 1974 г. — его улучшенный вариант Intel 8080. Он нашел применение в первых встроенных ЭВМ для управления производственными процессами. Вскоре появились и конкурирующие изделия — МП Z80 фирмы Zilog (его система команд включала набор команд 8080), 6802 фирмы MOS Technology, 6800, а затем и 6809 фирмы Motorola.
Развитие МП шло по разным направлениям, важнейшее из которых — увеличение разрядности. В этой области за довольно сжатый срок были достигнуты существенные результаты. Так, в 1976 г. фирма Texas Instruments выпустила 16-разрядный МП TMS9900, а в 1980 г. рынок МП пополнился 32-разрядными приборами компании Motorola MC68000. В настоящее время 32-разрядные МП производятся несколькими фирмами, причем на передовых рубежах находится фирма Intel, конкурируя с компанией Motorola. Наряду с 32-разрядными выпускаются и 64-разрядные МП для мощных АРМ. Первый однокристальный 64-разрядный МП 80860 создан фирмой Intel в 1989 г.
Подавляющее большинство производимых в настоящее время МП являются однокристальными, за исключением ряда 64-разрядных комплектов (разрядно-модульных МП).
2.1.2. Перечень основных технических характеристик и классификация микропроцессоров
МП характеризуются:
1) тактовой частотой;
2) разрядностью;
3) архитектурой.
Тактовая частота МП (более строго — тактовая частота, при которой способен работать МП) определяется максимальным временем выполнения элементарного действия в МП. Работа МП синхронизируется импульсами тактовой частоты от задающего генератора. Чем выше тактовая частота МП (при прочих равных условиях), тем выше его быстродействие. Более того, некоторые авторы - под быстродействием понимают 'Именно тактовую частоту, что совершенно неверно. Тактовые частоты современных МП колеблются в пределах единиц — десятков МГц.
Разрядностью МП называют максимальное количество разрядов двоичного кода, которые могут обрабатываться или передаваться одновременно. Понятие «разрядность» включает:
— разрядность внутренних регистров МП (т);
— разрядность шины данных (п);
— разрядность шины адреса (k).
Исходя из этого разрядность МП будем обозначать в виде m/n/k. Определяющую роль в принадлежности МП к тому или иному классу играет разрядность внутренних регистров (внутренняя длина слова). Мы уже использовали и будем иногда использовать только этот показатель. От разрядности шины данных (внешней длины слова) зависит скорость передачи информации между МП и другими устройствами. Например, для МП с разрядностью 16/16/20 скорость передачи информации (если нет других ограничений) в два раза выше, чем для МП с разрядностью 16/8/20. Однако в последнем случае упрощается управление шиной и предоставляется возможность использовать более простые ПУ. Разрядность шины адреса определяет адресное пространство МП, т.е. максимальное количество полей (обычно байтов, где 1 байт = 8 бит) памяти, к которым можно осуществить доступ. Очевидно, адресное пространство составляет 2*k, где л — операция возведения в степень, и при k = 20 получим 1 Мбайт (1 Мбайт = 2Л10 Кбайт = 1024 Кбайт, 1 Кбайт = 2Л10 байт = 1024 байт). Реальная память машины может иметь меньший объем.
Архитектура МП является емким понятием, имеющим при этом, как и архитектура ЭВМ, неоднозначное толкование. Архитектурой часто называют организацию (в данном случае МП) с точки зрения пользователя. Описание архитектуры МП в таком понимании включает описание пользовательских возможностей программирования (в частности, состава регистров МП), системы команд, способов адресации, (логической) организации памя-ги, средств ввода-вывода и типов обрабатываемых данных. С этой точки зрения архитектуры МП считаются одинаковыми, если последние способны выполнять одни и те же программы. Реализации же одной и той же архитектуры могут отличаться одна от другой как на уровне физических компонентов аппаратных средств, так и на уровне способов реализации узлов МП, Иными словами, детали реализации, невидимые для пользователя, не оказывают влияния на архитектуру. В контексте же аппаратных средств под термином «архитектура МП» понимают принцип действия МП, конфигурацию (состав) и взаимное соединение основных его узлов.
Мы не будем отдавать предпочтение ни одному из альтернативных определений архитектуры, понимая ее в широком смысле. Ограничим наше рассмотрение следующими элементами архитектуры МП:
1) системой команп и способами аппесапии: 2) возможностью совмещения выполнения команд во времени;
3) наличием дополнительных устройств и узлов в составе МП;
4) режимами работы МП.
Система команд представляет собой совокупность команд, которые способен выполнять МП. Она включает полный список кодов операций, для каждой из которых указывается число операндов и допустимые способы их адресации. Способы адресации определяют технику вычисления адресов ячеек памяти (в которых хранятся операнды) и выполнения операций над адресными регистрами. Способы адресации разработаны и используются с целью обеспечения компактных адресных ссылок для случаев, когда машинный адрес имеет слишком большую длину и его неудобно включать в таком виде в команду, либо когда невозможно (например, при переборе последовательных ячеек памяти в цикле) или просто нет необходимости использовать явный адрес.
В соответствии с составом системы команд различают
1) МП с CISC-архитектурой (CISC — complex instruction set computer — компьютер со сложной системой команд);
2) МП с RISC-архитектурой (RISC — reduced instruction set computer — компьютер с сокращенной системой команд).
МП первого типа являются традиционными, а их система команд включает большое количество команд для выполнения арифметических и логических операций, команд управления, пересылки и ввода-вывода данных.
МП второго типа, появились сравнительно недавно. Их система команд упрощена и сокращена до такой степени, что каждая команда выполняется за единственный такт (по единственному тактовому импульсу). Такой подход позволяет упростить структуру МП и тем самым повысить его быстродействие. Традиционные операции при этом реализуются последовательностями элементарных машинных команд.
По функциональному назначению, определяемому системой команд, МП делятся на универсальные и специализированные.
Универсальные МП способны реализовывать любой алгоритм, который предварительно кодируется в системе команд данного МП. Они используются в качестве основных процессоров микроЭВМ. Следует отметить, что большинство универсальных МП аппаратно поддерживает только целочисленную арифметику. Арифметика же с плавающей точкой реализуется на них программно.
Специализированные МП служат для решения задач определенного класса. Приборы этого типа используются в качестве сопроцессоров, дополняющих основные процессоры, и выполняют роль акселераторов (ускорителей). Сопроцессор расширяет набрр команд ЭВМ. Когда основной процессор получает команду, которая не входит в его рабочий набор, он передает управление сопроцессору с целью ее выполнения.
Подчеркнем, что деления МП на CISC и RISC, а также на универсальные и специализированные, находятся в разных плоскостях и никоим образом между собой не связаны. Однако в ПЭВМ в качестве основных используются универсальные CISC-МП, в то время как мощные АРМ осна- / щаются МП с RISC-архитектурой.
Некоторые наиболее развитые МП обеспечивают совмещение выполнения нескольких последовательно расположенных команд во времени, организуя конвейерную обработку. Эта архитектурная особенность оказывает заметное влияние на скорость выполнения линейных участков программ.
На кристалле МП могут быть размещены дополнительные устройства, в том числе:
1) система управления шиной;
2) кэш-память;
3) средства поддержки виртуальной памяти;
4) средства защиты памяти.
Дополнительные устройства способствуют повышению производительности ПЭВМ, уменьшению ее габаритов, предотвращению несанкционированного доступа и расширению функциональных возможностей МП (в том числе улучшению отладочных возможностей и обеспечению дополнительных режимов работы).
Кэш-память используется в качестве буфера между процессором и менее быстродействующей ОП. Действительно, при несогласованности быстродействия МП и ОП в случае обращения к последней МП будет простаивать один или несколько тактов, что снизит производительность ПЭВМ. При наличии быстродействующей кэш-памяти МП непосредственно обменивается информацией именно с ней. Эта память, в свою очередь, осуществляет обмен с ОП. При такой организации простой МП возможен только в случаях,.когда требуемая им информация в кэшпамяти отсутствует (нужна подкачка в кэш из ОП) или когда выводимая им информация не может быть размещена в кэш-памяти по причине ее заполненности (требуется выгрузка содержимого Кэша в ОП). Свойство локальности данных позволяет сократить время простоя МП. В простейшем случае в кэш-памяти сохраняется информация, извлеченная при последних обращениях к ОП.
Большинство современных МП обеспечивает управление виртуальной памятью. Виртуальным называется ресурс, который пользовательской программе представляется обладающим свойствами, отличными от тех, которые он в действительности имеет. В случае виртуальной памяти пользовательской программе предоставляется возможность работать с адресным пространством, существенно превышающим объем реальной адресуемой памяти. Виртуальная память реализуется «совместными усилиями» аппаратных средств и ОС. При этом содержимое виртуальной памяти распределяется между внешней памятью (например, магнитными дисками) и О.ЗУ. В последнем находится только часть содержимого виртуальной памяти, используемая в данный момент процессором. Если запрашиваемой области виртуальной памяти в данный момент в ОЗУ нет, то осуществляется подкачка из внешней памяти с возможной выгрузкой в нее части содержимого ОЗУ. Интересно то, что обо всем этом пользовательская программа ничего не «знает» (с точки зрения программиста виртуальная память существует в «действительности»). Такая организация памяти позволяет существенно ослабить требования к размеру программы и области ее данных, которые должны помещаться в ОП. Обмен между ОЗУ и ВЗУ может осуществляться страницами (областями фиксированного размера) или сегментами (областями переменной длины).
Средства защиты памяти позволяют предотвратить некорректное вмешательство пользовательской программы в области ОЗУ, занятые другими программами. Эти средства наряду с другими средствами являются крайне желательными в случаях, когда в ОЗУ требуется хранить одновременно несколько программ.
Архитектуры МП и ПЭВМ в целом определяют допустимые режимы работы машины. Важнейшим фактором при этом являются возможности МП. Использование же предоставляемых аппаратными средствами режимов зависит от свойств ОС. В настоящее время МП поддерживают широкий спектр режимов работы, среди которых:
1) однопрограммный режим;
2) многопрограммный режим;
3) система виртуальных машин.
В однопрограммном режиме в каждый момент времени может находиться в ОЗУ и выполняться только одна пользовательская программа. В многопрограммном режиме обеспечивается хранение в ОЗУ нескольких программ и попеременное их выполнение с той или иной дисциплиной обслуживания, что целесообразно главным образом (но не только) при возможности совмещения во времени счета в МП и операций ввода-вывода. На основе многопрограммного режима работы МП могут быть организованы однопользовательский многопрограммный, а при наличии соответствующих аппаратных средств — и многопользовательский многопрограммный режимы работы ПЭВМ. Система виртуальных машин является дальнейшим развитием мультипрограммирования, основной признак которого — возможность одновременной работы нескольких ОС.
В данном пункте мы неоднократно употребляли термин «быстродействие МП». К определению этой характеристики в настоящее время относятся с большой осторожностью. Общепризнанной интегральной оценки быстродействия МП не существует. Часто для количественного выражения быстродействия приводят число коротких операций, которые могут быть выполнены в единицу времени. Под короткой операцией понимается простейшая команда типа сложения содержимого двух регистров. Реальные МП с CISC-архитектурой выполняют такие инструкции за 4 — 5 тактов (конечно, без учета конвейеризации). Поэтому, зная тактовую частоту МП, можно ориентировочно оценить его быстродействие. Мы будем использовать именно такую трактовку быстродействия.
В заключение отметим, что быстродействие МП определяется сочетанием почти всех рассмотренных его характеристик.
2.1.3. Основные модели микропроцессоров
Ограничим наше рассмотрение 16- и 32-разрядными МП с CISC-архитектурой, так как именно они используются в качестве основных МП ППЭВМ. Только лишь благодаря разработке 16-разрядных приборов микропроцессорная техника в основном достигла уровня, необходимого для построения ПЭВМ массового спроса. Появление 32-разрядных МП позволило создать ПЭВМ высшего класса для приложений, характеризующихся большим объемом вычислений.
Основные модели МП ведущей в этой области фирмы Intel и их технические характеристики приведены в табл. 2.1. Эти приборы используются в IBM-совместимых ПЭВМ. Все МП выпускаются на различные тактовые частоты, причем предельные тактовые частоты постоянно повышаются за счет совершенствования технологии. Чем выше тактовая частота МП, тем выше его стоимость и энергопотребление. Имеются Также МП с переключаемой тактовой частотой. Оценки быстродействия весьма относительны и представлены для модификаций с максимально возможной для данной модели тактовой частотой.
Популярность МП фирмы Intel объясняется их высокими техническими характеристиками и поддержкой корпорацией IBM. В настоящее время аналогичные приборе,! выпускаются и другими производителями, среди которых достойны упоминания американские компании Harris Semiconductor и Advanced Micro Devices (AMD), а также японская корпорация NEC Information Systems.
Приборы
8086 и 8088 различаются только разрядностью
шины данных. Они не обеспечивают в полной
мере асинхронную работу ПУ и не содержат
средств защиты памяти для разграничения
доступа, а следовательно, используются
главным образом в однопрограммном
режиме. Отсутствуют и средства
поддержки виртуальной памяти. Известны приборы с пониженным энергопотреблением (80С88 и 80С86), что важно для портативных ПЭВМ, а также с переключаемой тактовой частотой (8088-2). Аналогами МП 8086/88 являются отечественные изделия К1810ВМ86 и KJ810BM88, а также приборы MSM80C86 и MSM80C88 американской фирмы Oki Semiconductor. Корпорация NEC выпускает МП V20 и V30, которые способны выполнять программы для приборов 8088/86, однако имеют по синению с ними расширенную систему команд и оригинальную двухшинную архитектуру, что обеспечивает более быстрое выполнение большинства команд. Улучшенными вариантами МП V20 и V30 являются приборы V40, V50 и V35. На их кристаллах дополнительно размещены базовые переферийные схемы.
Переходным между МП 8086/88 и 80286 был прибор 80186/80188, который не получил широкого распространения. Он применялся лишь в нескольких моделях ПЭВМ.
МП 80286 свободен от упомянутых недостатков своих предшественников и имеет следующие режимы
работы:
1) незащищенный (реальный) режим работы с физической памятью, в котором этот прибор эмулирует (имитирует) МП 8086, возможно, повышенного быстродействия, выполняя подготовленные для него программы;
2) защищенный режим (формально — защищенный режим виртуальной адресации), когда используются виртуальная память и механизм защиты памяти.
В защищенном режиме допустимо мультипрограммирование. Имеется возможность непосредственного подключения к ПЭВМ типа PC AT двух дополнительных консолей, чем обеспечивается возможность работы в многопользовательском режиме. Сменный же модуль ATtain 286 американской фирмы Corollary в состоянии обслужить 8 консолей. Этот модуль содержит МП 80286, двухпортовую память емкостью 1 Мбайт и два последовательных АИ. К ПЭВМ PC AT можно подсоединить до четырех подсистем ATtain 286. При этом она превращается в многопользовательскую мультипроцессорную микроЭВМ, способную рдновременно обслуживать до 33 пользователей. Виртуальная память изделия 80286 имеет сегментную организацию.
Существует модификация прибора 80286 с пониженным потреблением энергии — 80С286. Фирмы Harris Semiconductor и AMD выпускают аналоги МП 80286, но с лучшими по сравнению с ним характеристиками (на 25 и 20 МГц соответственно). Корпорация NEC предлагает прибор V33, который характеризуется пониженным энергопотреблением, способен выполнять программы для МП 80286, но имеет расширенную систему команд, что не обеспечивает обратную совместимость. Отечественный прибор К1810ВМ86М также является аналогом изделия 80286, но неполным, так как выполняет некоторые команды последнего в режиме программной эмуляции. В 1988 г. японская фирма VM Technology выпустила МП VM860S, в котором используется архитектура и технология виртуальных процессоров (VM). Он способен заменить 16-разрядные изделия фирмы Intel либо реализовать полностью или частично оригинальные наборы команд. Этот прибор имеет повышенное быстродействие и не содержит микрокода. Гибкость его архитектуры (в частности, системы команд) достигается программируемыми логическими матрицами, что обеспечивает аппаратную реализацию команд. Адресное пространство физической памяти МП VM860S составляет 512 Мбайт, виртуальное адресное пространство — 4 Гбайт, а разрядность — 16/16/29.
Среди производителей 16-разрядных МП с архитектурой, отличной от приборов фирмы Intel, можно назвать следующие американские компании:
1) National Semiconductor, выпускающую прибор NS32016;
2) Texas Instruments, предлагающую изделие TMS9900;
3) Zilog, поставляющую МП Z8000 и Z8003.
Шины адреса и данных 16-разрядных МП, как правило, являются мультиплексированными, т.е. совместно используемыми.
Большинство моделей 32-разрядных МП различных производителей характеризуются:
1) развитой конвейерной структурой;
2) наличием устройства управления виртуальной памятью на кристалле или средств поддержки внешнего аналогичного устройства;
3) схожестью структуры, несмотря на различия в системах команд;
4) наличием очереди команд либо кэш-памяти команд и/или данных.
Некоторые наиболее совершенные модели 32-разрядных МП имеют средства обработки чисел с плавающей точкой (вещественных чисел), а также немультиплексированные шины адреса и данных, что способствует повышению быстродействия.
Как уже отмечалось, первый 32-разрядный МП, но с 16-разрядной шиной данных, был создан фирмой Motorola в 1980 г. и назывался MC68000. Первый же полностью 32-разрядный однокристальный прибор NS32032 разработала компания National Semiconductor в 1982 г. Вскоре (в 1984 г.) появился и аналогичный прибор MC68020 фирмы Motorola. Фирма же Intel заметно отставала до тех пор, пока не выпустила изделие 80386. Желание и необходимость обеспечить его совместимость с приборами 8086 и 80286 не позволили разработчикам реализовать радикальные технические решения. Поэтому по ряду показателей МП 80386 уступает своим конкурентам. Несмотря на это, он пользуется высоким спросом на рынке, так как накоплен большой объем ПО для его предшественников. Кроме того, этот прибор, как и все МП фирмы Intel (что уже отмечалось), поддерживается фирмой IBM.
Итак, изделие 80386 обличается от прибора 80286 не столь радикально, как последний от 8086/88, и имеет развитую конвейерную структуру, средства поддержки виртуальной памяти с возможностью выбора сегментной, страничной или комбинированной организации, а также усовершенствованный механизм защиты памяти, который назван системой защиты конфигурации. Защита конфигурации гарантирует надежную работу машины при выполнении сложных прикладных программ (в частности, уменьшение степени повреждений, вызванных ошибками в ПО). Средства защиты МП 80386 проверяют каждую машинную команду на соответствие определенному набору требований. Степень необходимой защиты зависит от типа выполняемой прикладной программы. Разработчик пользовательской программы ограничен в выборе режимов защиты. Изделие 80386 характеризуется также аппаратным, а не программным переключением задач и расширенными средствами отладки программ за счет введения дополнительных команд, но отсутствием аппаратных средств для обработки чисел с плавающей точкой и встроенной, кэшпамяти, а также мультиплексированностью шин адреса и данных.
Максимальный размер сегмента увеличен с 64 Кбайт до 4 Гбайт. Размер страницы составляет 4 Кбайт. В МП 80386 реализованы следующие виды адресации памяти: сегментно-страничная, сегментная, линейная и странично-линейная, причем механизм страничной памяти является подчиненным по отношению к механизму сегментной организации.
В МП 80386 предусмотрена возможность динамического изменения ширины шины данных.
Аналогично прибору 80286 МП 80386 может функционировать в реальном и защищенном режимах.
В реальном режиме процессор имитирует МП 8086, выполняя соответствующие программы с большей скоростью. При этом он (как и прибор 80286 в реальном режиме) работает в однопрограммном режиме и его адресное пространство также ограничено,объемом 1 Мбайт.
Защищенный режим раскрывает все возможности МП 80386. Этот режим, в свою очередь, включает три подрежима:
— режим виртуального процессора 8086;
— защищенный режим МП 80286;
— собственно защищенный режим прибора 80386.
В режиме виртуального процессора 8086 обеспечивается мультипрограммная работа с выполнением программ для МП 8086. Это по сути поддержка системы виртуальных машин, в чем и состоит главное качественное отличие прибора 80386 от 80286. Данный режим обеспечивается средствами «среды многопроцессорного исполнения» (multiple-execution environment), позволяющей параллельно выполнять разнородные программы, в том числе различные ОС. Адресное пространство каждого виртуального процессора 8086 ограничивается объемом 1 Мбайт. Защищенный режим МП 80286 эмулирует работу высокоскоростного процессора 80286, обеспечивая многопрограммную обработку и 16-Мбайт адресное пространства Собственно защищенный режим МП 80386 характеризуется 4-Г5айт адресным пространством, а также поддержкой многопрограммной работы.
В 1987 г. фирма Motorola выпустила новый МП MC68030 и довела его тактовую частоту в 1989 г. до 50 МГц. Он, безусловно, составляет серьезную конкуренцию прибору 80386.
Обратим внимание на выпуск в 1988 г. фирмой Intel гибридной модели 80386SX. Это вызвано тем, что компании Harris Semiconductor и AMD заметно опередили фирму Intel по производству высокоскоростных модификаций МП 80286. Прибор 80386SX является быстродействующей заменой для изделия 80286 практически при той же стоимости ПЭВМ. МП 80386SX имеет ту же внутреннюю архитектуру, что и 80386, и отличается от последнего только разрядностями двух шин. AMD в 1991 г. уже выпустила 25-МГц вариант МП 80386SX.
В том же 1991 г. фирма Intel стала предлагать изделие 80386SL, в основе которого лежит МП 80386SX. Прибор 80386SL предназначен для использования в блокнотных ПЭВМ и имеет следующие особенности:
— в его состав входят схемы управления периферийным оборудованием;
— габариты МП 80386SL на 40% меньше прибора 80386SX;
— МП 80386SL обладает пониженным энергопотреблением благодаря «управлению» питанием. Очередной виток конкурентной борьбы в области 32-разрядных МП связан с появлением в
1989 г. новых приборов — 80486 (Intel) и MC68040 (Motorola). По степени готовности этих МП фирма Intel шла впереди.
Изделие 80486 является дальнейшим развитием МП 80386. Новое детище Intel дополнительно содержит
— кэш-память команд и данных на 8 Кбайт;
— средства выполнения операций над числами с плавающей точкой (сопроцессор плавающей точки);
— средства для многопроцессорной обработки, в том числе несколько новых команд. Устройство управления виртуальной памятью ориентировано на страничную организацию.
Шины адресов и данных не мультиплексированы. В 1991 г. Intel сообщила, что ей удалось разогнать прибор 80486 до 100 МГц.
На одной и той же тактовой частоте МП 80486 работает примерно в 2 раза быстрее прибора 80386.
Недавно фирме Intel пришлось сделать откат назад и выпустить изделие 80486SX. МП 80486SX полностью повторяет прибор 80486, но не содержит сопроцессора плавающей точки. Причиной разработки 80486SX явилось то; что AMD стала предлагать аналоги изделия 80386 с повышенной тактовой частотой (до 40 МГц). 20-МГц МП 80486SX полностью заменяет 80386 (это относится как к функциональным возможностям, так и к стоимости).
Чтобы можно было легко отличить МП 80386/486 от 80386SX/486SX, к обозначению первых теперь добавлены справа буквы DX (80386DX и 80486DX).
В августе 1989 г. вице-президент фирмы Intel Д.Хаус сообщил о разработке МП 80586, который будет содержать 4 млн. транзисторов и появится на рынке в 1993 г. На конец 1995 г. планируется выпуск МП 80686 (22 млн. транзисторов), а к 2000 г. — прибор 80786, который будет работать с тактовой частотой 250 МГц и содержать около 100 млн. транзисторов. По словам Д.Хауса, в последнем будет параллельно «функционировать четыре обычных и два векторных процессора».
Доминирующая на японском рынке корпорация NEC проводит свою политику в области 32-разрядных МП. Ее прибор V60, выпущенный в 1986 г., был первым в мире изделием, оснащенным средствами обработки чисел с плавающей точкой. Модели же V70 (1987 г.) и особенно V80 (1989 г.) имеют очень хорошие характеристики.
Таким образом, в области 32-разрядных МП в настоящее время идет острая конкурентная борьба без отчетливо выраженного лидера. В области же 16-разрядных МП большой отрыв имеют приборы 8086, 80286 и их аналоги.
По объему сбыта 32-разрядных МП места различных фирм распределяются следующим образом:
1) Motorola;
2) Intel;
3) National Semiconductor (приборы NS32032, NS32332 и NS32532);
4) американская компания AT&T (изделие WE32100);
5) Zilog (МП Z80000).
Кроме того, в данном секторе рынка фигурируют следующие производители:
— японская фирма Hitachi (МП Micro 32, являющийся аналогом прибора MC68020);
— VM Technology (изделие VM8600S, имеющее те же свойства, что и VM860S). Подчеркнем еще раз, что 32-разрядные МП различных фирм несовместимы между собой
(имеют различные системы команд).
Группы европейских и японских производителей вынашивают планы создания мировых стандартов МП, каковыми стали изделия фирм Intel и Motorola (последние используются в ПЭВМ компании Apple Computer). Для этого необходимо, как минимум:
1) создать прибор с самыми высокими техническими характеристиками;
2) обеспечить перенос накопленного ПО; 3) убедить заказчиков в том, что все это всерьез и надолго, т.е. что они в обозримом будущем не сдадут свои позиции и не уступят лидерство другим фирмам.
В качестве японского вызова в связи с этим можно упомянуть проект TRON (The Real-time Operating-system Nucleus — ядро ОС реального времени) компаний Fujitsu, Hitachi и Mitsubishi, разработавших МП с быстродействием до 20 млн. команда/с. МП этой группы хорошо совместимы с ОС UNIX.
По сферам применения 32-разрядные МП можно разделить на следующие группы:
1) для АРМ и многопользовательских микроЭВМ (приборы WE32100, 80386, 80486, MC68020, MC68030, MC68040, NS32332, Micro 32, V70 и V80);
2) для систем реального времени (изделия NS32032 и NS32532);
3) для контроллеров, ПУ и встроенных микроЭВМ (модели NS32532, Z80000 и др.);
4) для многопроцессорных систем (МП 80486, MC68040 и NS32532);
5) для военной аппаратуры (прибор Z80000);
6) для ПЭВМ (изделия фирм Intel, Motorola и NEC).
2.1.4. Архитектура микропроцессора 8086/88
В состав прибора 8086/88 входят.
— микропрограммное устройство управления;
— арифметико-логическое устройство;
— программно-доступные регистры;
— регистр-указатель команд IP (Instruction Pointer) и другие внутренние регистры;
— блок формирования адресов;
— блок очереди команд;
— средства для поддержки прямого доступа к памяти.
МП обеспечивает 24 способа (режима) адресации и выполнение 134 различных команд. Однако действия над числами с плавающей точкой аппаратно не поддерживаются и поэтому должны производиться программно или на дополнительном оборудовании (сопроцессоре плавающей точки).
Времена выполнения основных команд характеризуют следующие величины:
— минимальный цикл шины (последовательность микроопераций, необходимых для передачи порции информации между МП и ПУ или ОП) — 4 такта;
— копирование содержимого одного регистра в другой — 2 такта;
— сложение (при условии, что оба операнда находятся в регистрах МП и результат также помещается в регистр) — 3 такта;
— сложение (в случае, когда один операнд находится в регистре, другой — в ОП, а результат записывается в регистр) — 14 тактов;
— умножение (регистровое — аналогично третьему пункту) — 144 такта;
— деление (аналогично) — 177 тактов.
Состав программно-доступных регистров МП 8086/88 представлен на рис. 2.1. Всего имеется 13 таких регистров, разрядность которых равна 16 (2 байта). По функциональному назначению они делятся на:
1) регистры общего назначения (РОН);
2) сегментные регистры;
3) регистр флагов.
РОНы в принципе допускают произвольное использование в программах, однако обычно они имеют вполне определенное назначейие, соответствующее их названию. Это связано с тем, что некоторые команды задействуют те или иные регистры без их явного указания; кроме того, используются стандартные соглашения для связи программных модулей. В РОНах могут храниться данные или указатели адресов (мы вскоре рассмотрим технику формирования 20-разрядного исполнительного адреса из 16-разрядных указателей адресов, т.е. из номера первого параграфа в сегменте и относительного адреса в пределах сегмента).
Информационные регистры стандартно выполняют следующие функции:
1) регистр-аккумулятор АХ используется для временного хранения данных и промежуточных результатов;
2) базовый регистр ВХ служит для хранения указателя адреса области памяти, который участвует в формировании смещения при определенных режимах адресации;
3) регистр-счетчик СХ предназначен для организации циклов (хранит число повторений тела цикла);
4) регистр данных DX служит в качестве вторичного аккумулятора для временного хранения данных и промежуточных результатов.
Любой информационный регистр доступен под тремя именами, например:
АХ — имя всего 16-разрядного регистра; АН — имя старшего байта регистра АХ; AL — имя младшего байта регистра АХ.
Содержимое
индексных
регистров SI
и DI
при определенных режимах адресации
(возможно, совместно с содержимым
регистра ВХ) используется при формировании
относительного адреса
для обращения к памяти. Разделение относительного адреса на две составляющие (базу и индекс) осуществлено в целях повышения эффективности выполнения операций над содержимым последовательных ячеек памяти (например, над элементами массива в цикле). Код в регистрах SI и DI при выполнении команды может автоматически возрастать или уменьшаться в режиме автоиндексации. Регистр SI применяется для индексации операнда, а регистр DI — результата.
Регистры-указатели ВР и SP используются для работы со стеком, который служит, в частности, для передачи аргументов подпрограмме, а также возврата значений и управления в основную программу. Следует иметь в виду, что стек не организован аппаратно, а реализуется в определенной области ОЗУ. Содержимое регистра SP указывает на адрес элемента в вершине стека; регистр же ВР используется аналогично регистру ВХ (в том числе совместно с регистрами SI и DI), только указывает на адрес в стеке, а не в области данных. Это необходимо для организации произвольного доступа к содержимому стека, что удобно, например, для выборки из него аргументов подпрограммы. Кроме того, содержимым регистра ВР можно отмечать дно стека, если его область пересекается с областью данных.
Индексные регистры и регистры-указатели могут применяться и по другому назначению, если в данный момент они не используются стандартным образом.
Сегментные регистры играют важную роль в формировании физических адресов ОП (т.е. исполнительных адресов). В связи с тем, что внутренние регистры МП 8086/88 16-разрядные, напрямую можно адресовать только 2716 =' 64 Кбайт памяти (минимальная адресуемая единица — байт), этого для реальных приложений явно недостаточно. Для расширения адресного пространства до 1 Мбайт (поддерживается 20-разрядным адресом) в МП 8086/88 используется сегментная организация памяти. В соответствии с этим 1-Мбайт адресное пространство логически делится на 64 К параграфов по 16 байт. Поэтому для хранения номера параграфа оказывается достаточным 16-ти разрядов, причем этот номер содержится в сегментном регистре. Сегмент представляет собой логическую область памяти, состоящую из целого числа параграфов, начинающуюся с какого-либо параграфа и содержимое которой можно адресовать 16-разрядным кодом. Следовательно, размер сегмента не может превышать 64 Кбайт (4 К параграфов). Исполнительный адрес (см. рис. 2.2) формируется путем сложения двух составляющих:
1) 20-разрядного адреса сегмента, представляющего собой номер первого параграфа в сегменте, умноженный на 16;
2) 16-разрядного относительного адреса в рамках сегмента.
В действительности умножение номера первого параграфа в сегменте на 16 осуществляется путем сдвига содержимого сегментного регистра на 4 разряда влево. Очевидно, адрес сегмента всегда кратен 16-ти.
Сегментную организацию памяти иллюстрирует рис 2.3.
Сам же относительный адрес внутри сегмента формируется в соответствии с заданным в команде режимом адресации из указателей адресов, хранящихся в РОНах, и содержимого адресного поля команды.
МП имеет доступ одновременно к четырем сегментам:
1) сегменту команд (программному сегменту) CS, содержащему последовательность команд программы; 2) сегменту данных DS, хранящему данные для выполняемой программы;
3) дополнительному сегменту ES, обычно используемому для запоминания промежуточных результатов, т.е. в качестве дополнительной рабочей памяти;
4) сегменту стека SS, содержащему стек, в котором размещаются значения локальных переменных и через который осуществляется связь по информации между основной программой и подпрограммой, что уже отмечалось.
Тот или иной сегментный регистр задается в команде явно или предполагается неявно.
Различные сегменты могут перекрываться, совпадать или занимать непересекающиеся области памяти. На это нет никаких ограничений. Так, например, для простой программы все перечисленные сегменты могут начинаться с одного адреса. Для объемных программ, наоборот, может потребоваться использование большего количества сегментов. Поэтому система команд МП обеспечивает смену содержимого сегментных регистров и передачу управления из одного программного сегмента в другой (дальнюю передачу управления наряду с ближней). За счет сегментирования поддерживается также простая реализация перемещаемости программ в ОЗУ. Однако не следует считать, что сегментная организация памяти является панацеей от всех бед: в действительности именно она доставляет много хлопот программистам.
С точки зрения аппаратуры размер любого сегмента составляет 64 Кбайт. Меньший же размер может фиксироваться только в голове программиста путем ограничения области относительных адресов, за счет чего неиспользуемая часть сегмента может быть отведена под другой сегмент.
Иногда удобно считать, что память имеет страничную организацию с размером страницы, равным 64 Кбайт. Тогда старшие 4 бита 20-разрядного адреса указывают страницу, а остальные — относительный адрес в рамках страницы.
Как уже говорилось, минимальной адресуемой областью памяти является байт. Слово содержит 2 байта, причем младший байт слова помещается в однобайтовую ячейку с четным номером, а старший — в следующую однобайтовую ячейку с на единицу большим нечетным номером (учтите то, что байты адресуются с нуля). Аналогично размещается в памяти и 32-разрядное двойное слово (сначала — младшее слово, а затем — старшее). Это нужно всегда иметь в виду при низкоуровневой работе с памятью.
Последний из программно-доступных регистров — регистр флагов FLAGS — предназначен для фиксации различных сигналов, вырабатываемых в МП в ходе интерпретации команд (к примеру, знака результата выполненной в арифметико-логическом устройстве операции). Эта информация может использоваться для организации разветвлений в программе.
Регистр-указатель команд IP (традиционное название — счетчик команд) служит для хранения адреса очередной и формирования адреса следующей инструкции (конечно, в форме относительного адреса в пределах программного сегмента).
Блок, формирования адресов обеспечивает аппаратное формирование исполнительного адреса по описанным выше принципам.
Для повышения производительности ПЭВМ МП 8086/88 содержит блок очереди команд на 6 байт. В этот блок осуществляется упреждающее считывание кодов команд, текстуально следующих за выполняемой. Подкачка очереди команд происходит асинхронно и одновременно с выполнением текущей команды. Это в совокупности с большой вероятностью последовательного выполнения команд дает ощутимый выигрыш по быстродействию. Описанная техника не работает только при реализации команды, передающей управление (очередь команд оказывается бесполезной).
Назначение средств поддержки прямого доступа к памяти описано в подразделе 1.3.
