Принципы функционирования ЭВМ с шинной организацией
Основные функциональные блоки электронной вычислительной машины. Преимущества и недостатки, особенности архитектуры с общей и раздельными шинами данных и команд. Обобщенный алгоритм функционирования неймановской ЭВМ. Характеристика шагов цикла процессора.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 27.01.2018 |
Размер файла | 266,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
13
Размещено на http://www.allbest.ru/
Принципы функционирования ЭВМ с шинной организацией
Функциональные блоки ЭВМ
Периферийные устройства ЭВМ
Структура шин
Цикл центрального процессора
Компьютер работает в двоичной системе счисления - минимальным информационным элементом является бит, который может принимать значение 0 или 1. Этим значениям соответствуют различные физические состояния ячейки, чаще всего - уровень напряжения (низкий или высокий). Биты организуются в более крупные образования - ячейки памяти и регистры. Каждая ячейка памяти (регистр) имеет свой адрес, однозначно ее идентифицирующий в определенной системе координат. Минимальной адресуемой (пересылаемой между компонентами компьютера) единицей информации является байт, состоящий как правило, из 8 бит.
Ячейки памяти служат для хранения информации - сначала ее записывают в ячейку, а потом могут прочитать, а также записать иную информацию. Порты ввода-вывода, как правило служат для преобразования двоичной информации в какие-либо физические сигналы и обратно. Например, порт данных параллельного интерфейса формирует электрические сигналы на разъеме, к которому обычно подключают принтер. Порт состояния того же интерфейса электрические сигналы, поступающие от принтера, отображают в виде набора бит, который может быть считан процессором. Регистр - довольно широкое понятие, которое зачастую используется как синоним порта.
Каждый байт (ячейка памяти, порт) имеет собственный уникальный физический адрес. Этот адрес устанавливается на системной шине процессором, когда он инициирует обращение к данной ячейке или порту. В семействе х86 и РС-совместимых компьютерах пространства адресов ячеек памяти и портов ввода-вывода разделены. Это предусмотрено с обеих сторон: процессоры позволяют, а компьютеры используют данное разделение.
Но существует также и альтернативный тип архитектуры микропроцессорной системы - это архитектура с раздельными шинами данных и команд (двухшинная, или гарвардская, архитектура). Эта архитектура предполагает наличие в системе отдельной памяти для данных и отдельной памяти для команд (рис.3). Обмен процессора с каждым из двух типов памяти происходит по своей шине.
Архитектура с общей шиной распространена гораздо больше, она применяется, например, в персональных компьютерах и в сложных микрокомпьютерах. Архитектура с раздельными шинами применяется в основном в однокристальных микроконтроллерах.
Рассмотрим некоторые достоинства и недостатки обоих архитектурных решений.
Архитектура с общей шиной (принстонская, фон-неймановская) проще, она не требует от процессора одновременного обслуживания двух шин, контроля обмена по двум шинам сразу. Наличие единой памяти данных и команд позволяет гибко распределять ее объем между кодами данных и команд. Например, в некоторых случаях нужна большая и сложная программа, а данных в памяти надо хранить не слишком много. В других случаях, наоборот, программа требуется простая, но необходимы большие объемы хранимых данных. Перераспределение памяти не вызывает никаких проблем, главное - чтобы программа и данные вместе помещались в памяти системы. Как правило, в системах с такой архитектурой память бывает довольно большого объема (до десятков и сотен мегабайт). Это позволяет решать самые сложные задачи.
Рисунок 1. Архитектура с раздельными шинами данных и команд
Архитектура с раздельными шинами данных и команд сложнее, она заставляет процессор работать одновременно с двумя потоками кодов, обслуживать обмен по двум шинам одновременно. Программа может размещаться только в памяти команд, данные - только в памяти данных. Такая узкая специализация ограничивает круг задач, решаемых системой, так как не дает возможности гибкого перераспределения памяти. Память данных и память команд в этом случае имеют не слишком большой объем, поэтому применение систем с данной архитектурой ограничивается обычно не слишком сложными задачами.
В чем же преимущество архитектуры с двумя шинами (гарвардской)? В первую очередь, в быстродействии.
Дело в том, что при единственной шине команд и данных процессор вынужден по одной этой шине принимать данные (из памяти или устройства ввода/вывода) и передавать данные (в память или в устройство ввода/вывода), а также читать команды из памяти. Естественно, одновременно эти пересылки кодов по магистрали происходить не могут, они должны производиться по очереди. Современные процессоры способны совместить во времени выполнение команд и проведение циклов обмена по системной шине. Использование конвейерных технологий и быстрой кэш-памяти позволяет им ускорить процесс взаимодействия со сравнительно медленной системной памятью. Повышение тактовой частоты и совершенствование структуры процессоров дают возможность сократить время выполнения команд. Но дальнейшее увеличение быстродействия системы возможно только при совмещении пересылки данных и чтения команд, то есть при переходе к архитектуре с двумя шинами.
В случае двухшинной архитектуры обмен по обеим шинам может быть независимым, параллельным во времени. Соответственно, структуры шин (количество разрядов кода адреса и кода данных, порядок и скорость обмена информацией и т.д.) могут быть выбраны оптимально для той задачи, которая решается каждой шиной. Поэтому при прочих равных условиях переход на двухшинную архитектуру ускоряет работу микропроцессорной системы, хотя и требует дополнительных затрат на аппаратуру, усложнения структуры процессора. Память данных в этом случае имеет свое распределение адресов, а память команд - свое.
Проще всего преимущества двухшинной архитектуры реализуются внутри одной микросхемы. В этом случае можно также существенно уменьшить влияние недостатков этой архитектуры. Поэтому основное ее применение - в микроконтроллерах, от которых не требуется решения слишком сложных задач, но зато необходимо максимальное быстродействие при заданной тактовой частоте.
Функциональные блоки ЭВМ
Шинная (одношинная, или принстонская, фон-неймановскую архитектура) организация является простейшей формой организации ЭВМ. В соответствии с приведенными выше принципами фон-Неймана подобная ЭВМ имеет в своем составе следующие функциональные блоки (рис.4). Центральный процессор (ЦП) - функциональная часть ЭВМ, выполняющая основные операции по обработке данных и управлению работой других блоков. Это наиболее сложный компонент ЭВМ как с точки зрения электроники, так и с точки зрения функциональных возможностей. Центральный процессор состоит из следующих взаимосвязанных составных элементов: арифметико-логического устройства, устройства управления и регистров.
Арифметико-логическое устройство (АЛУ) выполняет основную работу по переработке информации, хранимой в оперативной памяти. В нем выполняются арифметические и логические операции. Кроме того, АЛУ вырабатывает управляющие сигналы, позволяющие ЭВМ автоматически выбирать путь вычислительного процесса в зависимости от получаемых результатов. Операции выполняются с помощью электронных схем, каждая из которых состоит из нескольких тысяч элементов. Микросхемы имеют высокую плотность и быстродействие. На современном технологическом уровне все АЛУ можно разместить на одном кристалле полупроводникового элемента размером с конторскую скрепку. Арифметико-логическое устройство формирует по двум входным переменным одну - выходную, выполняя заданную функцию (сложение, вычитание, сдвиг и т.д.). Выполняемая функция определяется микрокомандой, получаемой от устройства управления. АЛУ содержит в своем составе устройство, хранящее характеристику результата выполнения операции над данными и называемое флаговым регистром. Отметим пока, что отдельные разряды этого регистра указывают на равенство результата операции нулю, знак результата операции (+ или - ), правильность выполнения операции (наличие переноса за пределы разрядной сетки или переполнения). Программный анализ флагов позволяет производить операции ветвления программы в зависимости от конкретных значений данных.
Кроме того, в АЛУ имеется набор программно-доступных быстродействующих ячеек памяти, которые называются регистрами процессора.
Рисунок 2. Упрощенная схема ЭВМ с шинной организацией
Регистры составляют основу архитектуры процессора. Среди обязательного набора регистров можно отметить следующее. Регистр данных - служит для временного хранения промежуточных результатов при выполнении операций. Регистр аккумулятор - регистр временного хранения, который используется в процессе вычислений (например, в нем формируется результат выполнения команды умножения). Регистр указатель стека - используется при операциях со стеком, т.е. такой структурой данных, которая работает по принципу: последним вошел - первым вышел, т.е. последнее записанное в него значение извлекается из него первым. Пока отметим только, что стеки используются для организации подпрограмм. Индексные, указательные и базовые регистры используются для хранения и вычисления адресов операндов в памяти. Регистры-счетчики используются для организации циклических участков в программах. Регистры общего назначения, имеющиеся во многих ЭВМ, могут использоваться для любых целей. Точное назначение такого регистра определяет программист при написании программы. Они могут использоваться для временного хранения данных, в качестве аккумуляторов, а также в качестве индексных, базовых, указательных регистров. Количество регистров и связей между ними оказывает существенное влияние на сложность и стоимость процессора. Однако, с другой стороны, наличие большого количества регистров с богатым набором возможностей упрощает программирование и повышает гибкость программного обеспечения. Кроме перечисленных регистров в состав АЛУ могут входить внутренние системные регистры, не доступные программно и используемые во время внутренних пересылок информации при выполнении команд.
Устройство управления (УУ) - часть центрального процессора. Оно вырабатывает распределенную во времени и пространстве последовательность внутренних и внешних управляющих сигналов, обеспечивающих выборку и выполнение команд. На этапе цикла выборки команды УУ интерпретирует команду, выбранную из программной памяти. На этапе выполнения команды в соответствии с типом реализуемой операции УУ формирует требуемый набор команд низкого уровня для арифметико-логического устройства и других устройств. Эти команды задают последовательность простейших низкоуровневых операций, таких, как пересылка данных, сдвиг данных, установка и анализ признаков, запоминание результатов и др. Такие элементарные низкоуровневые операции называют микрооперациями, а команды, формируемые устройством управления, называются микрокомандами. Последовательность микрокоманд, соответствующая одной команде, называется микропрограммой.
В простейшем случае УУ имеет в своем составе три устройства - регистр команды, который содержит код команды во время ее выполнения, программный счетчик, в котором содержится адрес очередной подлежащей выполнению команды, регистр адреса, в котором вычисляются адреса операндов, находящихся в памяти. Для связи пользователя с ЭВМ предусмотрен пульт управления, который позволяет выполнять такие действия, как сброс ЭВМ в начальное состояние, про-. смотр регистра или ячейки памяти, запись адреса в программный счетчик, пошаговое выполнение программы при ее отладке и т.д.
Память (ЛАМ) - устройство, предназначенное для запоминания, хранения и выборки программ и данных. Память состоит из конечного числа ячеек, каждая из которых имеет свой уникальный номер или адрес. Доступ к ячейке осуществляется указанием ее адреса. Память способна выполнять два вида операций над данными - чтение с сохранением содержимого и запись нового значения со стиранием предыдущего. Как уже говорилось выше, каждая ячейка памяти может использоваться для хранения либо порции данных, либо команды. В большинстве современных ЭВМ минимально адресуемым элементом памяти является байт - поле из 8 бит. Совокупность битов, которые арифметико-логическое устройство может одновременно поместить в регистр или обработать, называют обычно машинным словом.
Оперативная память (ОП) - функциональный блок, хранящий информацию для УУ (команды) и АЛУ (данные). Задачи, решаемые с помощью ЭВМ, требуют хранения в памяти различного количества информации, зависящего от сложности реализуемого алгоритма, количества исходных данных и т.п. Поэтому память должна вмещать достаточно большое количество информации, т.е. должна иметь большую емкость. С другой стороны, память должна обладать достаточным быстродействием, соответствующим быстродействию других устройств ЭВМ. Чем больше емкость памяти, тем медленнее к ней доступ, так как время доступа (т.е. быстродействие) определяется временем, необходимым для выборки из памяти или записи в нее информации. Поэтому в ЭВМ существует несколько запоминающих устройств, различающихся емкостью и быстродействием (табл1):
Таблица 1
Устройства памяти |
Время доступа, с |
Емкость, бит |
|
Регистры |
(2-20) - КГ" |
10'-10" |
|
Оперативная память |
(0,2-20) 10-6 |
10'-108 |
|
Внешняя память |
10-100 |
10"-1012 |
Оперативная память собирается на ферритовых сердечниках или полупроводниковых микросхемах и состоит из отдельных ячеек.
Периферийные устройства (ПУ). В их число входят устройства двух типов: устройства внешней памяти, предназначенные для долговременного хранения данных большого объема и программ, и коммуникационные устройства, предназначенные для связи ЭВМ с внешним миром (с пользователем, другими ЭВМ и т.д.). Обмен данными с внешним устройством осуществляется через порты ввода-вывода. Порт (в переводе с англ. port - ворота, дверь, отверстие) - это абстрактное понятие, на самом деле несуществующее. По аналогии с ячейками памяти порты можно рассматривать как ячейки, через которые можно записать в ПУ, или, наоборот - прочитать из него. Так же как и ячейки памяти, порты имеют уникальные номера - адреса портов ввода-вывода.
Система шин. Объединение функциональных блоков в ЭВМ осуществляется посредством следующей системы шин: шины данных, по которой осуществляется обмен информацией между блоками ЭВМ, шины адреса, используемой для передачи адресов (номеров ячеек памяти или портов ввода-вывода, к которым производится обращение), и шины управления для передачи управляющих сигналов. Совокупность этих трех шин называют системной шиной, системной магистралью или системным интерфейсом. Состав и назначение шин и правило их использования, виды передаваемых по шине сигналов и другие характеристики шины могут существенно различаться у разных видов ЭВМ. Однако есть принципиально общие закономерности в организации шин. Шина состоит из отдельных проводников (линий). Сигналы по линиям шины могут передаваться либо импульсами (наличие импульса соответствует логической 1, а отсутствие импульса - 0), либо уровнем напряжения (например, высокий уровень - логическая 1, низкий - 0). Шириной шины называется количество линий (проводников), входящих в состав шины. Ширина шины адреса определяет размер адресного пространства ЭВМ. Если, например, количество линий адреса, используемых для адресации памяти, равно 20, то общее количество адресуемых ячеек памяти составит 220, т.е. примерно, один миллион ячеек (точнее, 1 048 576ячеек).
Обычно на шине в любой момент можно выделить два активных устройства. Одно из них называется задатчиком и инициирует операцию обмена данными (формирует адреса и управляющие сигналы), другое называется исполнителем и выполняет операцию (дешифрирует адреса и управляющие сигналы и принимает или передает данные). В большинстве случаев задатчиком является ЦП. Память всегда выступает только в качестве исполнителя.
Из управляющих линий выделим следующие.
Линии занятости. Если она в состоянии "шина свободна", любой задатчик, включая процесс, может начать операцию обмена данными на шине, иначе задатчику придется ожидать, пока шина не освободится.
Линии выполняемой операции. Указывают, какая именно операция будет выполняться. Как минимум необходим следующий набор операций: чтение (задатчик принимает данные от исполнителя), запись (задатчик передает данные исполнителю).
Линии синхронизации. Синхронизация задатчиков и исполнителей может осуществляться по-разному, один из распространенных способов состоит в следующем. Задатчик в процессе операции обмена выставляет на шине сигнал синхронизации задатчика. Сигнал распространяется по шине и через некоторое время достигает исполнителя. Получив сигнал от задатчика, исполнитель выполняет операцию обмена (передает или принимает данные) и выставляет на шине ответный сигнал синхронизации исполнителя, который также начинает распространяться по шине. Получив ответ от исполнителя, задатчик освобождает шину. Операция считывания ячейки памяти выполняется следующим образом. Процессор переводит шину в состояние занято, на адресную шину помещает адрес требуемой ячейки памяти, устанавливает на шине управления сигнал чтение, выдает сигнал синхронизации задатчика. Память принимает адрес, дешифрирует его, находит нужную ячейку и помещает ее содержимое на шину данных. Далее память выдает сигнал синхронизации исполнителя. Получив ответ от памяти, процессор считывает данные с шины, снимает свои управляющие сигналы и освобождает шину.
При операции запись в память процессору необходимо выполнить следующие действия. Шина переводится в состояние занято, адрес требуемой ячейки памяти помещается на шину адреса. Данные, которые необходимо записать в память, помещаются на шину данных. На шине управления устанавливается сигнал запись, выдается сигнал синхронизации задатчика. Память принимает адрес, дешифрирует его, помещает в соответствующую ячейку данные с шины и выдает сигнал синхронизации исполнителя. Получив ответ от памяти, процессор снимает управляющие сигналы и освобождает шину. Такой способ обмена данными называется асинхронным ответом, а сама операция запроса - подтверждения носит название квитирования (рис.5) или рукопожатия (handshake) и широко применяется при построении системы шин различного назначения в разных АРМ.
Рисунок 3. Временная диаграмма процесса квитирования
Функционирование ЭВМ с шинной структурой можно описать следующим обобщенным алгоритмом (рис.6).
1. Инициализация. После включения ЭВМ или операции сброса в регистры центрального процессора заносятся некоторые начальные значения. Обычно в процессе инициализации в память ЭВМ помещается программа, называемая первичным загрузчиком. Основное назначение первичного загрузчика - загрузить в память с устройства внешней памяти операционную систему. Эта программа может быть размещена в энергонезависимом устройстве памяти или автоматически считываться с некоторого устройства внешней памяти. Мы не будем здесь подробно останавливаться на механизмах загрузки операционной системы, тем более что они могут существенно различаться для разных типов ЭВМ. Пока будем полагать, что в памяти некоторым образом оказалась первая из подлежащих выполнению программ. Программному счетчику присваивается начальное значение, равное адресу первой команды программы, указанной выше.
2. Центральный процессор производит операцию считывания команды из памяти. В качестве адреса ячейки памяти используется содержимое программного счетчика.
3. Содержимое считанной ячейки памяти интерпретируется процессором как команда и помещается в регистр команды. Устройство управления приступает к интерпретации прочитанной команды. По полю кода операции из первого слова команды устройство управления определяет ее длину и, если это необходимо, организует дополнительные операции считывания, пока вся команда полностью не будет прочитана процессором. Вычисленная длина команды прибавляется к исходному содержимому программного счетчика, и когда команда полностью прочитана, программный счетчик будет хранить адрес следующей команды.
4. По адресным полям команды устройство управления определяет, имеет ли команда операнды в памяти. Если это так, то на основе указанных в адресных полях режимов адресации вычисляются адреса операндов и производятся операции чтения памяти для считывания операндов.
5. Устройство управления и арифметико-логическое устройство выполняют операцию, указанную в поле кода операции команды. Во флаговом регистре процессора запоминаются признаки результата операции (равно нулю или нет, знак результата, наличие переполнения и т.д.).
6. Если это необходимо, устройство управления выполняет операцию записи для того, чтобы поместить результат выполнения команды в память.
7. Если последняя команда не была командой ОСТАНОВИТЬ ПРОЦЕССОР, то описанная последовательность действий повторяется, начиная с шага 1. Описанная последовательность действий центрального процессора с шага 1 до шага 6 называется циклом процессора.
Большинство мини - и микроЭВМ имеют шинную организацию и их поведение описывается приведенным выше алгоритмом. В различных конкретных ЭВМ реализация этого алгоритма может несколько отличаться. Так, например, по-разному может осуществляться синхронизация задатчиков и исполнителей, процессор может считывать из памяти не одну команду, а сразу несколько и хранить их в специальной очереди команд. Часто используемые программой команды и данные могут храниться не в основной памяти ЭВМ, а в быстродействующей буферной памяти и т.д. Таким образом, функционирование любой фон-неймановской ЭВМ описывается алгоритмом, близким к приведенному выше, и представляет собой последовательность достаточно простых действий.
архитектура шина процессор алгоритм
Рисунок 4. Обобщенный алгоритм функционирования фон-Неймановской ЭВМ
Контрольные вопросы
1. Какие функциональные блоки ЭВМ вы знаете?
2. Что относится к периферийным устройствам?
3. Из каких шагов состоит цикл процессора?
4. В чем особенности функционирования Фон-неймановской машины?
Размещено на Allbest.ru
Подобные документы
Разработка программы для изображения в графическом режиме на экране структуры модели вычислительной машины и демонстрация функционирования при выполнении программы вычисления. Описание процесса разработки, обоснование структур данных и их форматов.
курсовая работа [170,3 K], добавлен 07.06.2019Структура процессора Pentium, суперскалярность, основные особенности архитектуры. Организация конвейера команд, правила объединения. Дополнительные режимы работы процессора. Источники аппаратных прерываний. Формат ММХ команды. Процессор Pentium 4, схемы.
лекция [4,0 M], добавлен 14.12.2013Функциональный состав микро-ЭВМ, разработка системы команд. Описание взаимодействия всех блоков электронно-вычислительной машины при выполнении команд программы. Арифметико-логическое устройство, кэш-память процессора, функциональное моделирование.
курсовая работа [981,4 K], добавлен 27.05.2013Принцип работы процессора, способы его охлаждения, кодовые названия. Шины процессора, разрядность и кэш–память. Технологии расширения и поток команд процессора. Процессорные вентиляторы и их характеристика. Алгоритм и способы разгона процессора.
реферат [38,0 K], добавлен 21.02.2009Программное обеспечение языков программирования, их виды и общая структура каждого поколения. Понятие архитектуры ЭВМ, ее структура и принципы функционирования. Основные характеристики вычислительной техники. Перспективы развития вычислительных средств.
реферат [105,1 K], добавлен 05.02.2011Разработка структурной схемы процессора; синтез микропрограммного и управляющего автомата с жесткой логикой. Функциональная организация процессора: программные модели, форматы данных и команд. Организация оперативной памяти. Проектирование блока операций.
учебное пособие [1,1 M], добавлен 09.04.2013Синтез структуры простого магистрального процессора с одним АЛУ, выполняющего 8 заданных команд. Разработка формата и кодировки команд, структурной схемы процессора, функциональные схемы всех его блоков в целом с указанием шин и управляющих сигналов.
реферат [123,9 K], добавлен 18.05.2009Происхождение и сущность понятия "алгоритм". Основные требования к алгоритмам. Роль абстрактных алгоритмических систем. Алгоритм как абстрактная машина. Алгоритмическая машина Поста. Схема логического устройства и функционирования машины Тьюринга.
реферат [62,2 K], добавлен 16.03.2011Разработка вычислительной системы, предназначенной для реализации заданного алгоритма обработки входных цифровых данных. Особенности ее построения на базе процессора x86 (К1810) в минимальном режиме. Описание микропроцессорного комплекта серии К1810.
курсовая работа [318,4 K], добавлен 15.08.2012Поток данных при прерывании командного цикла. Способы синхронизации ступеней конвейера. Техническая основа реализации RISC. Преимущества RISC-архитектуры процессоров по сравнению с CISC. Основные методы минимизации приостановок работы конвейера.
шпаргалка [24,1 K], добавлен 24.04.2011