- •Общая организация микропроцессорных систем.
- •Адресация операндов при выполнении программ.
- •Структурная схема микроЭвм
- •Структурная схема процессора.
- •Регистр стека
- •Команды процессора.
- •3.Команды обращения к подпрограммам.
- •5.Команды ввода/вывода. Эта группа команд весьма разнообразна и очень существенно зависит от архитектуры конкретной эвм. В учебных целях рассматривается команда вывода output и команда ввода input.
- •Способы адресации
- •Структура команд.
- •Виды адресаций pdp-11
- •Архитектура микропроцессоров intel.
- •Общие сведения о микропроцессоре Intel (16-разрядный)
- •Сегменты и смещения.
- •Регистры сегментов
- •Регистры указателей индексов
- •Указатель команд
- •Режим адресации
- •Регистровая и непосредственная адресация
- •Режимы адресации памяти
- •Прямая адресация
- •Косвенная регистровая адресация
- •Адресация по базе
- •Прямая адресация с индексированием
- •Смещение dispH/dispL
- •Шинная организация эвм
- •Эволюция шинной организации микропроцессорных систем.
- •3) Применение конвертеров системной шины
- •Применение кэш-памяти.
- •Передача информации по шинам микро эвм
- •Стробирование сигналов на шинах данных.
- •Передача данных по шине по методу «запрос-ответ»
- •Способ передачи данных с внешней синхронизацией.
- •Организация ввода/вывода микропроцессорных систем.
- •Адресация внешнего устройства.
- •Классификация методов ввода/вывода.
- •Системный интерфейс микропроцессора Intel
- •Локальный интерфейс Intel 80-386
- •Модель функционирования локального интерфейса микропроцессора Intel 80386
- •Подсистема прерываний
- •Использование контроллеров прерывания для повышения быстродействия микропроцессорной системы.
- •Программирование контроллеров прерывания.
- •Организация памяти микропроцессора.
- •Канал прямого доступа к памяти
- •Виды запоминающих устройств.
- •Распределение адресного пространства.
- •Диспетчер памяти
- •Озу статического типа (sram)
- •Озу динамического типа (dram).
- •Регенерация по таймеру.
- •«Прозрачная» регенерация.
- •1 Мультиплексор позволяет пропускать на выход либо разряды адреса, либо состояние счетчика регенерации.
- •Организация кэш-памяти.
- •Системы адресации кэш-памяти.
5.Команды ввода/вывода. Эта группа команд весьма разнообразна и очень существенно зависит от архитектуры конкретной эвм. В учебных целях рассматривается команда вывода output и команда ввода input.
По команде вывода содержимое аккумулятора подается на шину ввода вывода, а в качестве второго операнда указывается регистр данных некоторого внешнего устройства. После того, как выводимое слово окажется в регистре данных, контроллер адресованного внешнего устройства запускает непосредственную операцию выдачи этого слова на носитель или на экран монитора.
По команде ввода данные из регистра данных внешнего устройства передаются по шине ввода/вывода в аккумулятор. Перед тем чтобы прочитать слово из регистра данных внешнего устройства процессор должен указать, когда внешнее устройство приготовит эти данные в своем регистре. Внешнее устройство в своем контроллере кроме регистра данных имеет еще регистр команд и состояний. В случае предыдущей команды вывода процессор после запроса выводимых данных в регистре данных записывает в регистр команд и состояний внешнего устройства команду записи. В случае ввода информации с внешнего устройства процессор может читать бит готовности в регистре команд и состояний внешнего устройства . Как только передаваемая информация появится в регистре данных внешнего устройства , соответствующий разряд готовности в регистре команд будет установлен в «1» и процессор может прочитать данный вид внешнего устройства. Этот способ называется «Чтение по готовности» и не очень удобен, так как процессор будет занят постоянным опросом готовности внешнего устройства. Существует 2 способ чтения информации из внешнего устройства по прерыванию. Процессор предварительно записывает в регистр команд и состояний внешнего устройства разрешение на прерывание и уходит выполнять свою основную программу. Когда переданная информация появится в регистре данных внешнего устройства, будет автоматически установлен в «1» бит готовности и в совокупности с разрешением прерывания от этого бита готовности возникает прерывание основной программы и процессор уйдет на чтение данных из внешнего устройства.
Способы адресации
Для того чтобы выполнить ту или иную команду, процессор должен узнать следующее: какую именно команду надо выполнить, где находятся первый и второй операнды и куда нужно поместить результат. Информация по всем этим вопросам содержится в команде когда она находится в регистре команд.
Команда содержит в общем виде следующие поля:
В каждом конкретном случае той или иной ЭВМ назначение разрядов команды может несколько меняться, но общий принцип остается. Код операции имеет столько разрядов, сколько необходимо для кодирования всех операций которые может выполнять АЛУ. В данном разделе нас интересует 2 других сегмента команды а именно признак адресации и адресное поле. Совместное использование двух этих полей позволяет определить адреса операндов и адрес результата. Поскольку в команде кол-во разрядов ограничено, а хочется адресовать как можно большее пространство памяти, то разработчики архитектуры ЭВМ изобрели несколько способов определения адресов операндов с помощью двух этих полей команды. Основными способами адресации являются следующие :
1.Прямая адресация
2.косвенная адресация
3.Относительная адресация
4.Непосредственная адресация
ПРЯМАЯ адресация В этом случае адресное поле команды содержит адрес операнда, с которым нужно выполнить операцию.
КОСВЕННАЯ адресация этот способ адресации введен для того чтобы расширить возможности по адресации операндов в поле памяти, поскольку вся команда 16-ричная, то адресное поле получается <16. В случае косвенной адресации в адресном поле команда указывает всего лишь адрес ячейки, в которой находится адрес операнда. Это позволяет адресовать операнды всей шириной ячейки, т.е. использовать для адресации все 16 разрядов, что существенно увеличивает адресуемое поле.
ОТНОСИТЕЛЬНАЯ. Рассмотренные выше способы жестко привязаны к абсолютным адресам ячеек памяти. Это очень ограничивает возможности по программированию и не позволяет размещать блоки программ в соответствии с текущим ходом выполнения программы. В случае относительной адресации ячейки адресуется относительно какого-либо регистра или счетчика команд. Если адресация выполняется относительно счетчика команд, то она называется относительной . Если относительно одного из регистров общего назначения-то она называется индексной, а используемый для этого регистр называется индексом.
ИНДЕКСНАЯ АДРЕСАЦИЯ в этом случае используется индексный регистр, т.е.один из регистров общего назначения. Для нахождения адреса операнда содержимое индексного регистра складывается с величиной смещения, которая находится в адресном поле команды.
Рассмотренные выше 2 способа адресации – относительная и индексная позволяют адресовать удобным способом массивы данных. В индексном регистре задается адрес начала массива, а адресная часть команды каждый раз задает положение искомого операнда внутри этого массива. Меняя значение смещения в адресном поле команды, мы можем перебирать все массивы.
НЕПОСРЕДСТВЕННАЯ. В этом случае в адресной части команды непосредственно содержится сам операнд. Это самая короткая по циклу операция по циклу операция, поскольку нет необходимости обращаться к ячейкам памяти в поисках операнда.
ADD непосред. А, 032
До выполн. А: 022+032=054
А: 054
Система команд и способы адресации
PDP-11
Первоначально ЭВМ имели структуру, в которой к процессору подключается память, УВВ – т.н. радиальная структура.
Существенным переворотом в развитие архитектур ЭВМ внесли разработчики мини ЭВМ PDP-11. Они предложили подключить все устройства друг к другу единым образом и все элементы ЭВМ подключаются на многопроводную шину, которая называется «общая шина»
В этом случае, как у процессора, так и у памяти, внешних устройств, существует единый стандартный интерфейс общей шины.
Другое замечательное свойство этой архитектуры заключается в том что как элементы памяти, так и внешние устройства адресуются на внешней шине единым образом. Каждое внешнее устройство имеет в своем составе регистр данных и регистр команд и состояний. Регистр команд и состояний является управляющим регистром устройства. В него записывается соответствующая команда для внешнего устройства (Ввод или вывод, запись или чтение), а соответствующие разряды этого регистра содержат флажки, которые характеризуют состояние внешнего устройства (готовность к записи данных во внешнее устройство или наличие данных, т.е. готовность для чтения). Архитектура этой ЭВМ получается настолько удачной, что все мини и микро ЭВМ строятся до сих пор на этой архитектуре.
Рассмотрим более подробно систему команд ЭВМ PDP 11.
На сегодняшний день это целый ряд программно совместимых микро ЭВМ. Фирма DEC продолжает развивать мощные 64-разрядные системы VAX и микропроцессорные наборы системы Alpha Т.к. PDP-11 имело 11 разрядов, то максимальное количество памяти, которую можно было адресовать ОЗУ=2^16=64 Кбайта= 32 Кслова. Эта микро ЭВМ позволяла обращаться как к словам так и к байту. Структура адресации ОЗУ была следующая:
Слова адресовали четными линиями. Слова в поле памяти адресутся четными числами при адресации байта четный адрес указывает на младший байт, а нечетный на старший.
Регистры Д и РК и с внешнего устройств располагаются в верхней области памяти, для работы программистов является доступными 8 регистров общего назначения (РОН), из них 2-особые.
Внутри процессора имеется еще один регистр, который называется регистр словосостояния процессора или процессор статус (PS)
Распределение разрядов этого регистра.
Младшие разряды в разрядной сетке этой машины находится справа.
Текущий и последующий режимы характеризуют взаимодействие пользователя с системой.
Биты с 5 по 7 задают приоритет с которым процессор может иметь 8 уровней приоритета. Это позволяет гибко программировать взаимодействие процессора, выполняющего текущую программу с подпрограммой требующей прерывание, эта подпрограмма, чтобы получить возможность обслуживания, должна выставить запрос на прерывание с уровнем выше текущего уровня программы.
Биты с 0 по 4 являются флагами и при включенном бите Т и после выполнения каждой команды производится процедура прерывания.
N – результат в аккумуляторе отрицателен
Z – результат в аккумуляторе нулевой
V – (объем) – переполнение
C – перенос в старший разряд.
С помощью этих флажков можно организовать циклы в программах и производить ветвления.