Билет №7 Основы архитектуры компьютера. Оперативное запоминающее устройство. Расслоение памяти.
ОЗУ - устройство, предназначенное для хранения оперативной информации.(ОЗУ – хранение программы, выполняющейся в компьютере) В ОЗУ размещается исполняемая в данный момент программа и используемые ею данные. ОЗУ состоит из ячеек памяти, содержащей поле машинного слова и поле служебной информации.
Машинное слово – поле программно изменяемой информации, в машинном слове могут располагаться машинные команды (или части машинных команд) или данные, с которыми может оперировать программа. Машинное слово имеет фиксированный для данной ЭВМ размер (обычно размер машинного слова – это количество двоичных разрядов, размещаемых в машинном слове).
Служебная информация (иногда ТЭГ) – поле ячейки памяти, в котором схемами контроля процессора и ОЗУ автоматически размещается информация, необходимая для осуществления контроля за целостностью и корректностью использования данных, размещаемых в машинном слове.
В поле служебной информации могут размещаться:
- разряды контроля четности машинного слова (при записи машинного слова подсчет числа единиц в коде машинного слова и дополнение до четного или нечетного в контрольном разряде), при чтении контроль соответствия;
- разряды контроля данные-команда (обеспечение блокировки передачи управления на область данных программы или несанкционированной записи в область команд);
- машинный тип данных – осуществление контроля за соответствием машинной команды и типа ее операндов;
Конкретная структура, а также наличие поля служебной информации зависит от конкретной ЭВМ.
В ОЗУ все ячейки памяти имеют уникальные имена, имя - адрес ячейки памяти. Обычно адрес – это порядковый номер ячейки памяти (нумерация ячеек памяти возможна как подряд идущими номерами, так и номерами, кратными некоторому значению). Доступ к содержимому машинного слова осуществляется посредством использования адреса. Обычно скорость доступа к данным ОЗУ существенно ниже скорости обработки информации в ЦП.
Необходимо, чтобы итоговая скорость выполнения команды процессором как можно меньше зависела от скорости доступа к коду команды и к используемым в ней операндам из памяти. Это составляет проблему, которая системным образом решается на уровне архитектуры ЭВМ.
- Расслоение ОЗУ – один из аппаратных путей решения проблемы дисбаланса в скорости доступа к данным, размещенным в ОЗУ и производительностью ЦП. Суть расслоения ОЗУ состоит в следующем. Все ОЗУ состоит из k блоков, каждый из которых может работать независимо. Ячейки памяти распределены между блоками таким образом, что у любой ячейки ее соседи размещаются в соседних блоках. Контроль за целостностью данных.
- Контроль доступа к командам/данными.
Контроль осуществляется при помощи тегов. Если команда захочет рассмотреть данные в качестве команда то будет прерывание. Происходит проверка на семантическую правильность.
- Контроль доступа к машинным типам данных.
Тип данных – определенный формат данных, с конкретным набором операций, известных для этого формата. Наличие и формат тега зависит от реализации. Доступ к содержимому машинного слова может быть прямым или косвенным.
Производительность оперативной памяти - скорость доступа процессора к данным, размещенным в ОЗУ:
•время доступа (access time- taccess) - время между запросом на чтение слова из оперативной памяти и получением содержимого этого слова.
•длительность цикла памяти (cycle time - tcycle) - минимальное время между началом текущего и последующего обращения к памяти.
(tcycle>taccess)
Расслоение памяти
Расслоение ОЗУ - один из путей аппаратного решения проблемы дисбаланса между скоростью доступа к данным, находящимся в ОП, и производительностью процесса. Так же используются контроллеры.
Использование расслоения памяти. Физически ОЗУ представимо в виде
объединения k устройств, способных хранить одинаковое количество информации и способных взаимодействовать с процессором независимо друг от друга. При этом адресное пространство ВС организовано таким образом, что подряд идущие адреса, или ячейки памяти, находятся в соседних устройствах (блоках) оперативной памяти. Программа состоит (в большей степени) из линейных участков. Если использовать этот параллелизм, то можно организовать в процессоре еще один буфер, который организован так же, но в котором размещаются машинные команды. За счет того, что есть параллельно работающие
устройства, то этот буфер автоматически заполняется вперед. Т.е. за
одно обращение можно прочесть k машинных слов и разместить их в этом
буфере. Далее, действия с буфером команд похожи на действия с
буфером чтения/записи. Когда нужна очередная команда (ее адрес
находится в счетчике команд), происходит ее поиск (по адресу) в
буфере, и если такая команда есть, то она считывается. Если такой
команды нет, то опять-таки работает внутренний алгоритм выталкивания
строки, новая строка считывается из памяти и копируется в буфер
команд. Расслоение памяти в идеале увеличивает скорость доступа в k
раз, плюс буфер команд позволяет сократить обращения к ОЗУ.
Билет №8 Основы архитектуры компьютера. Основные компоненты и характеристики. Кэширование ОЗУ
Вернемся к проблеме дисбаланса скорости доступа к ОЗУ и скорости обработки информации ЦП.
Первое решение – использовать программные средства. Программист может разместить наиболее часто используемые операнды в РОН, тем самым сокращается количество «медленных» обращений в ОЗУ. Результат решения во многом зависит от качества программирования.
Второе решение – использование в архитектуре ЭВМ специальных регистровых буферов или КЭШ памяти.
Регистровые буфера или КЭШ память предназначены для разрешения проблемы несоответствия скоростей работы ОЗУ и ЦП, на аппаратном уровне, т.е. эта форма оптимизации в системе организована аппаратно и работает всегда, вне зависимости от исполняемой программы. Следует отметить, что результат этой оптимизации, в общем случае зависит от характеристик программы (об этом несколько позднее). Традиционно, в развитых ЭВМ используется аппаратная буферизация доступа к операндам команд, а также к самим командам.