Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Организация ЭВМ и ВС / ЛР 2-Функционирование ЭВМ по фон Нейману

.docx
Скачиваний:
48
Добавлен:
10.06.2015
Размер:
64.94 Кб
Скачать

Лабораторная работа 2

Исследование алгоритмов функционирования компьютера по фон Нейману.

Задание:

Проработать материал и представить процедуры функционирования ЭВМ в форме блок-схем или схем алгоритмов этих процедур.

Чтобы понять организацию функционирования и принцип действия компьютера, остановимся подробнее на наиболее распространенной и простой структуре персонального компьютера, или ПЭВМ. Основное отличие персонального компьютера от больших машин, или так называемых мейнфреймов, состоит в том, что он позволяет одновременно использовать его ресурсы только одному пользователю. Казалось бы, что такой компьютер должен работать исключительно в однопрограммном режиме, т. е. выполнять одну текущую программу, но это не так. Он может выполнять одновременно несколько программ: обработки, вывода результатов, загрузки, поиска информации в сети и т.д. Кроме того, многие персональные машины используются в качестве серверов в сети, и их ресурсами (т.е. аппаратными и программными средствами) могут пользоваться несколько пользователей одновременно.

Структура самого компьютера за все время существования машин изменилась незначительно. Она по-прежнему строится на основе модели фон Неймана, во всяком случае, ее основная память состоит из отдельных ячеек с последовательными номерами (или «адресами»), в которых могут храниться как коды отдельных команд (программа), так и данных. Однако технологический прогресс привел к объединению нескольких узлов и устройств в одной микросхеме.

Упрощенная структура компьютера (рисунок 1.3) состоит из следующих основных узлов: арифметико-логическое устройство (АЛУ), оперативное запоминающее устройство (ОЗУ), управляющее устройство (УУ), устройство ввода данных в машину (УВв) и устройство вывода результатов проведенных расчетов (УВыв). Именно такую «пятиблочную» структуру имели вычислительные машины первого поколения. Помимо перечисленных узлов любой компьютер имеет пульт ручного управления, предназначенный для включения машины и слежения за правильностью ее работы.

Рисунок 1.3 - Упрощенная структура компьютера

Теперь принято называть АЛУ с соответствующими схемами управления процессором, схемы для управления и подключения периферийных устройств – контроллерами и адаптерами, а передача информации между блоками компьютера осуществляется по шинам интерфейса. Арифметико-логическое устройство предназначено для выполнения арифметических и логических операций над машинными словами, т. е. кодами, находящимися в памяти и поступающими в АЛУ для обработки. Кроме того, оно выполняет различные операции по управлению вычислениями.

Оперативное запоминающее устройство, или оперативная память, хранит коды машинных слов (команд и данных) в своих ячейках. Эти ячейки нумеруются, а номер ячейки называется адресом. В памяти компьютера, как правило, находятся только команды и данные. Машина использует хранимую в ОЗУ информацию для организации вычислительного процесса. Информация попадает в ОЗУ из устройства ввода или из внешнего запоминающего устройства (ВЗУ). Внешняя память позволяет хранить большие объемы информации, но обладает меньшим быстродействием по сравнению с ОЗУ. В течение всего процесса обработки информация поступает в АЛУ только из ОЗУ, а результаты выполнения программы выдаются на устройство вывода после окончания обработки. Точно так же информация из ВЗУ, прежде чем принять участие в обработке, должна быть предварительно переписана в ОЗУ.

Устройство управления служит для автоматического управления вычислительным процессом; оно формирует сигналы управления на все устройства компьютера, преобразуя команды программы в управляющие сигналы. Если узел управления совмещен с АЛУ, то такое объединенное устройство называют центральным процессором (ЦП). Он связан с основной памятью (ОП), состоящей из ОЗУ и постоянного запоминающего устройства (ПЗУ), или постоянной памяти, предназначенной для хранения программ ввода-вывода, и различными устройствами ввода и вывода (или периферийными устройствами) посредством шины (рисунок 1.4), называемой часто общей шиной (ОШ). Такая общая шина состоит из нескольких «подшин»: адреса, данных и управления. Мы будем их называть просто шинами. В персональных машинах для экономии места на системной плате (т.е. плате, на которой расположены процессор, память и разъемы для подключения периферийных устройств) шины адреса и данных иногда выполняют в виде одной разделяемой во времени шины; тогда адрес и данные по ней передаются только поочередно.

