2011. Машбук (1114722), страница 11
Текст из файла (страница 11)
Одной из характеристик оперативной памяти является еепроизводительность, которая определяет скорость доступа процессора к данным,размещенным в ОЗУ. Обычно производительность ОЗУ определяется по значениям двухпараметров.Первый — время доступа (access time — taccess) — это время междузапросом на чтение слова из оперативной памяти и получением содержимого этого слова.Второй параметр — длительность цикла памяти (cycle time — tcycle) — этоминимальное время между началом текущего и последующего обращения к памяти.Обычно, длительность цикла памяти существенно превосходит время доступа(tcycle>taccess).
Это связано с тем, что устройства памяти устроены таким образом, что послеоперации чтения многие из устройств памяти требуют регенерации (т.е. при чтенииинформация из ячейки разрушается – для того, чтобы сохранить информацию, надо еёзаписать). Реальные соотношения между длительностью цикла и временем доступазависят от конкретных технологий, применяемых для организации ОЗУ (в некоторых ОЗУtcycle/taccess>2). Последнее утверждение говорит о том, что возможна ситуация, при которойдля чтения N слов из памяти потребуется времени больше, чем N×taccess.Вернемся к обозначенной в конце предыдущего пункта проблеме дисбалансапроизводительности аппаратных компонентов компьютера.
Скорость обработки данных впроцессоре в несколько раз превышает скорость доступа к информации, размещенной воперативной памяти. Необходимо, чтобы итоговая скорость выполнения командыпроцессором как можно меньше зависела от скорости доступа к коду команды и киспользуемым в ней операндам из памяти.
Это составляет проблему, которая системнымобразом решается на уровне архитектуры ЭВМ. В аппаратуре компьютера применяетсяцелый ряд решений, призванных сгладить эту разницу. Одно из таких решений —расслоение памяти.Расслоение ОЗУ — один из аппаратных путей решения проблемы дисбаланса вскорости доступа к данным, размещенным в оперативной памяти, и производительностьюпроцессора.
Суть расслоения состоит в следующем (Рис. 24, Рис. 25).Последовательностьадресовi, i+1, i+2, ..., i+K–1Общий для всехбанков контроллердоступа к памятиБанк №0Банк №1…Банк №K–1ii+1…i+K–1Рис. 24. Централизованный контроллер доступа к ОЗУ— один контроллер на все банки.Всё пространство ОЗУ делится на K независимых подустройств, которыеназываются банками памяти. Обычно размер каждого из банков – это некоторая степеньдвойки (K = 2L). Адресация в системе организована таким образом, что младшие Lразрядов адреса содержат номер банка (Рис.
25). Подряд идущие ячейки памятираспределены между банками таким образом, что у любой ячейки ее соседи размещаются36в соседних банках (т.е. они находятся в разных банках). Что дает подобная организацияпамяти? Расслоение памяти позволяет во многом сократить задержки, возникающие из-занесоответствия времени доступа и цикла памяти при выполнении последовательногодоступа к ячейкам памяти, т.к. при расслоении ОЗУ задержки, связанные с цикломпамяти, будут возникать только в тех случаях, когда подряд идущие обращения попадаютв один и тот же банк памяти. Таким образом, расслоение памяти позволяет добитьсяувеличения скорости чтения из памяти при последовательном доступе.
Используяорганизацию параллельной работы банков, в идеальном случае, можно повыситьпроизводительность работы ОЗУ в K раз. Для этих целей необходимо использовать болеесложную архитектуру системы управления памятью.Возможны две модели организации доступа к памяти – с централизованнымконтроллером доступа к памяти (Рис. 24 – один контроллер управляет всеми банками; вэтом случае нет проблемы цикла памяти, т.к. соседние ячейки памяти находятся в разныхбанках; но нет эффекта при параллелизме) и с контроллерами для каждого из банков(Рис. 25 – в этом случае мы можем организовывать параллельный доступ к памяти, т.е.одновременно мы можем считать порцию данных до K слов).Последовательностьадресовi, i+1, i+2, ..., i+K–1адресL разрядов дляхраненияномера банка(0…2L–1)Контроллер доступа кпамятиКонтроллербанка №0Контроллербанка №1…Контроллербанка №K–1Банк №0Банк №1…Банк №K–1ii+1…i+K–1Рис. 25.
ОЗУ с расслоением памяти — каждый банк обслуживает отдельный контроллер.Другие свойства и характеристики оперативного запоминающего устройства мыбудем рассматривать позднее по мере знакомства с основами архитектуры компьютеров ис организацией и функционированием компонентов операционных систем.1.2.3 Центральный процессорПроцессор, или центральный процессор (ЦП), компьютера обеспечиваетвыполнение машинных команд, составляющих программу, размещенную в оперативнойпамяти. Термин «центральный процессор» соответствует ситуации сегодняшнего дня,когда современный компьютер – это многопроцессорная система (при этом компьютербудет называться однопроцессорным, поскольку в выполнении программы принимаетучастие только один процессор).
Практически любой современный компьютер имеет всвоем составе значительное количество специализированных управляющих компьютеров.Подобные компьютеры могут осуществлять управление контроллерами устройств, могут37быть встроены в сами устройства, выполнять специализированные операции над даннымипрограммы.Рассмотрим основные компоненты обобщенной структурной организациицентрального процессора (Рис. 26).КЭШ-памятьКЭШданныхКЭШкомандУУАЛУРегистровая памятьРис.
26. Структура организации центрального процессора.1.2.3.1 Регистровая памятьРегистровая память, или регистровый файл (register file), — совокупностьустройств памяти процессора (так называемых регистров), предназначенных длявременного хранения управляющей информации, операндов и/или результатоввыполняемых команд. Регистровая память обычно включает в себя регистры общегоназначения (general-purpose register) и специальные регистры (special-purpose register).Регистры общего назначения (РОН) состоят из доступных для программпользователей регистров, предназначенных для хранения операндов, адресов операндов,результатов выполнения команд.
РОН могут иметь машинную типизацию (например,регистры для хранения данных с плавающей точкой, с фиксированной точкой и т.д.). РОНмогут быть скалярными (когда с одним регистром ассоциируется только одна единицапамяти) и векторными (например, с одним регистром может ассоциироваться векторрегистров из 64 элементов; примером классических векторных компьютеров являютсякомпьютеры фирмы CRAY).
Для чего нужны РОН? Регистровая память работает в темпепроцессора, т.е. скорость доступа к содержимому регистров сравнима со скоростьюобработки информации процессором, поэтому одной из основных причин появлениярегистров общего назначения было сглаживание дисбаланса в производительностипроцессора и скорости доступа к оперативной памяти. РОН были первым аппаратнымсредством, которое предоставлялось пользователю для оптимизации своей программы.Наиболее часто используемые в программе операнды размещались на регистрах общегоназначения, тем самым происходило сокращение количества реальных обращений воперативную память, что, в итоге, повышало суммарную производительностькомпьютера.
Состав регистров общего назначения существенно зависит от архитектурыконкретного компьютера.Специальные регистры предназначены для координации информационноговзаимодействия основных компонентов процессора. В их состав могут входитьспециальные регистры, обеспечивающие управление устройствами компьютера, регистры,содержимое которых используется для представления информации об актуальномсостоянии выполняемой процессором программы и т.д.
Так же, как и в случае регистровобщего назначения, состав специальных регистров определяется архитектуройконкретного процессора. К наиболее распространенным специальным регистрамотносятся: счетчик команд (program counter), указатель стека (stack pointer), словосостояния процессора (processor status word). Счетчик команд — специальный регистр,в котором размещается адрес очередной выполняемой команды программы. Счетчиккоманд изменяется в устройстве управления согласно алгоритму, заложенному впрограмму.