Билеты (Graur) (1114774), страница 6
Текст из файла (страница 6)
Если такой не то на п. 3.2. Обновление поля «Код старения», чтение поля «Значение» и передача егопроцессору для исполнения.3. Поиск наименее интенсивно используемой строки. Чтение машинного словаиз ОЗУ по адресу Aисп и заполнение всех полей строки. Передачапроцессору значения для исполнения.Конкретные реализация и алгоритмы зависят от архитектуры ЭВМ.
Возможно,например, использование одного буфера.(Регистры буферной памяти (Cache, КЭШ).Следующая группа регистров — регистры, относящиеся к т.н. буфернойпамяти. Мы возвращаемся к проблеме взаимодействия процессора и оперативнойпамяти и сглаживанию скоростей доступа в оперативную память. Предположим, унас есть некоторая программа, которая производит вычисление некотороговыражения, при этом, процесс вычисления этого выражения будет представимследующим образом. В какие-то моменты идут обращения за операндами воперативную память, в какие-то моменты обработанные данные записываются воперативную память. Есть один из нескольких путей, которые сглаживаютнесоответствие скоростей процессора и оперативной памяти, который заключаетсяв сокращении реальных обращений к оперативной памяти.
Процессоры содержатбыстродействующую регистровую память, призваннуюбуферизовать обращения к оперативной памяти.Алгоритм чтения из оперативной памяти следующий:Проверяется наличие в специальном регистровом буфере строчки, в которойнаходится исполнительный адрес, совпадающий с исполнительным адресомтребуемого операнда. Если такая строчка имеется, то соответствующее этомуадресу значение, считаетсязначением операнда и передается в процессор для обработки (т.е. обращениев оперативную память не происходит).Если такой строчки нет, то происходит обмен с оперативной памятью, икопия полученного значения помещается в регистровый буфер и помечаетсяисполнительным адресом этого значения в оперативной памяти.
Содержимоеоперанда поступает в процессор для обработки. При этом решается проблемаразмещения новой строчки. Аппаратно ищется свободная строка (но она можетбыть только в начале работы машины), и если таковая не найдена, запускаетсяаппаратный процесс вытеснения из этого буфера наиболее “старой” строчки.“Старость” определяется по некоторому предопределенному критерию. Например,признаком старения может быть количество обращений к этому буферу, прикотором нет обращений к этой строчке.
В каждом таком случае число в третьемстолбце таблицы увеличивается на единицу. Короче говоря, аппаратура решает,какую из строк надо вытолкнуть из таблицы, чтобы на ее место записать новоесодержимое. При этом учитывается информация о том, были ли обращения кданной строке с использованием команд записи в память. Если такие обращениябыли, то перед выталкиванием происходит запись в ОЗУ по исполнительномуадресу содержимого нашей строчки.Алгоритм записи в оперативную память симметричен. Когда в программевстречается команда записи операнда в память, аппаратура выполняет следующиедействия. Проверяется наличие в буфере строки с заданным исполнительнымадресом. Если такая строка есть, то в поле “Содержимое” записывается новоезначение и аппаратно корректируется признак старения строк. Если такой строчкинет, то запускаетсяописанный выше процесс выталкивания, и затем информация размещается восвободившейся строке.Этот буфер чтения/записи служит достаточно мощным средством дляминимизации обращений к ОЗУ.
Наибольший эффект достигается принебольших циклах, когда все операнды размещаются в буфере, и после этогоциклический процесс работает без обращений к ОЗУ. Иногда эти буфера называютКЭШ-буферами, а также ассоциативной памятью, потому что доступ к этой памятиосуществляется не по адресу (как в ОЗУ), а по значению поля. Реально, всемеханизмы могут быть устроены иначе,чем мы здесь изучаем, т.к. мы изучаем некоторую обобщенную систему.Билет №9 Основы архитектуры компьютера.
Аппаратпрерываний. Последовательность действий ввычислительной системе при обработке прерыванийАппарат прерываний ЭВМ - возможность аппаратуры ЭВМ стандартным образомобрабатывать возникающие в вычислительной системе события. Данные событиябудем называть прерываниями.Определение. Последовательность действий при обработкеИтак, прерывание - одно из событий в вычислительной системе, на возникновениекоторого предусмотрена стандартная реакция аппаратуры ЭВМ.
Количестворазличных типов прерываний ограничено и определяется при разработкеаппаратуры ЭВМ.п р ер ы в ан и яв н утр ен н и еп е р е п о л н е н и е АУделен ие н а 0з а щ и та д а н н ы х...в н еш н и еуп р а в л я ю щ и ев о з д е й с тв и я о т В УПрерывания можно разделить на две группы внутренние и внешние.Внутренние прерывания инициируются схемами контроля работы процессора. Этоможет быть реакция ЦП на программную ошибку.
Например, деление на ноль.Внешние прерывания – это средство, позволяющее ЭВМ корректновзаимодействовать с внешними устройствами. Это может быть событие, связанноес поступлением новой информации от ВУ или возникновение ошибки во ВУ.Аппарат прерываний ЦП обеспечивает стандартную реакцию аппаратуры привозникновении прерывания. Тем самым обеспечивается возможность корректнойобработки прерываний в ВС.Рассмотрим обобщенную (и упрощенную) модель последовательности действий,происходящих в ВС при возникновении прерывания.т оч ка в озникнов енияпреры в аният очкав х одав обработ ч икпреры в анийпр о гр а м м а(п р о ц е с с )ядроЭ та п а ппа р а тно йо б р а б о тк и пр е р ы в а нийБ локиров ка преры в аний"Ма ло е у п р я т ы в а н и е "Передач а у прав ления на т оч кув х ода в обработ ч ик преры в анийЭ та п пр о гр а м м но йо б р а б о тк и пр е р ы в а нийАнализ и предв арит ель ная обработ капреры в анияПо лно е у п р я т ы в ани е"О т кр ы т и е "п р е р ы в а н и йЗ ав ершение обработ ки преры в анияПри обработке события, связанного с возникновением прерывания на первом этапеработает аппаратура ВС.
При этом аппаратно (без участия программы)выполняются следующие действия:1. Включается режим блокировки прерываний. При этом режиме в системезапрещается инициализация новых прерываний. Возникающие в это времяпрерывания могут либо игнорироваться, либо откладываться (зависит отконкретной аппаратуры ЭВМ и типа прерывания).2. Обработка прерывания предполагает сохранение возможности корректногопродолжения прерванной программы (процесса) с точки прерывания.Поэтому следующий шаг аппаратной обработки – “малое упрятывание“ –копирование в специальную регистровую память ЦП (регистровый буфер,таблицу) минимального количества регистров и настроек ЦП, достаточныхдля запуска программы ОС, обрабатывающей прерывания.
Это заведомосчетчик команд, регистр результата, некоторое количество регистров общегоназначения. Следует отметить, что возможно организовать копирование (илиупрятывание) всех регистров, используемых программой, но это, в общемслучае, нецелесообразно, так как может потребовать значительных объемоврегистровой памяти, а также потребует значительного времени работы врежиме блокировки прерываний.3. Следующим шагом является переход на программный режим обработкипрерываний.
Для этих целей в аппаратуру ВМ обычно жестко “зашивается”адрес точки в ОЗУ, начиная с которой предполагается размещение части ОС,занимающейся программной обработкой прерываний – точка входа вобработчик прерываний. (Возможно определение не одной, а группы такихточек – по одной на тип или группу прерываний). Переход на программныйэтап обработки прерываний есть передача управления на точку входа вобработчик прерываний. Этот переход осуществляется не программно (засчет исполнения одной из команд передачи управления), а аппаратно(например, аппаратной записью в счетчик команд адреса точки входа).Второй этап. Программная обработка прерывания.
Управление передано на точкуОС, занимающуюся обработкой прерывания. При входе в эту точку часть ресурсовЦП, используемых программами освобождена (результат малого упрятывания).Поэтому будет запущена программа ОС, которая может использовать толькоосвобожденные малым упрятыванием ресурсы ЦП (перечень доступных в этотмомент ресурсов – характеристика аппаратуры).
Выполняется следующаяпоследовательность действий:1. Анализ и предварительная обработка прерывания. Происходитидентификация типа прерывания, определяются причины. Если прерывание" короткое" обработка не требует дополнительных ресурсов ЦП и времени,то прерывание обрабатывается, происходит разблокировка прерываний ивозврат в первоначальную программу (не вдаваясь в подробности, этапоследовательность действий организована так, что гарантируетсякорректное восстановление всех регистров и настроек ЦП).Если прерывание требует использования всех ресурсов ЦП, то переходим кследующему шагу.2.
“Полное упрятывание” осуществляется полное упрятывание состояния всехресурсов ЦП, использовавшихся прерванной программой (все регистры,настройки, режимы и т.д.) в специальную программную таблицу (в контекстпроцесса или программы – о нем позже). То есть в данную таблицукопируется содержимое аппаратной таблицы, содержащей сохраненныезначения ресурсов ЦП после малого упрятывания, а также копируются всеоставшиеся ресурсы ЦП используемые программно, но не сохраненные прималом упрятывании. После данного шага программе обработки прерыванийстановятся доступны все ресурсы ЦП, а прерванная программа получаетстатус ожидания завершения обработки прерывания.