Даниэль де Сант-Этьен
Stop the World – I Want to Get Off (с)
Если бы я ещё хоть что-то в этом понимал...

07.07.2011 в 17:07
Пишет чёрный кошан:

Устройство и принцип действия процессора

процессор к580вм80 - savepic.org
На фото микропроцессор К580ВМ80 совецкий аналог процессора 8080, выпущенного Intel в 1974 г. На его основе выпускали
«Корвет», «Спектр-001» и «Нейрон» и еще много всего

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

В эту большую микросхему напичкано много разных устройств:

Основые элементы


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


Вентильные схемы – в нашем случае это устройства или можно ещё сказать подсхемы переключателей запрещающие или разрешающие передачу сигналов между устройствами. Вентиль имеет вход и выход для данных и вывод для управляющего сигнала. Выглядит она схемотично примерно так.


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


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

Нужно описать еще про некоторые устройства, с которыми процессор взаимодействует при работе.

Внешние устройства



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

Хотя сейчас проц не подключен на прямую к оперативной памяти между ними сейчас кэшь память и северный мост.

Генератор тактовых импульсов – это устройство которое посылает сигнал процессору через равные промежутки времени. Нужно оно для того чтобы у устройства управления было была возможность распределить когда какой сигнал посылать. Дело в том что многие команды достаточно сложны и управляющие сигналы нужные для их выполнение не могут вырабатываться одновременно.
upload.wikimedia.org/wikipedia/commons/9/9a/ICS... (фото из википедии)

как это всё соединено между собой.



Счётчик команд – специальный регистр содержимое которого будет увеличиваться после каждого чтения из памяти отдельной части команды.

Регистр данных – это как перевалочный пункт между процессором и памятью. Используется из –за того что оперативная память работает медленнее чем процессор. Маленький аналог современной кэш памяти.

Аккумулятор – нужен для хранения промежуточных результатов и данных ожидающих обработку в АЛУ.

Регистр команд – хранит в себе начальный сегмент команды в котором содержится её код. Из него происходит считывание в устройство управления.

Регистр адреса- временно хранит в себе адреса сегментов команд и адреса по которым хранятся данные.

Как это всё взаимодейсвует


Начнём процесс с того что в регистре команд сидит часть двухадресной команды в которой содержится код операции. Пусть для примера это будет команда сложения. Команда имеет такую структуру.

Двухадресной называется по тому что содержит два адреса ячеек памяти в которых хранятся данные (операнды) для выполнения команды (операции над операндами).
Эта команда или операция распознаётся устройством управления которое по коду определило что это двухадресная команда (еще бывают и другие разновидности команд) и увеличило значение регистра «Счётчик команд» на единицу чтобы прочесть остальные сегменты команды. Открыло вентиль управляющем сигналом у3 и подало адрес на шину адресов для чтения из памяти следующего сегмента команды.


Устройство управление определило что это двух адресная команда и во втором сегменте содержится адрес первого операнда оно открывает вентиль у2. для копирования адреса в регистр адресов.

После этого процессор считывает значение первого операнда.

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

Потом выполняется чтение и пересылка адреса второго операнда.

Пересылка адреса операнда в регистр адресов.

Чтение второго операнда

Производится подача данных (значений операндов) из аккумулятора и регистра данных на входы АЛУ. Параллельно в счётчике увеличивается значения адреса для считывания последнего сегмента.

С помощью управляющих сигналов устройство управления сигнализирует АЛУ что эти два операнда на входе нужно сложить. Результат выполнения операции записывается в аккумулятор.

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

Адрес следующей команды помещается из регистра данных в счётчик команд и регистр адресов.

Далее производится чтение следующей команды и запись её кода в регистр команд.

Устройсво управление анализирует код команды

Например это будет команда на запись данных из аккумулятора в память. На рисунке процессор считывает адрес куда нужно будет записывать результат работы.

Адрес результата копируется в регистр адреса.

Процессор записывает результат в память.

На этом пожалуй закончим. Это может продолжаться бесконечно пока не будет получена команда останова или выключено питане :)

это всё написанно на основе книжки "введение в мирко ЭВМ" С.А.Майоров.


URL записи

@темы: ГУАП, Коллекционер мыслей, Танцы с бубном.