Рисунок 1.4 - Центральная часть машины

Помимо ЦП и ОП компьютер содержит множество периферийных (или внешних) устройств, предназначенных для связи с внешним миром (человеком, объектами управления и т.п.). Эти устройства подключаются к ОШ с помощью контроллеров, адаптеров, шинных мостов и т.п.

В персональном компьютере (а в последнее время и в компьютерах других типов) основная память состоит из двух частей – постоянной и оперативной. В очень небольшой по современным понятиям (она достигает нескольких мегабайт) постоянной памяти хранится программа начальной загрузки, называемая BIOS (Basic Input-Output System). Эта информация «зашита» в памяти, т.е. хранится постоянно. Оперативная память в момент включения компьютера не содержит никакой информации. При его включении на все блоки подается сигнал установки в исходное «нулевое» состояние, начинают формироваться тактовые импульсы и компьютер начинает работать. Чтобы понять, как работает компьютер, нужно знать, из ка­ких элементов он состоит, т.е. что такое триггер, счетчик, регистр, логическая схема и т. п. Подробнее о работе всех этих компонентов было рассмотрено в цифровой схемотехнике. Здесь же рассмотрим только основные понятия. Триггер представляет собой электронную схему, которая может находиться в одном из двух устойчивых состояний «0» и «1». Внешними сигналами можно переводить триггер из одного состояния в другое. Регистр – это не­сколько определенным образом соединенных триггеров, т.е. можно записать двоичное слово в регистр, прочитать его, сдвинуть, инвертировать. Счетчик позволяет определить число поступивших на него сигналов. Он также строится на основе триггеров. Логическая схема реализует определенную логическую функцию, т. е. формирует выходной сигнал при определенных комбинациях сигналов на ее входах.

Продолжим рассмотрение работы простейшего компьютера. Содержимое счетчика команд (СчК; его называют также instruction pointer – IP) процессора передается по адресной шине на регистр адреса (РгА) основной памяти (рисунок 1.5). В момент включения компьютера в счетчике команд всегда находится один и тот же начальный адрес. Таким образом, запрашивается содержимое ячейки памяти с этим начальным адресом, принадлежащим BIOS. Как правило, эта ячейка содержит код команды безусловного пе­рехода, служащей для изменения содержимого счетчика команд. Этот код передается на регистр команд (РгК) процессора по шине данных. Содержимое ячейки памяти поступает на РгК, поскольку запрос к памяти произведен из счетчика команд; это обязательное требование для любого компьютера традиционной архитектуры.

Регистр команд процессора, в свою очередь, состоит из не­скольких регистров – регистра кода операции (РгКОП) и регистров адресов процессора (РгАП). Часть слова (содержимого ячейки ОП, к которой произведено обращение), попавшая в регистр кода операции, передается в блок управления (БУ), вырабатывающий последовательность управляющих сигналов.

Когда выполняется команда безусловного перехода, вторая адресная часть слова, попавшая в один из регистров адреса процессора, под управлением сигналов с БУ передается вновь на счетчик команд. Эта команда одноадресная, т.е. ее адресная часть содержит только один адрес. На этом и завершается ее выполнение. Блок управления формирует сигнал об окончании выполнения команды, а содержимое СчК вновь передается на РгА памяти, т.е. происходит запрос следующей команды.

