- •2. Элементная база микроэвм
- •2.1. Состав элементов для построения микроЭвм
- •2.2. Однокристальные микропроцессоры к1810вм86/к1810вм88
- •2.2.1. Аппаратный интерфейс
- •2.2.2. Функциональный смысл внешних сигналов
- •2.2.3. Структура и принцип действия
- •2.2.4. Временные диаграммы функционирования
- •2.2.5. Логическая организация памяти
- •2.2.6. Вычисление физического адреса памяти
- •2.2.7. Сегментная структура памяти
- •2.3. Генератор тактовых импульсов к1810гф84
- •2.4. Шинные буферы к1810ва86
- •2.5. Элементы памяти
- •2.5.1. Элементы постоянной памяти
- •2.5.2. Элементы оперативной памяти
- •2.6. Порты ввода/вывода
- •2.6.1. Порт ввода/вывода к1810ир82
- •2.6.2. Порт ввода/вывода к589ир12
- •2.6.3.Программируемый параллельный интерфейс кр580вв55а
- •Режим 0
- •Режим 1
- •Режим 2
2.2.3. Структура и принцип действия
МП ВМ86/ВМ88 имеют практически идентичную структуру, приведенную на рис.2.2. Их структура содержит два относительно независимых устройства: операционное устройство и шинный интерфейс.
Шинный интерфейс осуществляет выборку команд из памяти, помещая их в очередь команд, а также обращается к памяти и УВВ для считывания операндов и записи результатов. Операционное устройство выполняет команды, выбирая их из очереди.
Оба устройства могут работать параллельно и почти независимо друг от друга. В то время как операционное устройство выполняет операцию, заданную командой из очереди, шинный интерфейс самостоятельно инициирует опережающую выборку команд из памяти и размещает их в очереди команд, которая по существу представляет собой регистр команд. После выполнения текущей команды операционное устройство выбирает из очереди следующую команду и т.д. Если при выполнении команды требуется обращение к памяти или УВВ, то операционное устройство запрашивает шинный интерфейс на выполнение этих действий. Если шинный интерфейс не занят выборкой команды, то этот запрос удовлетворяется немедленно. В противном случае операционное устройство ожидает завершения текущего обращения к памяти.
Рис. 2.2. Структура микропроцессоров ВМ86/ВМ88
Если операционное устройство выполняет команду передачи управления, то шинный интерфейс опустошает очередь команд, выбирает команду по новому адресу и начинает заполнение очереди. При этом операционное устройство ждет появления команд в очереди, после чего начинает их выполнение.
Таким образом, при реализации линейных участков программы опережающая выборка команд существенно повышает производительность МП за счет совмещения фаз выборки и исполнения команды. При реализации ветвящихся участков программы опережающая выборка команд не дает повышения производительности, но и не ухудшает ее. Однако, поскольку команд передачи управления в программах значительно меньше, чем операционных команд, то опережающая выборка команд существенно увеличивает общую производительность МП.
Длина очереди команд в МП ВМ86 составляет 6 байт и равна длине самой длинной команды. Шинный интерфейс, как правило, дополняет очередь только словами, то есть тогда, когда в ней оказываются свободными два байта.
В МП ВМ88 длина очереди составляет 4 байта. Причиной уменьшения очереди по сравнению с МП ВМ86 является то, что МП ВМ88 может считывать извне только байты. Поэтому его шинный интерфейс дополняет очередь, когда в ней оказывается свободным один байт, а не два, как в МП ВМ86. В этих условиях длинная очередь не дает никакого преимущества, и для упрощения МП ВМ88 она сокращена.
Кроме очереди команд, основными узлами шинного интерфейса являются блок сегментных регистров, указатель команд IP, сумматор адресов и буферы, обеспечивающие связь с шиной.
Рис. 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-битный комбинационный сумматор.
Регистр флагов служит для хранения признаков результата, полученного в АЛУ, а также для хранения некоторых управляющих признаков, определяющих работу МП.
Устройство управления обеспечивает дешифрацию команд, выбираемых из очереди, и формирование сигналов внутренней синхронизации, необходимых для их выполнения. Кроме того, оно анализирует входные управляющие сигналы и генерирует выходные управляющие сигналы МП.