Операционные системы 2011 (1114689), страница 10
Текст из файла (страница 10)
С этой датой связано опубликованиеамериканским математиком венгерского происхождения Джоном фон Нейманом (JohnVon Neumann) технического отчета по результатам проектирования компьютера EDVAC(Electronic Discrete Variable Computer — Электронный Компьютер ДискретныхПеременных) под названием «Предварительный доклад о компьютере EDVAC» (A FirstDraft Report on the EDVAC).
В данном отчете декларировались основные концепцииорганизации компьютеров, которые были реализованы в EDVAC. Основнымиразработчиками этого компьютера были Джон Мочли (John Mauchly) и Джон ПресперЭккерт (John Presper Eckert). Следует отметить, что к тому времени Мочли и Эккертимели успешный опыт разработки компьютера ENIAC (Electronic Numerical Integrator AndComputer). Скандальность данной ситуации состояла в том, что внутрикорпоративныйотчет, основанный на предложениях Моучли и Эккерта (возможно и совместно с фонНейманом), был подготовлен и опубликован за авторством только Джона фон Неймана.30Распространение данного отчета в научной среде породило появление основополагающихпринципов построения вычислительных машин – так называемых "принципов фонНеймана", которые как минимум должны были именоваться принципами Мочли, Эккерта,фон Неймана.
Мы не вправе и не в силах изменить ход истории и сложившуюсятерминологию, поэтому в дальнейшем также будем использовать термин "принципыпостроения компьютера фон Неймана". Итак, в чем же состояли принципы организациимашины фон Неймана?1.Принцип двоичного кодирования информации: вся информация, котораяпоступает и обрабатывается в компьютере, кодируется в двоичной системе счисления.2.Принцип программного управления. Программа состоит из команд, вкоторых закодированы операция и операнды, над которыми должна выполниться даннаяоперация. Выполнение компьютером программы — это автоматическое выполнениеопределенной последовательности команд, составляющих программу.
В компьютереимеетсяустройство,обеспечивающеевыполнениекоманд, —процессор.Последовательностьвыполняемыхпроцессоромкомандопределяетсяпоследовательностью команд и данных, составляющих программу. То есть, по сути,второй принцип – это принцип последовательной обработки.3.Принцип хранимой программы. Для хранения команд и данныхпрограммы используется единое устройство памяти, которое представляется в видевектора слов.
Все слова имеют последовательную адресацию. Команды и данныепредставляются единым образом. Интерпретация информации памяти и, соответственно,ее идентификация как команды или как данных происходит неявно при выполненииочередной команды. К примеру, содержимое слова, адрес которого используется вкоманде перехода в качестве операнда, интерпретируется как команда.
Если то же словоиспользуется в качестве операнда команды сложения, то его содержимоеинтерпретируется как данные. То есть одна и та же область памяти в зависимости откоманд в одном случае будет интерпретироваться как команда, в другом случае – какданные. Этот принцип фон Неймана замечателен тем, что он определяет возможностьпрограммной генерации команд с последующим их выполнением, то есть возможностькомпиляции программы, когда одна программа порождает другую программу, котораябудет выполняться.Рассмотрим упрощенную структуру компьютера фон Неймана (Рис.
20):Оперативное запоминающее устройство (ОЗУ), или основная память, —устройство хранения данных, в котором находится исполняемая в данный моментпрограмма. То есть оперативная память – это свойство всё-таки системное, а нетехнологическое (т.е. на основе чего сделано это устройство – на той же элементной баземожно сделать устройство для хранения информации, но оно будет представлятьсясистеме не как оперативная память, а как внешнее устройство; тогда как программа будетисполняться из оперативной памяти).Рис.
20. Структура компьютера фон Неймана.ОЗУЦПВнешнееустройство31Устройствоввода-выводаВнешние устройства — программно управляемые устройства, входящие всостав компьютера, т.е. устройства, с которыми выполняемая программа можетосуществлять обмен данными.Процессор, или центральный процессор (ЦП), — основной компоненткомпьютера, обеспечивающий выполнение программ, процессор координирует работувнешних устройств и оперативной памяти. Процессор состоит из арифметикологического устройства (АЛУ) и устройства управления (УУ). Устройство управленияобеспечивает последовательную выборку команд, составляющих программу, из памяти,выделение и анализ кода операции, получение значений операндов.
В зависимости от кодаоперации команда выполняется либо в устройстве управления (обычно это могут бытькоманды передачи управления), либо код операции и операнды передаются длявыполнения в АЛУ. После чего выбирается из памяти следующая команда программы ит.д. В системе команд процессора предусмотрены средства для взаимодействия свнешними устройствами.Современные компьютеры по многим показателям не соответствуют принципамфон Неймана. Во-первых, принцип двоичного кодирования информации нарушается, таккак в мире есть, по крайней мере, один пример использования троичной системысчисления.
Это машина Сетунь, её автор – Николай Петрович Брусенцов, которыйработает у нас на факультете. Во-вторых, принцип программного управления всовременных компьютерах тоже нарушен, так как он декларирует последовательнуюобработку и выбор информации, а подавляющее большинство компьютеров начинаетобрабатывать команды «с забеганием» вперёд, то есть во время выполнения текущейкоманды последующие команды уже начинают выбираться (иногда эта работа можетпойти насмарку, например, в случае ветвления по условию). В-третьих, принципхранимой программы также на сегодняшний день нарушен – в подавляющем большинствекомпьютеров ОЗУ хранит команды и данные «немного по-разному».Ниже мы рассмотрим базовые структурные и функциональные особенностисовременных компьютеров, уделив особое внимание рассмотрению структурнойорганизации компьютера как системы, объединяющей разнородные (по назначению ипроизводительности) аппаратные компоненты и работающей под управлениемоперационной системы.
Рассмотрим простейшую систему (Рис. 21). В оперативнойпамяти находится исполняемая программа (т.е. все команды и данные последовательновыбираются из ОП). Соответственно, ЦП обеспечивает выборку, анализ и исполнениекоманд. Скорость обработки информации в процессоре, скорость доступа к данным,размещенным в оперативной памяти, и скорость обмена данными с внешнимиустройствами могут отличаться друг от друга на порядки.
И если в системе не будутпредусмотренысредства,компенсирующиеэтотдисбаланс,тоитоговаяпроизводительность будет определяться наименее производительным элементом, активноиспользуемым в работе системы. Мы будем смотреть на архитектуру именно с позицийсистемы – где эти проблемы возникают и как эти проблемы в системе разрешаются.Итоговая производительность вычислительной системы во многом определяетсярешениями на уровнях аппаратуры и операционной системы, которые позволяютминимизировать последствия дисбаланса в производительности, как аппаратных, так ипрограммных компонентов.Рассмотрим теперь подробнее характеристики каждого из компонентовкомпьютера.32ЦПАЛУУУкэш II уровняОперативнаяпамятьрегистровая памятькэш I уровняшина данныхШИНАСетевая картаУстройстваввода-выводаВнешнее запоминающееустройствоРис.
21. Базовая архитектура современных компьютеров.1.2.2 Оперативное запоминающее устройствоОперативное запоминающее устройство (RAM — Random-Access Memory, памятьс произвольным доступом) – это устройство для хранения данных, в котором находитсяисполняемая программа. ОЗУ еще называют основной памятью, или оперативнойпамятью. Команды программы, исполняемые компьютером, поступают в процессорисключительно из ОЗУ. Таким образом, основным назначением оперативной памятиявляется хранение программы, которая выполняется в настоящее время компьютером.Оперативная память состоит из ячеек памяти.
Ячейка памяти — это устройство, вкотором размещается информация. Ячейка памяти может состоять из двух полей (Рис. 22).Первое поле — поле машинного слова, второе — поле служебной информации (или ТЕГ).Рассмотрим назначение каждого из этих полей.Ошибка!Рис. 22. Ячейка памяти.Машинное слово — поле программно изменяемой информации. В машинномслове могут располагаться машинные команды (или части машинных команд) илиданные, с которыми может оперировать программа. Машинное слово имеетфиксированный для данной ЭВМ размер. Обычно под размером машинного словапонимается количество двоичных разрядов, размещаемых в машинном слове. Когдаиспользуются термины «16-ти разрядный компьютер», или «32-х разрядный компьютер»,или «64-х разрядный компьютер», это означает, что речь идет о компьютерах,оперативная память которых имеет машинные слова размером 16, 32 или 64 разрядасоответственно.Поле служебной информации — ТЕГ (tag — ярлык, бирка) — поле ячейкипамяти, в котором схемами контроля процессора и ОЗУ автоматически размещается33информация, необходимая для осуществления контроля за целостностью и корректностьюиспользования данных, размещаемых в соответствующем машинном слове.
В принципеТЭГ может отсутствовать.Использование поля служебной информации (ТЭГа) может осуществляться вследующих целях.Контроль за целостностью данных. Простейшая модель – этоодноразрядный ТЭГ, который использовался для контроля чётности. Содержимое поляиспользуется для контрольного суммирования кода, размещенного в машинном слове.При каждой записи информации в машинное слово автоматически происходитконтрольное суммирование (количества единичек в записываемом коде) и формированиесодержимого поля служебной информации (бит чётности или нечётности).