Таким образом, процедура обращения к памяти повторяется. Содержимое ячейки памяти, к которой произведено повторное обращение, рассматривается в качестве новой команды, т. е. вновь загружается на РгК процессора. Обычно вторая команда служит для начала загрузки ОЗУ с магнитного диска; она уже не является командой безусловного перехода. При ее выполнении под управлением кода операции (часть команды, попавшая на РгКОП) вырабатываются иные управляющие сигналы, а содержимое первого регистра РгАП, представляющего собой часть РгК, передается на адресный регистр памяти и рассматривается в качестве адреса первого операнда.

Для ОЗУ безразлично, откуда пришел запрос – из счетчика команд или адресного регистра, поэтому в регистре данных (РгД) памяти слово формируется так же, как и раньше. Однако в процессоре оно помещается на первый регистр данных АЛУ, поскольку запрос этого слова поступил из адресного регистра РгАП. Затем блок управления формирует аналогичные сигналы для передачи на РгА памяти содержимого второго РгАП; в результате содержимое ячейки памяти с адресом, находящимся в РгАП, поступает на второй регистр данных арифметического устройства.

Рисунок 1.5 - Передача команд из ОП в ЦП

Затем блок управления вырабатывает сигналы в зависимости от кода операции в РгКОП, подает их в АЛУ, которое выполняет соответствующую операцию, а ее результат помешает в выходной регистр-аккумулятор. После этого содержимое регистра-аккумулятора передается в ячейку памяти, адрес которой обычно находится в первом РгАП, т.е. выполняется еще одно обращение к ОП. Информация из регистра-аккумулятора передается на шину данных, а адрес ячейки из РгАП – а адресную шину. В зависимости от конструкции машины, числа адресов в выполняемой команде (адресности) и других особенностей, содержимое регистра-аккумулятора может сохраняться в нем, передаваться в ячейку ОП по адресу, находящемуся в первом или втором РгАП.

После сохранения содержимого регистра-аккумулятора к счетчику команд (СчК) добавляется длина текущей команды в байтах (часто говорят «единица»), чтобы обратиться к следующей ячейке памяти, и начинается новый цикл выполнения очередной команды.

Таким образом, выполнение программы происходит последовательно: каждый раз в машине реализуется лишь одна команда, попадающая в регистр команд из ОП. Чтобы увеличить производительность компьютера, нужно либо повысить скорость выполнения команды, либо выполнять несколько последовательных команд одновременно. Повышение скорости выполнения команды связано с улучшением технических характеристик и увеличением быстродействия всех компонентов, входящих в компьютер – ЦП, ОП, шин интерфейсов, устройств ввода-вывода. Но увеличение скорости выполнения команды принципиально ограничено – скорость распространения сигналов в машине не может превышать скорость света, а длина пути определяется числом вентилей и применяемой технологией. Второй путь, заключающийся в параллельном выполнении нескольких команд, наиболее перспективен. Однако и он обладает рядом ограничений, которые мы рассмотрим далее.

Компьютер – это сложное сочетание аппаратных и программных средств, но пользователи обычно даже не заинтересованы в их понимании. Для них компьютер является инструментом, с помощью которого они намерены решить конкретную прикладную задачу, т.е. разработать и отладить программу, а затем ввести конкретные данные и выполнить ее. Программное обеспечение (ПО) призвано ускорить и упростить этот процесс, а также организовать более полное использование аппаратных средств компьютера. В настоящее время уже никто не пользуется «голой» аппаратурой, программируя задачу в кодах машины. Программу составляют на языке высокого уровня, например C++ или Паскале, а затем эта программа транслируется на внутренний язык компьютера.

Обычно программные средства условно делят на три группы: операционные системы, программы технического обслуживания и пакеты прикладных программ.

Вся работа компьютера осуществляется под управлением операционной системы (ОС) – комплекса программ, предназначенного для распределения ресурсов компьютера, управления режимами его работы, облегчения подготовки программ, организации их выполнения и общения пользователя с компьютером. В этот комплекс входят трансляторы с определенных языков программирования.

Все персональные компьютеры имеют трансляторы с Паскаля, C++ и некоторых других языков, а конвейерно-векторные – трансляторы с Фортрана.

