ОБЩИЕ СВЕДЕНИЯ О МИКРОПРОЦЕССОРЕ 8088

воскресенье, 31 января 2010 г. Автор: Vadim

Внутри микропроцессора 8088 информация содержится в группе 16-битовых элементов, называемых регистрами. Всего он имеет 14 регистров: 12 регистров данных и адресов и в дополнение к ним указатель команд (регистр адре­са команд) и регистр состояния (регистр флагов). Можно подразделить 12 регистров данных и адресов на три группы по четыре регистра, а именно на регистры данных, регистры указателей и индексов и регистры сегментов.

АДРЕСАЦИЯ

Так как у микропроцессора 8088 указатель команд и адресные ре­гистры имеют по 16 битов, то можно подумать, что он способен адресоваться к памяти объемом не более 64 байт (65 536 байт), т. е. имеет стандартный для 8-бито-' вых микропроцессоров диапазон адресов. Однако на самом деле микропроцессор 8088 всегда генерирует 20-битовые адреса. Он делает это за счет добавления 16-би­тового смещения к содержимому регистра сегмента, умноженному на 16. Таким образом,

физический адрес = смещение + 16 • (регистр сегмента).

В действительности микропроцессор 8088 вместо умножения на 16 использует содержимое регистра сегмента так, как если бы оно имело четыре дополнительных нулевых-бита (рис. 1. 1). Добавление нулей аналогично умножению, поскольку при каждом сдвиге на одну позицию влево двоичное число удваивается. Следователь­но, перемещение значения регистра сегмента на четыре позиции влево умножает его на 16:2 • 2 • 2 • 2 = 16.

Например, если смещение адреса имеет значение ЮН, где суффикс Н обозначает шестнадцатеричное число, а регистр сегмента содержит 2000Н, то микропроцессор 808С произведет вычисление физического адреса следующим образом (операнды показаны в двоичном виде):

0000 0000 0001 0000 (смещение) + 0010 0000 0000 0000 0000 (номер блока) 0010 0000 0000 0001 0000 (физический адрес).

Следовательно, мы получим 20-битовый адрес ячейки памяти 200ЮН.

Имея в своем распоряжении 20-битовый адрес, микропроцессор 8088 может получить доступ к любому из 1 048 576 байт. .(Данное значение называется "мега­байт" (Мбайт); 1 Мбайт = 1024 Кбайт.) Это в 16 раз превышает диапазон адресов микропроцессора 8088!

15 О

Смещение

clip_image002[4]

СЕГМЕНТЫ И СМЕЩЕНИЯ

У большинства микропроцессоров адрес ячейки памяти представляет собой одно число. А у микропроцессора 8088 адрес каждой ячейки памяти задается двумя числами: номером блока и смещением. Такой странный метод адресации обусловлен тем, что команды программы для микропроцессора 8088 и ее данные должны располагаться в разных частях памяти, другими словами, в разных сег­ментах. Если, например, Вам требуется адресоваться к ячейке с данными, то микропроцессору 8088 понадобится адрес блока памяти, с которого начинается сегмент данных (из регистра сегмента данных), и позиция желаемой ячейки в этом сегменте (ее смещение). Вспомните, как ищут в городе чей-нибудь дом: сначала находят улицу (считайте ее сегментом), а затем дом с нужным номером (смеще­нием) на этой улице.

К счастью, Вам достаточно задавать только смещение, а номер блока микропро­цессор 8088 выберет сам. Несколько позже мы обсудим это обстоятельство более детально.

ВОЗМОЖНОСТИ ПРОГРАММИРОВАНИЯ

Микропроцессор 8088 обладает впечатляющими возможностями прог­раммирования. Они пришлись особенно по душе тем программистам, которым ранее приходилось "бороться" с 8-битовыми микропроцессорами. Действительно, микропроцессор 8088 может выполнять арифметические операции над двоичными числами со знаком и без знака, длиной в 8 или 16 битов, а также над десятичными числами, хранящимися как в упакованном (по две цифры в байте), так и в неупа­кованном (по одной цифре в байте) виде. Он может также оперировать строками (например, сообщениями) длиной до 64 Кбайт.

Система команд микропроцессора 8088 содержит 92 основных типа команд и предусматривает семь различных способов адресации или режимов доступа к данным. Комбинации типов команд, режимов адресации (имеющие множество комбинаций операндов) и различных типов данных, которые мы только что упоми­нали, образуют тысячи команд, которые могут быть выполнены микропроцессором 8088. Действительно, сочетание всех этих свойств позволяет микропроцессору 8088 обеспечивать вдвое большую производительность по сравнению с 8085, если оба они работают с одинаковой скоростью.

МЕРА СКОРОСТИ

Как и электронные часы, микропроцессоры управляются кварцевым генератором. Кварцевый генератор испускает импульсы со стабильной фиксиро­ванной частотой, задающей скорость работы микропроцессора. В персональных ЭВМ PC и PC/XT кварцевый генератор испускает 4 770 000 импульсов в секунду.

Специалисты по вычислительной технике пользуются другой единицей измере­ния: числом колебаний в секунду, или герцами. Импульсы в секунду, колебания в секунду и герцы означают одно и то же, но в этой книге мы будем использовать термин "герц". Таким образом, персональная ЭВМ PC имеет тактовый генератор с частотой 4 770 000 Гц (4,77 МГц).

