Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС, страница 10
Описание файла
PDF-файл из архива "Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 10 страницы из PDF
Скорости обработки информации впроцессоре, доступа к данным, размещенным в оперативной памяти, обмена данными с внешнимиустройствами могут отличаться друг от друга на порядки. И если в системе не будутпредусмотрены средства, компенсирующие этот дисбаланс, то итоговая производительность будетопределяться наименее производительным элементом, активно используемым в работе системы.32АЛУкэш II уровняУУОперативнаяпамятьЦПпамятьрегистроваяшина данныхкэш I уровняШИНАСетевая картаВнешнее запоминающееустройствоУстройстваввода-выводаРис. 21.Базовая архитектура современных компьютеров.Итоговая производительность вычислительной системы во многом определяетсярешениями на уровнях аппаратуры и операционной системы, которые позволяют минимизироватьпоследствия дисбаланса в производительности как аппаратных, так и программных компонентов.1.2.2Оперативное запоминающее устройствоОперативное запоминающее устройство (RAM — Random-Access Memory) — этоустройство хранения данных компьютера, в котором находится исполняемая в данный моментпрограмма.
ОЗУ еще называют основной памятью, или оперативной памятью. Командыпрограммы, исполняемые компьютером, поступают в процессор исключительно из ОЗУ. Хранениепрограммы, которая выполняется в настоящее время компьютером, является основнымназначением оперативной памяти.
Оперативная память состоит из ячеек памяти. Ячейкапамяти — это устройство, в котором возможно хранение информации. Ячейка памяти можетсостоять из двух полей (1.2.2). Первое поле — поле машинного слова, второе — поле служебнойинформации (или ТЕГ). Рассмотрим назначение каждого из них.Машинное словоТЕГРис. 22.Ячейка памяти.Машинное слово — поле программно изменяемой информации. В машинном слове могутрасполагаться машинные команды (или части машинных команд) или данные, с которыми можетоперировать программа. Машинное слово имеет фиксированный для данной ЭВМ размер.
Обычнопод размером машинного слова понимается количество двоичных разрядов, размещаемых вмашинном слове. Когда используется термины «16-тиразрядный компьютер», или «32-хразрядныйкомпьютер», или «64-хразрядный компьютер», это означает, что речь идет о компьютерах,оперативная память которых имеет машинные слова размером 16, 32 или 64 разрядасоответственно.Служебная информация — ТЕГ (tag — ярлык, бирка) — поле ячейки памяти, в которомсхемами контроля процессора и ОЗУ автоматически размещается информация, необходимая дляосуществления контроля за целостностью и корректностью использования данных, размещаемыхв машинном слове.33Использование в компьютере содержимого поля служебной информации можетосуществляться в следующих целях.− Контроль целостности данных.
Содержимое поля используется для контрольногосуммирования кода, размещенного в машинном слове. При каждой записи информации вмашинное слово автоматически происходит контрольное суммирование и формированиесодержимого поля служебной информации. При чтении данных из машинного слова такжеавтоматически происходит контрольное суммирование кода, находящегося в машинном слове,а затем полученный код контрольной суммы сравнивается с кодом, размещенным в полеслужебной информации.
Совпадение кодов говорит о том, что данные, записанные вмашинном слове, не потеряны. Несовпадение говорит о том, что произошел сбой в ОЗУ, иинформация, находящаяся в машинном слове, потеряна, в этом случае в процессорепроисходит прерывание (прерывания будут рассматриваться несколько позднее). На 1.2.2изображена ячейка памяти с 16-тиразрядным машинным словом и одноразрядным полемТЕГа.
Контрольный разряд дополняет код машинного слова до четности. Вариант А:содержимое машинного слова корректное (здесь следует отметить, что одноразрядноеконтрольное суммирование может "пропускать" потери пар единиц в коде машинного слова —вариант В), вариант Б — ошибка.− Контроль доступа к командам/данным. Рассмотрим проблемы, возникающие в машинахфон Неймана. Первая — ситуация "потери" управления в программе, т.е. ситуация, прикоторой из-за ошибок в программе в качестве исполняемых команд начинают выбиратьсяпроцессором и исполняться данные. Вторая проявляется тогда, когда программа из-за ошибкисама затирает свою кодовую часть: на место команд записываются данные. Отладка подобныхошибок достаточно трудоемка, т.к.
возникновение ошибки в программе и ее проявление могутбыть существенно разнесены по коду программы и по времени проявления. Контроль доступак командам/данным обеспечивает защиту от возникновения подобных проблем. Суть этогорешения заключается в следующем.
При включении специального режима работы процессоразапись машинных команд в оперативную память сопровождается установкой в ТЕГеспециального кода, указывающего, что в данном машинном слове размешена команда. Такжесоответствующий признак устанавливается при записи данных. При выборке очереднойкоманды из памяти автоматически проверяется содержимое соответствующих разрядов ТЕГа:если в машинном слове размещена команда, то будет продолжена ее обработка и выполнение.Если возникает попытка выполнения в качестве команды кода, записанного как данные, топроисходит прерывание.
Т.е. фиксируется возникновение ошибки. Здесь мы видим первыйслучай отхода от одного из принципов организации компьютеров фон Неймана — введениеконтроля за семантикой размещенной в машинном слове информации.34При записи слова в память контрольная сумма бит = 9 (1001b) ⇒ ТЕГ = 1А1010101010101110При чтении машинного слова (16 бит) сумма битоказывается равной 9 (1001b), что не противоречитзначению ТЕГа (1).Б10101010101011010101010101010При чтении машинного слова (16 бит) сумма битоказывается равной 7 (0111b), и ТЕГ = 1⇒ ошибка не будет выявлена.Ошибки нет.ТЕГ0При чтении машинного слова (16 бит) сумма битоказывается равной 8 (1000b), а ТЕГ = 1⇒ сбой в работе ОЗУ.В11Ошибка.ТЕГПроизошла потеря 1.001Ошибка не видна.ТЕГПроизошли потери 1.Рис. 23.Контроль четности.− Контроль доступа к машинным типам данных.
Развитием контроля за семантикойинформации, размещенной в оперативной памяти, является появление средств контроля заиспользованием компьютерных типов данных. Как известно, каждый компьютер имеет такназываемые машинные типы данных. Это означает, что существуют группы машинныхкоманд, которые оперируют с данными одного типа (целые, вещественные с фиксированнойточкой, вещественные с плавающей точкой, символьные, логические). Т.е. при выполнениикоманды используемые операнды интерпретируются согласно машинному типу данных всоответствии с типом команды.
Согласно одному из принципов фон Неймана способинтерпретации информации в оперативной памяти зависит исключительно от характераиспользования этой информации. Т.е. любой код, записанный в машинное слово, может бытьиспользован в качестве кода машинной команды, если устройство управления обратилось заочередной командой к этому машинному слову, и этот же код может бытьпроинтерпретирован как код любого машинного типа данных, если он используется в качествеоперанда команды соответствующего типа. Контроль доступа к машинным типам данныхосуществляется за счет фиксации в поле ТЕГа кода типа данных при их записи в машинноеслово, а при использовании этих данных в качеств операндов команд осуществляетсяавтоматическая проверка совпадения типа операнда и типа команды. Если они совпадают, токоманда продолжает свое выполнение, если нет, то происходит прерывание. Как видим,контроль за использованием машинных типов данных является еще одним проявлениемотхода архитектуры компьютеров от принципов фон Неймана.Наличие или отсутствие поля служебной информации в ячейке памяти, характер егоиспользования зависят от конкретного типа компьютеров.
В каких-то компьютерах это полеячейки памяти может отсутствовать, и в этом случае размер ячейки памяти совпадает с машиннымсловом. В каких-то — поле со служебной информацией ячейки памяти есть и используется дляорганизации контроля за целостностью данных и корректностью их использования.В ОЗУ все ячейки памяти имеют уникальные имена, имя — адрес ячейки памяти. Обычноадрес — это порядковый номер ячейки памяти (нумерация ячеек памяти возможна как подрядидущими номерами, так и номерами, кратными некоторому значению). Доступ к содержимомумашинного слова осуществляется при непосредственном (например, считать содержимое слова садресом А) или косвенном использовании адреса (например, считать значение слова, адрес35которого находится в машинном слове с адресом В).
Одной из характеристик оперативной памятиявляется ее производительность, которая определяет скорость доступа процессора к данным,размещенным в ОЗУ. Обычно производительность ОЗУ определяется по значениям двухпараметров. Первый — время доступа (access time — taccess) — это время между запросом на чтениеслова из оперативной памяти и получением содержимого этого слова. Второй параметр —длительность цикла памяти (cycle time — tcycle) — это минимальное время между началомтекущего и последующего обращения к памяти. Обычно, длительность цикла превосходит времядоступа (tcycle>taccess).
Реальные соотношения между длительностью цикла и временем доступазависят от конкретных технологий, применяемых для организации ОЗУ (в некоторых ОЗУtcycle/taccess>2). Последнее утверждение говорит о том, что возможна ситуация, при которой длячтения N слов из памяти потребуется времени больше, чем N×taccess.Вернемся к обозначенной в конце предыдущего пункта проблеме дисбалансапроизводительности аппаратных компонентов компьютера. Скорость обработки данных впроцессоре в несколько раз превышает скорость доступа к информации, размещенной воперативной памяти. Необходимо, чтобы итоговая скорость выполнения команды процессоромкак можно меньше зависела от скорости доступа к коду команды и к используемым в нейоперандам из памяти. Это составляет проблему, которая системным образом решается на уровнеархитектуры ЭВМ. В аппаратуре компьютера применяется целый ряд решений, призванныхсгладить эту разницу.
Одно из таких решений — расслоение памяти.Расслоение ОЗУ — один из аппаратных путей решения проблемы дисбаланса в скоростидоступа к данным, размещенным в оперативной памяти, и производительностью процессора. Сутьрасслоения состоит в следующем (1.2.2, 1.2.2).Последовательностьадресовi, i+1, i+2, ..., i+K–1Общий для всехбанков контроллердоступа к памятиБанк №0iБанк №1…Банк №K–1i+1…i+K–1Рис. 24.ОЗУ без расслоения памяти — один контроллер на все банки.Все ОЗУ состоит из K банков, каждый из которых может работать независимо.
Ячейкипамяти распределены между банками таким образом, что у любой ячейки ее соседи размещаютсяв соседних блоках. Что дает подобная организация памяти? Расслоение памяти позволяет вомногом сократить задержки, возникающие из-за несоответствия времени доступа и цикла памятипри выполнении последовательного доступа к ячейкам памяти, т.к. при расслоении ОЗУ задержки,связанные с циклом памяти, будут возникать только в тех случаях, когда подряд идущиеобращения попадают в один и тот же банк памяти. Используя организацию параллельной работыбанков, в идеальном случае, можно повысить производительность работы ОЗУ в K раз. Для этихцелей необходимо использовать более сложную архитектуру системы управления памятью.36Последовательностьадресовi, i+1, i+2, ..., i+K–1адресL разрядов дляхраненияномера банка(0…2L–1)Контроллер доступа кпамятиКонтроллербанка №0Банк №0Контроллербанка №1…Контроллербанка №K–1Банк №1…Банк №K–1i+1…i+K–1iРис.