Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Принцип действия ЭВМ
Большинство современных ЭВМ строится на базе принципов, сформулированных американским ученым, одним из отцов кибернетики Дж. Фон Нейманом. В целом эти принципы сводятся к следующему:
Команда совокупность сведений, необходимых процессору для выполнения определенного действия при выполнении программы. Команда состоит из кода операции и нескольких адресных полей, содержащих адреса расположения операндов команды.
Общий вид команды: К А1 А2 А3,
где К двоичный код операции, содержащий указание на операцию (сложение, вычитание, сдвиг и т.д.), которую необходимо выполнить, А1 -двоичный адрес первого операнда, А2 -двоичный адрес второго операнда, А3 - двоичный адрес для размещения полученного результата.
Для 4-х разрядного процессора эта команда выглядит следующим образом:
0001 0011 1100 1001
Способ вычисления адреса по информации, содержащейся в адресном поле команды, называется режимом адресации. Множество команд, адресованных в данной ЭВМ, образует ее систему команд. Система команд, режим адресации, формат данных, набор программно-доступных регистров составляют понятие «архитектура » ЭВМ. Конфигурация ЭВМ это компановка вычислительного устройства с четким определением характера, количества взаимосвязей и основных характеристик его функциональных элементов.
Принципы фон-Неймана практически можно реализовать множеством различных способов, например, ЭВМ с шинной и канальной организацией. Большинство мини- и микроЭВМ имеют шинную организацию, которая является простейшей формой организации ЭВМ. Упрощенную схему ЭВМ с шинной организацией можно представить следующим образом.
АЛУ выполняет основную работу по переработке информации, хранимой в ОЗУ. В нем выполняются арифметические и логические операции. Выполняемая функция определяется микрокомандой, получаемой от устройства управления. АЛУ содержит в своем составе устройство, хранящее характеристику результата выполнения операции над данными и называемое флаговым регистром. Отдельные разряды этого регистра указывают на равенство результата нулю, на знак результата операции (+или-), на правильность выполнения операции (наличие переноса за пределы разрядной сетки или переполнения). Программный анализ флага позволяет производить операции ветвления программы в зависимости от конкретных значений данных. Кроме того, в АЛУ имеется набор программно-доступных быстродействующих ячеек памяти, которые называются регистрами процессора. Регистры составляют основу архитектуры процессора. Среди обязательного набора регистров можно отметить следующие. Регистр данных служит для временного хранения промежуточных результатов при выполнении операций. Регистр- аккумулятор регистр временного хранения, который используется в процессе вычислений (например, в нем формируется результат выполнения команды умножения). Регистр указатель стека используется при операциях со стеком, т.е. такой структуры данных, которая работает по принципу: последним вошел -первым вышел, т.е. последнее записанное в него значение извлекается из него первым, стеки используются для организации подпрограмм. Индексные, указательные и базовые регистры используются для хранения и вычисления адресов операндов в памяти. Регистры-счетчики используются для организации циклических участков в программах. Регистры общего назначения, имеющиеся во многих ЭВМ, могут использоваться для любых целей. Точное назначение такого регистра определяет программист при написании программы. Количество регистров и связей между ними оказывает существенное влияние на сложность и стоимость процессора. Однако, с другой стороны, наличие большого количества регистров с богатым набором возможностей упрощает программирование и повышает гибкость программного обеспечения. Кроме перечисленных регистров в состав АЛУ могут входить внутренние системные регистры, не доступные программно и используемые во время внутренних пересылок информации при выполнении команд.
УУ. Это часть центрального процессора. УУ вырабатывает распределенную во времени и пространстве последовательность внутренних и внешних управляющих сигналов, обеспечивающих выборку и выполнение команд. На этапе цикла выборки команды УУ интерпретирует команду, выбранную из программной памяти. На этапе выполнения команды в соответствии с типом реализуемой операции УУ формирует требуемый набор команд низкого уровня для АЛУ и других устройств. Эти команды задают последовательность простейших низкоуровневых операций, таких, как пересылка данных, сдвиг данных, установка и анализ признаков, запоминание результатов и др. Такие элементарные низкоуровневые операции называют микрооперациями, а команды, формируемые УУ, называются микрокомандами. Последовательность микрокоманд, соответствующая одной команде, называется микропрограммой.
В простейшем случае УУ имеет в своем составе три устройства: регистр команды, который содержит код команды во время ее выполнения, программный счетчик, в котором содержится адрес очередной подлежащей выполнению команды, регистр адреса, в котором вычисляются адреса операндов, находящихся в памяти.
Для связи пользователя с ЭВМ предусмотрен пульт управления, который позволяет выполнять такие действия, как сброс ЭВМ в начальное состояние, просмотр регистра или ячейки памяти, запись адреса в программный счетчик, пошаговое выполнение программы при ее отладке и т.д.
В их число входят устройства двух типов: устройства внешней памяти, предназначенное для долговременного хранения данных большого объема и программ, и коммуникационные устройства, предназначенные для связи ЭВМ с внешним миром (с пользователем, другими ЭВМ и т.д.). Обмен данными с внешним устройством осуществляется через порты ввода-вывода. Порт (в переводе с англ. Port ворота, дверь, отверстие) это абстрактное понятие, на самом деле несуществующее. По аналогии с ячейками памяти порты можно рассматривать как ячейки, через которые можно записать в периферийное устройство, или, наоборот прочитать из него. Так же, как и ячейки памяти, порты имеют адреса портов ввода-вывода. Для обмена данными между компьютером и ПУ в компьютере предусмотрен внешний интерфейс, то есть набор проводов, соединяющих компьютер и ПУ, а также набор правил обмена информацией по эти проводам (протокол). Примерами интерфейсов, используемых в компьютерах, являются параллельный интерфейс Centronics, предназначенный, как правило, для подключения принтеров и последовательный интерфейс RS-232C, через который подключаются мышь, модем и много других устройств. Интерфейс реализуется со стороны компьютера совокупностью аппаратных и программных средств: контроллером ПУ и специальной программой , управляющей этим котроллером, которую часто называют драйвером. Со стороны ПУ интерфейс чаще всего реализуется аппаратным устройством управления. Контроллеры принимают команды и данные от процессора в свой внутренний буфер (порт), затем выполняют необходимые преобразования этих данных и команд в соответствии с форматами, понятными ПУ, и выдают их на внешний интерфейс.
Система шин. Объединение функциональных блоков в ЭВМ осуществляется посредством следующей системы шин: шины данных, по которой осуществляется обмен информацией между блоками ЭВМ, шины адреса, используемой для передачи адресов (номеров ячеек памяти или портов ввода-вывода, к которым производится обращение), и шины управления для передачи управляющих сигналов. Совокупность этих трех шин называют системной шиной, системной магистралью или системным интерфейсом. Состав и назначение шин, и правило их использования, виды передаваемых по шине сигналов и другие характеристики шины могут существенно различаться у разных видов ЭВМ. Шина состоит из отдельных проводников (линий). Сигналы по линиям шины могут передаваться либо импульсами (наличие импульса соответствует логической 1, а отсутствие импульса-0, либо уровнем напряжения: высокий уровень логическая 1, низкий - 0). Шириной шины называется количество линий (проводников), входящих в состав шины. Ширина шины адреса определяет размер адресного пространства ЭВМ. Если, например, количество линий адреса, используемых для адресации памяти, равно 20, то общее количество адресуемых ячеек памяти составит 220, т.е. примерно, один миллион ячеек (точнее, 1 048 576).
Обычно на шине в любой момент можно выделить два активных устройства. Одно из них называется задатчиком и инициирует операцию обмена данными (формирует адреса и управляющие сигналы), другое называется исполнителем и выполняет операцию (дешифрует адреса и управляющие сигналы и принимает или передает данные). В большинстве случаев задатчиком является ЦП. Память всегда выступает только в качестве исполнителя.
Из управляющих линий выделим следующие: линии занятости (если она в состоянии «шина свободна», любой задатчик, может начать операцию обмена данными на шине, иначе задатчику придется ожидать, пока шина не освободится), линии выполняемой операции (указывают, какая именно операция будет выполняться, как минимум необходим следующий набор операций: чтение(задатчик принимает данные от исполнителя), запись (задатчик передает данные исполнителю)), линии синхронизации (синхронизация задатчиков и исполнителей может осуществляться по-разному, один из распространенных способов состоит в следующем. Задатчик в процессе операции обмена выставляет на шине сигнал синхронизации задатчика. Сигнал распространяется по шине и через некоторое время достигает исполнителя. Получив сигнал от задатчика, исполнитель выполняет операцию обмена (передает или принимает данные) и выставляет на шине ответный сигнал синхронизации исполнителя, который также начинает распространяться по шине. Получив ответ от исполнителя, задатчик освобождает шину.)
^ Операция считывания ячейки памяти выполняется следующим образом. Процессор переводит шину в состояние «занято», на адресную шину помещает адрес требуемой ячейки памяти, устанавливает на шине управления сигнал чтение, выдает сигнал синхронизации задатчика. Память принимает адрес, дешифрует его, находит нужную ячейку и помещает ее содержимое на шину данных. Далее память выдает сигнал синхронизации исполнителя. Получив ответ из памяти, процессор считывает данные с шины, снимает свои управляющие сигналы и освобождает шину.
При операции запись в память процессору необходимо выполнить следующие действия. Шина переводится в состояние «занято», адрес требуемой ячейки памяти помещается на шину адреса. Данные, которые необходимо записать в память, помещаются на шину данных. На шине управления устанавливается сигнал запись, выдается сигнал синхронизации задатчика. Память принимает адрес, дешифрует его, помещает в соответствующую ячейку данные с шины и выдает сигнал синхронизации исполнителя. Получив ответ из памяти, процессор снимает управляющие сигналы и освобождает шину. Такой способ обмена данными называется асинхронным ответом, а сама операция запроса подтверждения носит название квитирования или рукопожатия и широко применяется при построении системы шин различного назначения в разных АРМ.
Функционирование ЭВМ с шинной структурой можно описать следующим обобщенным алгоритмом
Таким образом, функционирование любой фон-неймановской ЭВМ описывается алгоритмом, близким к приведенному выше, и представляет собой последовательность достаточно простых действий, выполняемых с очень большой скоростью.
Большое изумление у человека, не связанного с вычислительной техникой вызывает тот факт, что все разнообразие решаемых на ЭВМ задач реализуется с помощью небольшого набора очень простых команд. Система команд у типичной ЭВМ включает в себя всего 60-150 базовых команд. Все команды в основном служат для выполнения очень простых действий, таких, как прочитать, запомнить, сложить, сдвинуть, сравнить и т.д. Интеллектуальность ЭВМ достигается за счет того, что ЭВМ способна выполнять программы, состоящие из большого числа таких простых действий с огромной, не достижимой для человека скоростью.
По функциональному назначению команды можно классифицировать следующим образом:
Go to L
некоторого языка высокого уровня может быть реализован , примерно, такой после -
довательностью команд: Сравнить А и В
Перейти если больше к адресу L
Первая из команд (сравнение) производит вычитание значения операнда В из операнда А. Если А>В, то результат будет положителен и соответственно флаг знака во флаговом регистре не установится. Вторая команда (условный переход) анализирует состояние флага знака и, если он не установлен, модифицирует программный счетчик так, чтобы его значение указывало на адрес L.
Обычно стеки растут в сторону уменьшения адресов. Изначально указатель стека содержал значение 1000. После проталкивания в стек двух величин размером в два байта указатель стека будет держать значение 996. После выталкивания одного двухбайтового числа указатель стека содержит 998. Команды вызова п/п CALL <адрес> работают следующим образом. Когда процессор считывает из памяти команду вызова п/п, программный счетчик увеличивается и показывает на команду, следующую за командой вызова п/п. При выполнении обращения к п/п процессор сохраняет содержимое программного счетчика в стеке. Адрес, с которого начинается п/п, вычисляется процессором по адресному полю команды вызова п/п CALL <адрес> и помещается в программный счетчик. Процессор приступает к выполнению п/п. Если п/п в процессе своей работы вызывает другую п/п, новое значение адреса возврата будет также включено в стек поверх старого адреса возврата. Для возврата из п/п в основную программу служат команды возврата RETURN. Команды возврата из п/п извлекают из стека верхний элемент и помещают его в программный счетчик. Если имели место несколько вложенных вызовов п/п, то возврат произойдет по адресу возврата, сохраненному после последнего вызова.