Обобщенная схема центрального процессора




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


Рис. 24.1. Структурная схема гипотетической ЭВМ

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

Процессором называется функциональная часть ЭВМ, предназначенная для непосредственного осуществления процесса преобразования (обработки) информации и управления этим процессом. Другими словами – это совокупность арифметическологического устройства и устройства управления.
На рис. 24.2 приведена функциональная структура гипотетического процессора.


Рис. 2.2. Структура гипотетического процессора

Регистр адреса
Регистр адреса (РА) предназначен для хранения адреса ячейки основной памяти вплоть до завершения операции (считывание или запись) с этой ячейкой.

Указатель стека
Указатель стека (УкС) — это регистр, где хранится адрес вершины стека. В реальных вычислительных машинах стек реализуется в виде участка основной памяти обычно расположенного в области наибольших адресов. Заполнение стека происходит в сторону уменьшения адресов, при этом вершина стека — это ячейка, куда была произведена последняя по времени запись. Для хранения адреса такой ячейки и предназначен УкС. При выполнении операции занесения в стек содержимое УкС сначала уменьшается на единицу, после чего используется в качестве адреса, по которому производится запись. Соответствующая ячейка становится новой вершиной стека. Считывание из стека происходит из ячейки, на которую указывает текущий адрес в УкС, после чего содержимое указателя стека увеличивается на единицу. Таким образом, вершина стека опускается, а считанное слово считается удаленным из стека. Хотя физически считанное слово и осталось в ячейке памяти, при следующей записи в стек оно будет заменено новой информацией.

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

Регистр команды
Счетчик команд определяет лишь местоположение команды в памяти, но не содержит информации о том, что это за команда. Чтобы приступить к выполнению команды, ее необходимо извлечь из памяти и разместить в регистре команды (РК). Этот этап носит название выборки команды. Только с момента загрузки команды в РК она становится «видимой» для процессора. В РК команда хранится в течение всего времени ее выполнения.

Регистры общего назначения
Регистры общего назначения (РОН), служат для временного хранения операндов и результатов вычислений. Это самый быстрый, но и минимальный по емкости тип памяти, который иногда объединяют понятием сверхоперативное запоминающее устройство — СОЗУ. Как правило, количество регистров невелико, хотя в архитектурах с сокращенным набором команд их число может доходить до нескольких десятков.

Индексные регистры
Индексные регистры (ИР) служат для формирования адресов операндов при реализации циклических участков программ.

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

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

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

Буфер адреса
Наличие буфера адреса также позволяет компенсировать различия в быстродействии оперативной памяти и других устройств ЭВМ.

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

Процессор работает с командами. В команде предписывается какое действие должен выполнить процессор и с какими данными. А любая программа, которая выполняется процессором состоит из множества различных команд, выполняя которые процессор выполняет программу.

Что из этого следует?

А из этого следует, что процессор должен обладать определённой архитектурой и команда должна иметь определённый формат для того, чтобы в итоге получить нужный результат.

Рассмотрим вкратце формат команды. Информация в компьютере хранится в виде двоичного кода, составленного из последовательносткей 0 и 1. Эти последовательности имеют разрядность кратную 8. То – есть 8 – разрядные, 16 – разрядные, 32 – разрядные и т. д. 0 или 1 в такой последовательности носит название бит. Соответственно:
8 бит = 1 байту;
16 бит = 1 машинному слову;
32 бита = двойному машинному слову;

Но в компьютере объём информации определяется не в машинных словах, а в следующих величинах:
1024 байт = 1 килобайту (Кб);
1024 Кб = 1 мегабайту (Мб);
1024 Мб = 1 гигабайту (ГБ);
1024 Гб = 1 терабайту (Тб);

Но эта тема относится к компьютерной памяти, поэтому мы к ней вернёмся позже. А пока нас интересуют байты и машинные слова, так как мы разбираемся с работой процессора. Поскольку изучать новые вещи лучше всего с простого, то и мы будем опираться в изучении архитектуры, работы процессора на один из самых первых массовых процессоров фирмы Intel — процессор 8086. Все последующие поколения процессоров, включая и самые последние поколения процессоров, используют базовые принципы архитектуры процессора 8086 и его семейства.

Команда для процессоров Intel в общем случае имеет следующий формат: Здесь одна группа бит образует поле код операции. Код операции показывает, что процессор должен делать. А поля, отведенные под операнды, предоставляют необходимые данные для осуществления операции процессором. Более подробно формат команд рассмотрим позднее.

Выше мы представили устройства, входящие в состав архитектуры процессора. На рисунке показано типовое устройство процессора.

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

На шину адреса помещается адрес ячейки памяти с данными, необходимыми процессору.

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

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

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

Все команды процессор выполняет последовательно, команда за командой. Однако, часто бывает так, что процессор встречает команду перехода. Это значит, что по каким–то причинам процессор должен прервать выполнение последовательности команд и «перескочить» на другую последовательность. Регистры слова состояния процессора и указатель стека учавствуют в таких операциях, указывая состояние процессора и запоминая последнее состояние процессора соответственно. Такими причинами могут оказаться логический выбор дальнейшего выполнения программы из-за каких–нибудь условий.

Таким образом, вкратце было рассмотрено устройство архитектура работа процессора.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-07-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: