- •1. Понятие “Архитектура” вс
- •2. Классификация компьютеров
- •3. Оценка производительности вычислительных систем
- •4. Основные параметры и характеристики вычислительных систем.
- •5. Система памяти: классификация, параметры
- •6. Иерархическая организация памяти
- •7. Конвейеризация как способ повышения производительности памяти
- •Конвейерная организация.
- •8. Оперативная память. Организация. Параметры
- •Организация оперативной памяти
- •10. Синхронная dram (sdram)
- •11. Постоянное запоминающее устройство
- •12. Флэш-память: структура, параметры
- •13. Память с ассоциативным доступом.
- •14. Структура кэш-памяти
- •15. Внешняя память. Классификация. Параметры.
- •16. Внешняя память на основе нжмд
- •19. Методы адресации и типы данных
- •20. Организация конвейера процессора и оценка его производительности
- •21. Вопросы бесконфликтной работы конвейера процессора
- •Решение конфликтов по управлению
- •22. Динамическое планирование работы конвейера процессора
- •Решение конфликтов по управлению
- •23. Минимизация конфликтов в конвейере процессора
- •Решение конфликтов по управлению
- •25. Механизм прерывания работы процессора
- •26. Прямой доступ к памяти
19. Методы адресации и типы данных
Основная функция любого процессора, ради которой он и создается, — это выполнение команд. Система команд, выполняемых процессором, представляет собой нечто подобное таблице истинности логических элементов или таблице режимов работы более сложных логических микросхем. То есть она определяет логику работы процессора и его реакцию на те или иные комбинации внешних событий. Каждая команда, выбираемая (читаемая) из памяти процессором, определяет алгоритм поведения процессора на ближайшие несколько тактов. Код команды говорит о том, какую операцию предстоит выполнить процессору и с какими операндами (то есть кодами данных), где взять исходную информацию для выполнения команды и куда поместить результат (если необходимо).
1) Неявная адресация – команда однозначно определяет адрес операнда.
2) регистровая адресация – адреса оперантов определяют регитсры ( внутренняя часть CPU). Тк регитсров немного, то для адресации операнда обычно достаточно 4-х разрядов. Нет обращения к памяти.
3) Непосредственная адресация – В команде содержится непосредственно сам оперант. Нет обращения к памяти. Удобно использование для const.
4) Косвенная адресация – адресация «адреса»
Косвенная_регистровая - оперант хранится в ячейке памяти адрес который хранится в регистре.
Косвенная_нерегитсровая – в регистре хранится адрес ячейки, в которой хранится адрес ячейки в котором находится оперант
5) Прямая адресация – адрес операнда находится непосредственно в команде. Применялся в первых ЭВМ, сейчас используется редко.
6)Индексная адресация- адрес вычисляется путём суммирования содержимого регистра. Далее аналогично косвенной_регистровой.
7) Автоинкрементная адресация – после завершения операции содержимое регистра ( хранящего адрес) увеличивается на константу.
8)автодекрементная – аналогично. Тольк оуменьшение.
9) Базовая индексная адресация со смещением и маштабированием – адрес формируется как сумма трёх составляющих – содержимого базовог орегитсра, индексного регистра и значения поля смещения. Удобна при работе со списками файлов.
Использование сложных методов адресации позволяет существенно сократить количество команд в программе, но при этом значительно увеличивается сложность аппаратуры.
Типы команд.
Арифметические и логические - целочисленные арифметические и логические операции: сложение, вычитание, логическое сложение, логическое умножение и т.д.
Пересылки данных - операции загрузки/записи
Управление потоком команд - безусловные и условные переходы, вызовы процедур и возвраты
Системные операции - системные вызовы, команды управления виртуальной памятью и т.д.
Операции с плавающей точкой - операции сложения, вычитания, умножения и деления над вещественными числами
Десятичные операции - десятичное сложение, умножение, преобразование форматов и т.д.
Операции над строками - пересылки, сравнения и поиск строк
Типы данных.
Базовой единицей данных является байт.
В процессоре реализована аппаратная поддержка следующих типов данных: чисел, указателей, цепочек.
Физический адрес, выдаваемый процессором на внешнюю шину адреса, является адресом (порядковым номером) байта в адресуемом пространстве памяти. Ширина шины адреса (число линий, число разрядов адреса) п определяет максимальное адресное пространство N=2n. Адрес байта изменяется от 0 до N-1. При п=32 адресное пространство N=232. При ширине шины данных п=32 за одно обращение к памяти передается до 4 байт.
Кроме значения данных длинной в байт используются данные длинной 2 байта - слово и 4 байта - двойное слово.
Информация в памяти располагается так: младшие разряды в младшем байте - в байте с меньшим адресом, старшие разряды в последующих байтах - в байтах с большими адресами.
Выравнивание границ производится для любых единиц данных. Суть выравнивания заключается в размещении единиц данных длиной 2кбайт по адресам , кратным 2к т.е. в адресах младшие к бит должны быть нулевые. Процессор допускает любое размещение данных в памяти, однако, как было отмечено ранее, невыполнение выравнивания данных приводит к уменьшению его производительности.
Используются два типа указателей:
близкий - для адресации в текущем сегменте (содержит 32 -разрядное смещение)
дальний - для адресации в новом сегменте (содержит 16 разрядный селектор для выбора нового сегмента и 32 - разрядное смещение в нем).
Цепочка - это последовательность однотипных связанных элементов данных, хранящихся по соседним адресам. Представление цепочечных данных позволяет МП эффективно обрабатывать цепочки практически любой длины: пересылать их, сравнивать, находить внутренние элементы. В процессоре для этого применяются специальные команды.