Операционные системы 2011 (1114689), страница 12
Текст из файла (страница 12)
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). Счетчик команд — специальный регистр,в котором размещается адрес очередной выполняемой команды программы.
Счетчиккоманд изменяется в устройстве управления согласно алгоритму, заложенному впрограмму. Более подробно использование счетчика команд проиллюстрируем несколькопозднее при рассмотрении рабочего цикла процессора. Указатель стека — регистр,содержимое которого в каждый момент времени указывает на адрес слова в областипамяти, являющегося вершиной стека. Обычно данный регистр присутствует в38процессорах, система команд которых поддерживает работу со стеком (операции чтения изаписи данных из/в стек с автоматической коррекцией значения указателя стека). Словосостояния процессора — регистр, содержимое которого определяет режимы работыпроцессора, значения кодов результата операций и т.п.1.2.3.2 Устройство управления.
Арифметико-логическое устройствоУстройство управления (control unit) — устройство, которое координируетвыполнение команд программы процессором. Арифметико-логическое устройство(arithmetic/logic unit) обеспечивает выполнение команд, предусматривающихарифметическую или логическую обработку операндов. Эти устройства являются своегорода «мозгом» процессора, т.к.
именно функционирование устройства управления иарифметико-логического устройства обеспечивают выполнение программы. Рассмотримупрощенную (без анализа нештатных ситуаций) схему выполнения процессоромпрограммы (Рис. 27) в модельном компьютере.Анализ кода операцииАЛУВыполнениекомандыЛогическая илиарифметическаяоперацияВычисление адресовоперандов и их значенийУсловиеложноВыборка команды по значению СчК,формирование адреса следующей команды:СчК = СчК + 1ПередачауправленияАнализ условияпереходаВычислениеисполнительногоадреса операндаAперехода,СчК = AпереходаУсловиеистинноРис.
27. Алгоритм выполнения процессором программы (рабочий цикл ЦП).Пусть в начальный момент времени в счетчике команд СчК находится адреспервой команды программы. Для упрощения изложения будем считать, что системакоманд компьютера и система адресации оперативной памяти таковы, что любая командаразмещается в одном машинном слове и адреса соседних машинных слов отличаются наединицу. Итак, рассмотрим последовательность действий в устройстве управленияпроцессора при выполнении программы.1.По содержимому счетчика команд СчК из ОП выбирается команда длявыполнения.
Формируется адрес следующей команды: СчК = СчК + 1.2.Осуществляется анализ кода операции:Если это код арифметической или логической операции, то вычисляютсяисполнительные адреса операндов, выбираются значения операндов, команда передаетсядля исполнения в арифметико-логическое устройство (передается код операции изначения операндов).
В арифметико-логическом устройстве происходит выполнениекоманды, а также происходит формирование кода признака результата в регистре словасостояния процессора или в специальном регистре результата. Переход на п.1.Если это команда передачи управления, то происходит анализ условий перехода(анализируется содержимое кода признака результата предыдущей арифметикологической команды с условиями перехода, соответствующими команде). Если условиеперехода не выполняется, то переход на п.1. Иначе, вычисляется исполнительный адресоперанда Аперехода , затем: СчК = Аперехода и осуществляется переход на п.1.39Если команда загрузки данных из памяти в регистры общего назначения, товычисляются исполнительные адреса операндов, выбираются значения операндов изпамяти, значения записываются в соответствующие регистры.
Переход на п.1.Последовательность действий, происходящая в процессоре при выполнениипрограммы, называется рабочим циклом процессора. По ходу рассмотрения материаламы будем уточнять рабочий цикл нашего обобщенного модельного компьютера.1.2.3.3 КЭШ-памятьКлючевой проблемой функционирования компьютеров является проблеманесоответствия производительности центрального процессора и скорости доступа кинформации, размещенной в оперативной памяти. Мы рассмотрели аппаратные ипрограммно-аппаратные средства, применение которых позволяет частично сократитьэтот дисбаланс.
Однако, ни организация расслоения памяти, ни использование регистровобщего назначения для размещения наиболее часто используемых операндов непредоставили кардинального решения проблемы. Решение, которое на сегодняшний деньявляется наиболее эффективным, основывается на аппаратных средствах, позволяющихпри выполнении программы автоматически минимизировать количество реальныхобращений в оперативную память за операндами и командами программы за счеткэширования памяти — размещения части данных в более высокоскоростномзапоминающем устройстве. Таким средством является КЭШ-память (cache memory) —высокоскоростное устройство хранения данных, используемое для буферизации работыпроцессора с оперативной памятью.