При работе компьютера возникает множество задач по планированию работы процессора, распределению и защите памяти, управлению периферийными устройствами и т. п. Но пользователи не имеют прямого доступа к отдельным устройствам компьютера. Связь их с этими аппаратными средствами осуществляется также при помощи программ ОС.

Обычно ОС имеет определенный графический интерфейс, с помощью которого пользователь выбирает необходимые для него действия. В персональных компьютерах IBM PC таким графическим интерфейсом де-факто служит заставка одной из ОС Microsoft Windows. Даже если используются ОС Linux, Solaris или какая-либо иная, при включении компьютера в начале работы все равно появляется такая заставка.

Программы технического обслуживания предназначены для упрощения трудоемкости при эксплуатации компьютера. В состав таких средств входят программы проверки работоспособности компьютера (такие программы обязательно выполняются при включении компьютера в работу), диагностирования неисправностей, выявления имеющихся периферийных устройств и их состояния. В современных персональных компьютерах эти программы входят в состав базовой системы ввода-вывода BIOS и выполняются при включении компьютера в работу. (Программы технического обслуживания в мейнфреймах обычно представляют собой часть ОС.)

Пакеты прикладных программ – это комплекты программ, предназначенные для решения часто встречающихся классов задач и расширения функций ОС, например для управления базами данных. Наличие пакетов прикладных программ значительно упрощает и ускоряет процесс программирования.

Для повышения надежности и производительности начиная с 1960-х гг. несколько компьютеров связывались между собой, образуя многомашинные и многопроцессорные вычислительные системы и комплексы. В начале такие комплексы предназначались для военных целей. Связь между отдельными компьютерами в них осуществлялась за счет доступа к общим наборам данных с помощью совместно используемых ВЗУ, т.е. накопителей на магнитных дисках (НМД) и лентах (НМЛ). Позднее для ускорения взаимодействия компьютеров стали использовать специальные адаптеры.

Если в вычислительной системе предусматривается несколько процессоров и они имеют доступ к общим данным, находящимся в оперативной памяти, а также могут взаимодействовать со всеми периферийными устройствами, то такой комплекс принято называть многопроцессорным. Многопроцессорные комплексы обладают большей надежностью и гибкостью, но для их создания требуются специальные дорогостоящие средства коммутации.

Часто компьютеры расположены на значительных расстояниях друг от друга, а для их работы могут требоваться данные из компьютера, находящегося в другом городе или стране. Тогда для их объединения между собой используют сети передачи данных. Несколько компьютеров, объединенных сетями передачи данных, называются вычислительной сетью. Если компьютеры удалены друг от друга и для их объединения использованы стандартные телефонные каналы – это глобальная вычислительная сеть (ГВС).

Появление мини- и микроЭВМ, а несколько позже и персональных компьютеров, призванных обслуживать небольшие группы или даже отдельных пользователей, привело к тому, что полученные результаты обработки в отдельных компьютерах предназначались для совместного использования. Поэтому был разработан способ объединения этих компьютеров в локальную вычислительную сеть (ЛВС) – совокупность компьютеров (обычно персональных), расположенных на незначительных расстояниях друг от друга (на одном этаже, в одном здании или нескольких близлежащих зданиях) и соединенных между собой высокоскоростными каналами связи. Кроме того, для работы сети необходимо специальное ПО, обеспечивающее взаимодействие между процессами в отдельных компьютерах. К концу 1980-х гг. утвердились стандартные технологии объединения компьютеров в локальные сети. Появились два типа сетей – одноранговые (peer-to-peer) и построенные по типу «клиент-сервер», а в качестве рабочих станций в них стали использоваться получавшие все более широкое признание персональные компьютеры. Со временем были разработаны стандартные сетевые технологии, превратившие процесс создания локальной сети в достаточно простую работу. Благодаря новому коммуникационному оборудованию – коммутаторам, маршрутизаторам, шлюзам – и новым каналам связи стало возможным объединять в сеть тысячи компьютеров. Для управления такими корпоративными сетями требовались мощные серверы, в качестве которых стали использовать мейнфреймы.