При частоте 4,77 МГц (4 770 000 колебаний в секунду) тактовый генератор персональной ЭВМ PC "тикает" каждые 210 не. Мы будем называть это значение циклом тактового генератора ЭВМ.

Самая быстрая команда (например, копирование содержимого одного регистра в другой регистр) выполняется за два цикла, или за 420 не. Самая медленная команда, деление двух 16-битовых чисел со знаком, выполняется за 206 циклов тактового генератора, или примерно за 43 мкс. Как видите, даже самая медленная команда выполняется всего за 0, 000043 с!

ОБЛАСТЬ ПОРТОВ ВВОДА-ВЫВОДА

В дополнение к области памяти объемом в 1 Мбайт микропроцессор 8088 может адресоваться к внешним устройствам через 65 536 (64 К) портов вво­да-вывода. Он имеет специальные команды ввода-вывода, которые позволяют Вам иметь непосредственный доступ к первым 256 портам (от 0 до 255). Другие команды позволяют Вам получить косвенный доступ к порту с помощью занесения идентифицирующего его номера (от 0 до 65 535) в регистр данных. Подобно ячей­кам памяти любой порт может быть 8- или 16-битовым.

РАСПРЕДЕЛЕНИЕ ПАМЯТИ

Большая часть адресного пространства в 1 Мбайт доступна для систем­ных и прикладных программ, но некоторые ячейки с самыми старшими и самыми младшими адресами используются микропроцессором 8088 для специальных целей. Шестнадцать старших байтов памяти отводятся под команды начальной загрузки системы, которые используются микропроцессором 8088 в момент вклю­чения питания. Первые 1024 ячейки отведены под адреса программ, которые исполняются микропроцессором 8088 при прерывании его работы внешним устрой­ством.

ПРЕРЫВАНИЯ

Время от времени всем нам приходится сталкиваться с прерываниями. Одни прерывания нам приятны, другие неприятны, третьи безразличны. При жела­нии Вы можете игнорировать некоторые прерывания, не обращая внимания, ска­жем, на телефонный или дверной звонок или на ребенка, дергающего Вас за рукав. (Да нет, игнорировать ребенка практически невозможно!) На прерывания других видов Вы просто обязаны реагировать; например, если Вы прокололи шину на железнодорожном переезде, то должны немедленно что-то предпринять.

Прерывания по сути являются требованиями к Вам обратить на них внимание. Аналогично периферийные устройства вычислительной системы могут потребо­вать, чтобы процессор "обратил на них внимание". Поэтому событие, которое заставляет процессор приостановить выполнение своей программы для выполне­ния некоторой затребованной деятельности, называется прерыванием.

Прерывания существенно увеличивают эффективность вычислительной систе­мы, поскольку они позволяют внешним устройствам "обращать на себя внимание" процессора только по мере надобности. Если бы в системе не было прерываний, тс процессору пришлось бы периодически проверять, не требует ли обслуживания какое-нибудь устройство системы. Это похоже на телефон без звонка: пользуясь им, Вам приходилось бы очень часто снимать трубку и проверять, не пытается ли кто-нибудь в Вами соединиться?

ТИПЫ ПРЕРЫВАНИЙ

Микропроцессор 8088 может обрабатывать прерывания двух видов: одни он может игнорировать, а другие обязан обслужить как можно скорее. Преры­вания могут быть инициированы внешними устройствами, например дисководами и. другими высокоскоростными периферийными устройствами; они могут быть также инициированы специальными командами или, в определенных ситуациях, самим микропроцессором 8088.

Микропроцессор 8088 может распознать 256 различных прерываний. Каждому из них однозначно соответствует код типа, по которому микропроцессор иденти­фицирует прерывание. Он использует этот код (целое число от 0 до 255) в качестве указателя ячейки, находящейся в области памяти с младшими адресами. Эта ячейка содержит адрес программы обработки данного прерывания, называемый вектором прерывания.

Некоторые из этих 256 прерываний используются системным программным обеспечением, поставляемым фирмой IBM к своим персональным ЭВМ IBM PC, а именно резидентной частью операционной системы (называемой BIOS), дисковой операционной системой DOS и интерпретатором языка Бейсик. Остальные прерыва­ния можно использовать по своему усмотрению. Более детально прерывания обсуждаются в гл. 6.

АДРЕСНАЯ ШИНА И ШИНА ДАННЫХ

Микропроцессор 8088 выполнен в виде интегральной микросхемы с 40 выводами, 20 из которых служат для вывода адресов ячеек памяти и образуют так называемую адресную шину. Первые 8 проводников адресной шины используются также для ввода данных в микропроцессор и вывода данных из него; они образуют 8-битовую шину данных микропроцессора 8088. Такое совмещение называется мультиплексированием шины данных и адресной шины. (Старшие четыре проводника адресной шины также мультиплексированы: по ним в микропроцессор поступает информация о состоянии операций с памятью и устройствами ввода-вы­вода.)

Предлагаю ознакомиться с аналогичными статьями:



Отправить комментарий