Основы микропроцессорной техники
Архитектура ЭВМ
Типовая ЭВМ состоит из пяти основных элементов:
· Устройство ввода – предназначено для ввода информации или управления ЭВМ от внешних устройств (например, клавиатура, мышь).
· Микропроцессор (МП) – центральный процессор – это устройство управления всей ЭВМ и выполнения арифметических и логических операций.
· Постоянное запоминающее устройство (ПЗУ). В нашем случае предназначено для хранения исполненных ЭВМ программ.
· Оперативное запоминающее устройство (ОЗУ) – предназначено для временного хранения данных.
Примечание: и ПЗУ и ОЗУ представлены в виде множества локализованных ячеек памяти. Размер ячейки – это количество БИТ информации, которую можно поместить в ячейку памяти или прочитать из нее.
· Устройство вывода - предназначенного для передачи данных и управления внешними по отношению к ЭВМ устройствами (экран монитора, принтеры и т.д.)
Для организации взаимодействия и управления всеми устройствами ЭВМ в нее включены три шины:
1. шина адреса (ША) – выбирает (указывает) ячейку памяти или адрес портов ввода-вывода. В зависимости от количества ячеек памяти и устройства ввода-вывода (УВВ) ША бывают 16, 32, 64 и т.д. разрядов.
2. линия управления (ЛУ) - представляет из себя шину, состоящую из нескольких проводов, на каждом из которых формируются управляющие сигналы, обеспечивающие необходимую временную последовательность работы всех устройств ЭВМ.
3. шина данных (ШД) – является двунаправленной и служит для передачи данных в МП или из него.
Работа ЭВМ
Рассмотрим пример типовой процедуры в ЭВМ:
1. Нажатие клавиши «А».
2. Размещение буквы «А» в памяти.
3. Воспроизведение буквы «А» на экране дисплея.
Процедура «ввод – размещение – вывод» является типичной. Аппаратные средства, используемые для реализации этой процедуры, довольно сложны и нами, в данный момент, рассматриваться не будут. Однако, анализ процесса передачи данных поможет понять роль различных устройств, составляющих систему, а так же, самое важное, укажет на порядок правила и последовательность выполнения действий в ЭВМ.
Текущими командами в ПЗУ являются:
· Ввести (INPUT) данные через порт 1
· Разместить (STORE) данные, поступающие из порта 1 в ячейку памяти с адресом 200.
· Вывести данные (OUTPUT) через порт 10.
Приведенная программа содержит 3 команды, а в программной памяти (ПЗУ) имеется 6 команд. Это вызвано тем, что команды делятся на 2 части, например, первая часть команды 1 была «ввести» (INPUT), вторая часть указывает нам на происхождение данных (Порт 1). Таким образом, первая часть представляет собой действие и называется операцией, а вторая часть – операндом. Операция и операнд помещены в ячейки памяти ПЗУ, причем, например, операция «ввести» содержится в ячейке памяти с адресом 100, а операнд из порта 1 в ячейке с адресом 101. Микропроцессор (МП) здесь представлен в виде 2 регистров: аккумулятора и регистра команд.
Проследим все этапы выполнения этой программы.
Этап №1: МП выставляет адрес 100 на ША. Линия управления активизирует ввод считывания из интегральной схемы программной памяти.
Этап №2: Программная память выставляет первую программу (INPUT) на шину данных (ШД), а МП принимает эту кодированную информацию. Это сообщение помещается в регистр команд и МП декодирует (интерпретирует) это сообщение. В результате интерпретации он определяет, что это за команда и что ей нужен операнд.
Этап №3: МП выставляет на ША адрес 101, линией управления активизируется вход считывания из программной памяти.
Этап №4: Программная память помещает операнд (Из порта 1) на ШД. Этот операнд находится в ячейке памяти 101, кодированное сообщение (адрес порта 1) взято на ШД и помещено в регистр команд. Теперь МП декодирует полную команду (ввести данные, поступающие из порта 1).
Этап №5: МП побуждает открыть Порт 1 посредством ША и линии управления устройствами ввода. Кодированная буква «А» из Порта 1 по ШД передается в МП и размещается в аккумуляторе.
Примечание: МП все время действует в последовательности:.
Этап №6: МП выставляет на ША адрес ячейки памяти 102 и активизирует вход считывания из программной памяти посредством управляющих линий.
Этап №7: Код команды поместить (STORE) считывается с ШД, принимается МП и помещается в регистр команд.
Этап №8: МП декодирует эту команду и определяет, что нужен операнд. Он выставляет на ША следующий адрес 103 и активизирует вход считывания из ПЗУ.
Этап №9: Код операнда в ячейку памяти 200 из памяти помещен на ШД, МП принимает операнд и помещает его в регистр команд. Команда «поместить данные в ячейку памяти 200» полностью извлечена и декодирована.
Этап №10: Начинается процесс выполнения: МП выставляет на ША адрес 200 и активизирует вход записи в ОЗУ.
Этап №11: МП выдает помещенную в аккумулятор информацию (код буквы «А») на ШД. Этот код записывается в ячейку 200 и таким образом теперь выполнена вторая команда.
Этап №12: МП теперь должен извлечь следующую команду - он адресует ячейку памяти 104 и активизирует вход считывания из памяти.
Этап №13: Команда вывести данные (OUTPUT) помещена на ШД. МП принимает ее, помещает в регистр команд, декодирует и определяет, что нужен операнд.
Этап №14: МП помещает адрес 105 на ША и активизирует вход считывания из ПЗУ.
Этап №15: Память помещает код операции в порт 10 на ШД. Этот код принимается МП, который помещает его в регистр команд.
Этап №16: МП декодирует команду «ввести данные в порт 10» полностью, т.е. он активизирует порт 10 посредством ША и линии управления выводом. Он помещает код буквы «А» (из аккумулятора) на ШД, по которой передается в порт 10 и далее из него на монитор.
Важно отметить, что МП является центром всех операций и полностью ими управляет. Он следует последовательности: извлечение – декодирование – выполнение, а выполняемые операции диктуются командами, помещенными в памяти ПЗУ.
Группировки бит
Входящий в состав микропроцессора регистр – аккумулятор является очень важной частью всей вычислительной системы. Все операции над данными, как правило, выполняются через аккумулятор, в котором информация записана в виде слова. Обычно длина слова микропроцессора составляет 8 бит (байт) (4,8,16,32,64).
Слово – одна группа обрабатываемых бит, единое выражение или одна команда. Восьмиразрядный микропроцессор переносит и помещает все данные группами из 8 бит, которые передаются восемью параллельными проводниками, составляющими ШД.
Каждое запоминаемое слово имеет особое значение, когда оно извлечено и декодировано МП. Содержание любой ячейки памяти может иметь один из следующих смыслов:
· Двоичное число;
· Двоичное число со знаком;
· Двоично-десятичное число;
· Буква алфавита.
· Команда;
· Адрес памяти;
· Адрес порта ввода или вывода.
Рассмотрим верхнюю ячейку памяти с адресом 01100100 (100). Ее содержимым является 11011011. Это число может быть интерпретировано как:
· Число 219;
· Число со знаком (-37);
· Двоично-десятичный код – невозможно;
· Буква алфавита в коде ASCII – буква или значок;
· Команда INPUT;
· Адрес ячейки памяти – DB;
· Адрес порта ввода – вывода – DB.
МП включает счетчик команд (счетчик команд – устройство, содержимым которого является текущий адрес памяти и который изменяет свое состояние на +1 с каждым тактом выполнения программы). С адреса 100 извлечет, а затем декодирует слово в памяти 11011011, как команду – ввести данные (INPUT). Затем МП обратится к следующему адресу 101 и найдет там адрес порта (1), из которого поступают данные. И так далее по тексту программы.
1. Код команды - ввести данные (INPUT);
2. Двоичный адрес Порта 1;
3. Код команды - разместить данные (STORE);
4. Двоичный адрес памяти;
5. Код команды – вывести данные (OUTPUT);
6. Двоичный адрес Порта 10;
7. Код ASCII буквы «А».
Команды программы помещены в 6 верхних ячеек памяти (100 - 105). Нижняя ячейка памяти (200) является местом размещения данных, т.е. в эту ячейку помещен код буквы «А».
Важно отметить, что биты информации сгруппированы в слова внутри ЭВМ. Эти слова в памяти программы интерпретируются МП одно за другим последовательно.
Программисту важно знать, как ЭВМ располагает и интерпретирует данные. У каждого типа МП имеется свой состав команд, но у всех у них доступ к памяти осуществляется одинаково.
Буквенно-цифровой код
Когда ЭВМ «общается» с принтером, дисплеем или клавиатурой необходимо прибегать к коду, который одновременно включает в себя, как числовые, так и алфавитные и другие знаки. Такой код называется буквенно-цифровым. Наиболее распространенный код ASCII (стандартный американский код обмена информацией).
Например.
Тристабильные элементы
Интегральные элементы семейства ТТЛ (транзисторно-транзисторная логика) используются очень широко, значение выхода устройства ТТЛ может быть либо логической 1 (2, 4 ÷ 5 В), либо 0 (0 ÷ 0,4 В), поэтому невозможно подсоединить выходы стандартных элементов на общую шину ЭВМ. Поэтому были разработаны специальные элементы, выходы которых могут быть объединены на общей шине. Эти элементы называют тристабильными (имеющими 3 состояния). Этим элементам присуще состояния на выходе логического нуля, логической единицы и особое состояние высокого сопротивления Z. Когда тристабильный элемент находится в состоянии высокого сопротивления Z, его выход отключен от шины.
Имеет вход А, выход Y и вход (enable – активация, размещение).
Когда элемент шинного буфера (тристабильный элемент) сброшен, его выход находится в состоянии высокого сопротивления Z («плавает») и не оказывает на шину никакого влияния. В этом состоянии выход элемента отсоединяется от шины, т.е. не выдает на шину и не принимает от нее никакой информации. Такое состояние называют L – состоянием.