- •Вопрос 1. Характеристики микропроцессоров
- •Вопрос 2. Классификация микропроцессоров
- •Вопрос 3. Принстонская и гарвардская архитектуры микропроцессорных систем
- •Вопрос 4. Организация пространств памяти и ввода/вывода в микропроцессорной системе
- •Вопрос 5. Магистрально-модульный принцип построения микропроцессорных систем. Шинная организация микропроцессорных систем. Типовые структуры
- •Вопрос 6. Магистраль микропроцессорной системы. Трехшинная магистраль
- •Вопрос 7. Организация обмена по магистрали микропроцессорной системы
- •Вопрос 8. Простые циклы обмена по системной магистрали
- •Вопрос 9. Организация обращения к системной магистрали с асинхронным доступом. Использование сигнала готовности
- •Вопрос 10. Совмещение шины адреса и шины данных в магистрали микропроцессорной системы. Двухшинная магистраль с совмещенными шинами адреса/данных
- •Вопрос 11. Механизм пакетной передачи данных по системной магистрали
- •Вопрос 12. Механизм транзакций при передаче данных по системной магистрали
- •Вопрос 13. Архитектура подсистемы памяти микропроцессорной системы
- •Вопрос 14. Основные характеристики запоминающих устройств
- •Вопрос 15. Классификация устройств памяти
- •Вопрос 16. Организация запоминающих устройств с произвольной выборкой
- •Вопрос 17. Ассоциативная память
- •Вопрос 18. Стековая память
- •Вопрос 19. Основная память. Блочная организация основной памяти
- •Вопрос 20. Кэш-память. Принципы кэширования памяти
- •Вопрос 21. Организация кэш-памяти: кэш прямого отображения, наборно-ассоциативный кэш, полностью ассоциативный кэш
- •Вопрос 22. Концепция виртуальной памяти
- •Вопрос 23. Организация виртуальной памяти. Страничная и сегментная организации виртуальной памяти
- •Вопрос 24. Архитектура подсистемы ввода/вывода микропроцессорной системы
- •Вопрос 25. Программно-управляемый обмен
- •Вопрос 26. Организация прерываний в микропроцессорной системе
- •Вопрос 27. Радиальная и векторная системы прерываний
- •Вопрос 28. Организация прямого доступа к памяти в микропроцессорной системе
- •Вопрос 29. Структурная организация универсальных микропроцессоров
Вопрос 4. Организация пространств памяти и ввода/вывода в микропроцессорной системе
Память представляет собой линейно упорядоченный набор n-разрядных ячеек с произвольным доступом (одномерный массив) линейная память. Все ячейки пронумерованы, таким образом каждой ячейке набора соответствует число, называемое ее адресом. Все адреса занимают целочисленный диапазон от 0 до 2m-1 (m разрядность адреса), который образует адресное пространство памяти. В большинстве случаев процессор может адресоваться к памяти с точностью до одного байта, т.е. наименьшей адресуемой единицей является байт и память имеет байтовую организацию.
Организация пространства памяти показана на рис. 3. При этом память изображается таким образом, чтобы ячейки со старшими адресами располагались ниже, чем с младшими. Нумерация отдельных разрядов в ячейке производится справа налево начиная с нуля, при этом разряд с нулевым номером является младшим.
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
1 |
|
|||||||
2 |
Байт |
|||||||
|
|
|||||||
i
Адрес
слова |
М
Слово |
|||||||
i+1 |
Старший байт (H-байт) |
|||||||
|
|
|||||||
2m-1 |
|
Рис. 3
Программные объекты (команды и операнды) могут иметь длину, превышающую один байт, например, два байта – 16-разрядное слово или просто слово, четыре байта – 32-разрядное слово или двойное слово, восемь байтов – 64-разрядное слово или учетверенное слово. Такие объекты располагаются в смежных ячейках пространства памяти, причем обычно младший байт размещается в ячейке с меньшим адресом. Адресом объекта служит наименьший из адресов ячеек, занимаемых им, т.е. в данном случае адрес его младшего байта. Такой порядок называется Little-Endian Memory Format. Он используется в микропроцессорах с архитектурой x86. В других семействах процессоров применяют и обратный порядок – Big-Endian Memory Format, в котором объекты располагаются в смежных ячейках памяти, начиная со старшего байта, а младшие байты размещаются в последующих ячейках (например, в микроконтроллерах семейства 68HC11 фирмы Motorola). В этом случае адресом объекта является адрес его старшего байта. Для взаимного преобразования форматов объектов в процессорах имеются специальные команды. Операция обращения к памяти предполагает считывание или запись всего объекта как единого целого. Например, 16-разрядные слова в памяти хранятся в двух соседних ячейках. Старший байт слова занимает ячейку с большим адресом, а младший ячейку с меньшим адресом. При этом адрес младшего байта служит адресом слова (см. рис. 3).
Часто организация памяти предусматривает определенные ограничения на возможное расположение многобайтовых объектов. Например, слова в памяти могут находиться только по четным адресам. Тогда при доступе к слову значение младшего разряда его адреса, указывающего на байт в слове, во внимание не принимается, т.е. такая память имеет границу слов.
Например, в МП 8086 любые два смежных байта в памяти могут рассматриваться как 16-разрядное слово. Таким образом, слова данных можно свободно размещать по любому адресу, что позволяет экономить память благодаря ее плотной упаковки. Однако для экономии времени выполнения программы целесообразно размещать слова данных в памяти по четным адресам, так как МП передает такие слова за один цикл шины. Слова с нечетными адресами (не выровненные) также допустимы, но для их передачи требуется уже два цикла шины, что снижает производительность МП. Особенно важно иметь выровненные слова для операций со стеком, так как в них участвуют только слова. Поэтому указатель стека SP необходимо всегда инициализировать на четный адрес. Команды в МП 8086 всегда выбираются словами по четным адресам, за исключением первой выборки после передачи управления по нечетному адресу, когда выбирается один байт. Поток команд разделяется на байты внутри МП, так что выравнивание команд не влияет на производительность и поэтому не используется.
В процессорах фирмы Intel, начиная с 486, на уровне привилегий 3 может быть включен контроль выравнивания операндов по соответствующей границе: слова по четному адресу, двойного слова по адресу, кратному четырем, учетверенного слова по адресу, кратному восьми. На уровнях привилегий 0, 1, 2 контроль выравнивания не производится.
Пространство ввода/вывода представляет набор адресуемых буферных схем и регистров, которые называются портами и через которые осуществляется связь с внешними и внутренними аппаратными средствами микропроцессорной системы. Пространство ввода-вывода имеет такую же организацию, как и пространство памяти.
В микропроцессорной системе может использоваться два варианта организации доступа к пространству ввода/вывода:
изолированный ввод/вывод. Порты ввода/вывода размещены в специальном пространстве ввода/вывода (Input/Output Space – IOS), изолированном от других пространств данных. В этом случае МП имеет специальный набор команд ввода/вывода.
совмещенный ввод/вывод или ввод/вывод с отображением на память. В этом случае изолированное пространство ввода/вывода отсутствует, а в пространстве памяти данных DS выделяются области, в которых размещаются порты. Организация доступа к портам в такой микропроцессорной системе ничем не отличается от процесса обращения к данным в памяти.
На рис. 4 представлены четыре типовых набора областей для хранения программ и данных. Стрелками показан процесс изоляции отдельных областей, приводящий к появлению нового типового набора. Все наборы существуют реально, каждый имеет свои преимущества и недостатки, учет которых позволяет создавать высокоэффективные системы различного назначения.
Р ис. 4