Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорные системы (книга Комаров) / Элементная база микроЭВМ.doc
Скачиваний:
142
Добавлен:
08.03.2015
Размер:
1.99 Mб
Скачать

2.2.3. Структура и принцип действия

МП ВМ86/ВМ88 имеют практически идентичную структуру, приведенную на рис.2.2. Их структура содержит два относительно независимых устройства: операционное устройство и шинный интерфейс.

Шинный интерфейс осуществляет выборку команд из памяти, помещая их в очередь команд, а также обращается к памяти и УВВ для считывания операндов и записи результатов. Операционное устройство выполняет команды, выбирая их из очереди.

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

Рис. 2.2. Структура микропроцессоров ВМ86/ВМ88

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

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

Длина очереди команд в МП ВМ86 составляет 6 байт и равна длине самой длинной команды. Шинный интерфейс, как правило, дополняет очередь только словами, то есть тогда, когда в ней оказываются свободными два байта.

В МП ВМ88 длина очереди составляет 4 байта. Причиной уменьшения очереди по сравнению с МП ВМ86 является то, что МП ВМ88 может считывать извне только байты. Поэтому его шинный интерфейс дополняет очередь, когда в ней оказывается свободным один байт, а не два, как в МП ВМ86. В этих условиях длинная очередь не дает никакого преимущества, и для упрощения МП ВМ88 она сокращена.

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

Рис. 2.3. Сегмент в памяти

Блок сегментных регистров обеспечивает поддержку так называемого механизма сегментации памяти, используемого в МП ВМ86/ВМ88. При этом вся память объемом 1 мбайт рассматривается как совокупность физических сегментов. Физический сегмент представляет собой область смежных ячеек памяти объемом 64 кбайт. Положение сегмента в адресном пространстве определяется базовым или начальным адресом сегмента segment. Сегментные регистры предназначены для хранения базовых адресов сегментов. Эти адреса характеризуют положение сегментов относительно начала адресного пространства. Положение каждой ячейки в сегменте характеризуется ее смещением offset относительно начала сегмента (рис.2.3).

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

CS сегмент программного кода CS;

DS основной сегмент данных DS;

ES дополнительный сегмент данных ES;

SS сегмент стека SS.

Указатель команд IP предназначен для хранения смещения offset очередной команды, подлежащей считыванию, в текущем сегменте программного кода. Он является аналогом стандартного программного счетчика РС с той лишь разницей, что его содержимое определяет адрес команды, подлежащей не исполнению, а выборке из памяти, и лишь в совокупности с содержимым регистра CS. Содержимое указателя команд не совпадает со смещением очередной команды, исполняемой операционным устройством. Поэтому при сохранении содержимого IP в стеке, например, при вызове подпрограмм обработки прерывания, оно автоматически корректируется на длину команд, бывших в очереди, но не исполненных. В результате после восстановления указателя команд из стека он будет указывать на первую невыполненную команду, и выполнение программы продолжится с нее. Эта особенность является следствием опережающей выборки команд, реализованной в МП ВМ86/ВМ88.

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

Буферы адреса/данных и адреса/состояния обеспечивают номинальную нагрузочную способность соответствующих линий.

Основными узлами операционного устройства являются блок регистров общего назначения (РОН), арифметико-логическое устройство (АЛУ) и регистр флагов F. Все регистры блока РОН делятся на две группы:

1) регистры данных AX, BX, CX, DX, используемые главным образом для хранения различных данных;

2) регистры указатели адреса SP, BP, SI, DI, используемые в основном для хранения адресной информации.

Особенностью регистров данных является возможность раздельного использования их младших байтов AL, BL, CL, DL и старших байтов AH, BH, CH, DH. Тем самым обеспечивается обработка как байтов, так и слов.

Регистры указатели адреса являются неделимыми и всегда оперируют 16-битными словами. При этом регистры SP и BP хранят смещение адреса в текущем сегменте стека, а SI и DI в основном и дополнительном сегментах данных.

АЛУ предназначено для выполнения арифметических и логических операций над данными, представленными как в двоичной, так и десятичной формах. Основу АЛУ составляет 16-битный комбинационный сумматор.

Регистр флагов служит для хранения признаков результата, полученного в АЛУ, а также для хранения некоторых управляющих признаков, определяющих работу МП.

Устройство управления обеспечивает дешифрацию команд, выбираемых из очереди, и формирование сигналов внутренней синхронизации, необходимых для их выполнения. Кроме того, оно анализирует входные управляющие сигналы и генерирует выходные управляющие сигналы МП.