- •Микропроцессорные устройства
- •Микропроцессор (мп). Исторические этапы развития мп
- •Организация мпс
- •Архитектура
- •Архитектура типовой мпс
- •Архитектура памяти
- •Организация памяти
- •Командный цикл
- •Структура типовой мпс
- •Трёхшинная магистраль
- •Двухшинная магистраль
- •Смешанная магистраль
- •Шина управления
- •Система прерывания
- •Стековая область
Архитектура памяти
Память присутствует в любой МПС. В памяти хранится информация, которая представлена данными и командами.
Первый тип архитектуры: неймановская архитектура (формат данных и команд одинаков). Обычно применяется в ПК. Пространство памяти одно, разрядность CS- и DS-сегментов одинакова.
Второй тип архитектуры: гарвардская архитектура (разделение области памяти для команд и данных, разная кодировка). Обычно применяется в МК устройствах.
Преимущества: область команд можно сделать энергонезависимой (можно программировать МК автономно, не программируя по новой).
Регистр команд
Регистровый сегмент – это набор регистров для временного хранения данных. Эти регистры могут находится внутри процессора для ускорения выполнения программ.
Регистровый сегмент в современном процессоре является КЭШ-памятью.
Программный счётчик
Программный счётчик (PC) определяет последовательность выполнения команд. Программный счётчик не является частью памяти данных.
Архитектура ввода-вывода
Ввод-вывод бывает:
изолированный
совмещённый
Изолированный. Это набор регистров, для которых выделяется своё адресное пространство.
Существуют специальные команды, предназначенные для работы с портами ввода-вывода.
Совмещённый. Часть ячеек памяти является не памятью, а регистрами.
К портам ввода-вывода происходит обращение как к ячейкам памяти.
Для вывода необходимо указывать выход и адрес.
Организация памяти
Каждая ячейка памяти имеет свой номер и некоторую разрядность.
|
|
|
|
|
|
|
|
|
2m-1, m–разрядность адреса |
Область памяти |
|
… |
|||||||
|
… |
||||||||
|
|
|
|
|
|
|
|
|
1 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 – нулевая ячейка памяти |
n - разрядность данных (ячеек памяти) |
|
|
Для I8080: n=8, m=16 (216= 65536). Используется 210≈1000, хотя на самом деле 210=1024.
Поэтому 216=26∙ 210=64 кбайт.
Для I8086:, m=20.
Для МК: n=8, 16.
Программы – упорядоченные последовательности команд и данных, хранящиеся в памяти.
Команда – функционально завершённое элементарное действие.
Команды определяются следующими атрибутами:
типом данных;
источником получения (данные из регистровой области, устройства ввода-вывода и т.д.);
операциями над данными;
приёмником результата;
источником получения следующей команды (указывает, откуда нужно брать следующую команду).
Чтобы не реализовывать последнее используется программный счётчик PC (специальный регистровый сегмент), который показывает, какую программу надо выполнять следующей.
Пример:
MOV A, 20Н ; 20 – адрес по которому берутся данные
INR A ;
MOV 20Н, A
Задача ЦП: осуществлять ввод, обработку и вывод информации.
В общей памяти выделяются регистры ввода-вывода:
0÷1F – память;
20÷2F – обращение к регистру.
В изолированном вводе-выводе своя изолированная область памяти
Область памяти |
|
2k-1, k–разрядность адреса для устройств ввода-вывода |
|||||||
|
… |
||||||||
|
… |
||||||||
|
|
||||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Чтобы адреса не пересекались, используют разные команды.
Пример для I8080:
STA 80H ; запись
OUT 80H ; вывод
Команды представляются в виде 0 и 1. Каждой команде поставлен в соответствие мнемокод (мнемоническое обозначение).