Принцип работы микропроцессора.
В состав МП (рис. 1) входят арифметическо-логическое устройство, устройство управление и блок внутренних регистров.
Арифметическо-логическое устройство состоит из двоичного сумматора со схемами ускоренного переноса, сдвигающего регистры и регистров для временного хранения операндов. Обычно это устройство выполняет по командам несколько простейших операций: сложение, вычитание, сдвиг, пересылку, логическое сложение (ИЛИ), логическое умножение (И), сложение по модулю 2.
Устройство управления управляет работой АЛУ и внутренних регистров в процессе выполнения команды. Согласно коду операций, содержащемуся в команде, оно формирует внутренние сигналы управления блоками МП. Адресная часть команды совместно с сигналами управления используется для считывания данных из определенной ячейке памяти или для записи данных в ячейку. По сигналам УУ осуществляется выборка каждой новой, очередной команды.
Блок внутренних регистров БВР, расширяющий возможности АЛУ, служит внутренней памятью МП и используется для временного хранения данных и команд. Он также выполняет некоторые процедуры обработки информации.
На рисунке (2) приведена более подробная структурная схема однокристального МП. Здесь блок внутренних регистров содержит регистры общего назначения и специальные регистры: регистр-аккумулятор, буферный регистр адреса, буферный регистр данных, счетчик команд, стека, признаков.
Регистры общего назначения (РОН), число которых может изменятся от 4 до 64, определяют вычислительные возможности МП. Их функция – хранение операндов. Но могут выполнять также и роль регистров. Все РОН доступны программисту, который рассматривает их как сверхоперативное запоминающее устройство.
Регистр – аккумулятор («накопитель»), предназначен для временного хранения операнда или промежуточного результата действий производимой в АЛУ. Разрядность регистра равна разрядности информационного слова.
Буферный регистр адреса служит для приема и хранения адресной части выполняемой команды. Возможное количество адресов, определяется разрядностью регистра.
Буферный регистр данных используется для временного хранения выбранного из памяти слова перед передачей его во внешнюю шину данных. Его разрядность определяется количеством байт информационного слова.
Счетчик команд содержит адрес ячейки памяти, в которой помещены байты выполняемой команды.
Регистр команд принимает и хранит код очередной команды, адрес которой находится в счетчике команд. По сигналу УУ в него передается из регистра хранимая там информация.
Регистры стека делятся на стек и указатель стека. В МП стек – набор регистров, хранящих адреса команд возврата при обращении к подпрограммам или состояние внутренних регистров при обработке прерываний. Стек может быть выполнен не только на внутренних регистрах МП, составляя его часть, но и находиться в ОЗУ, занимая там отведенную для него зону. В последнем случае для обращения к нему необходим специальный регистр – указатель стека.
Указатель стека хранит адреса последней занятой ячейки стека, которую называют вершиной. Содержащее в указателе число указывает, где находится вершина стека. Когда в стек записывается очередное слово, то число в указателе стека соответственно увеличивается. Извлечение слова из стека сопровождается, наоборот, уменьшением числа, заполняющего указатель стека. Кроме такой процедуры предусматривается возможность считывания без разрушений содержимого любой ячейки стека при неизменном числе, хранимом в указателе стека.
Регистр признаков представляет собой набор триггеров – флажков. В зависимости от результатов операций, выполняемых АЛУ, каждый триггер устанавливается в состояние 0 или 1. Флажковые биты, определяющие содержимое регистра, индицируют условные признаки: нулевого результата, знака результата, перевыполнения и т. п. Эта информация, характеризующая состояние процессора, важна для выбора дальнейшего пути вычислений.
Рассмотрим более подробно основные части микропроцессора (рис. 2).
Внутренняя шина данных соединяет собой основные части МП.
Шиной называют группу линий передачи информации, объединенных общим функциональным признаком. В микропроцессорной схеме используется три вида шин: данных, адресов и управления.
Разрядность внутренней шины данных т. е. количество передаваемых по ней одновременно (параллельно) битов числа соответствует разрядности слов, которыми оперирует МП. Очевидно, что разрядность внутренней и внешней шин данных должна быть одной и той же. У восьмиразрядного МП внутренняя шина данных состоит из восьми линий, по которым можно передавать последовательно восьмиразрядные слова – байты. Следует иметь в виду, что по шине данных передаются на только обрабатываемые АЛУ слова, но и командная информация. Следовательно, недостаточно высокая разрядность шины данных может ограничить состав (сложность) команд и их число. Поэтому разрядность шины данных относят к важным характеристикам микропроцессора – она в большей мере определяет его структуру (числа разрядов указаны на рисунке в скобках рядом с названиями блоков).
Шина данных МП работает в режиме двунаправленной передачи, т. е. по ней можно передавать слова в обоих направлениях, но не одновременно. В этом случае требуется применение специальных буферных схем и мультиплексного режима обмена данных между МП и внешней памятью. Мультиплексный режим (от английского слова multiple – многократный, множественный), иногда называемый многоточечным, - режим одновременного использования канала передачи большим числом абонентов с разделением во времени средств управления обменом.
Мультиплексор – устройство, которое выбирает данные от одного, двух (или более) входных информационных каналов и подает эти данные на свой выход. Схема мультиплексора состоит из двухвходовых логических элементов И – ИЛИ, управляемых распределителем импульсов. Промышленностью выпускаются мультиплексоры, которые могут входить в состав , а также в виде отдельных БИС (например, восьмивходовый одноразрядный; двухвходовый четырехразрядный; трехвходовый четырехразрядный и др.).
Демультиплексор – устройство, выполняющее противоположную мультиплексору функцию, - подает данные, подводимые к его входу, на один (или более) выходной информационный канал.
Мультиплексоры и демультиплексоры позволяют компоновать из микропроцессорных элементов микроЭВМ для любой длины машинного слова. Предположим, что задача обработки данных заключается в сложении двух операндов, каждый из которых представляет собой восьмиразрядное двоичное число – байт.
Восьмиразрядное арифметически – логическое устройство выполняет все арифметические и логические операции. На первый вход АЛУ поступает байт из восьмиразрядного аккумулятора, а на второй вход – из восьмиразрядного промежуточного регистра. Результат сложения указанных двух байтов передается с выхода АЛУ через внутреннюю шину данных в аккумулятор. Такая организация удовлетворяет одноадресной организации микропроцессора. Для нее характерно то, что один из операндов, участвующих в обработке, всегда находится в аккумуляторе, адрес которого задан неявно. Поэтому при выполнении операции сложения двух операндов требуется указывать только один адрес – второго операнда, содержащегося, например в одном из восьми регистров общего назначения (РОН). К АЛУ подключены регистр признаков, предназначенный для хранения и анализа признаков результата операции, и схема десятичной коррекции (на рис. 2 не показана), позволяющая проводить обработку данных в двоично-десятичном коде.
В состав микропроцессора входят также указатель стек, счетчик команд, буферный регистр адреса, ОЗУ. Первые два РОН – регистры W и Z – предназначены для кратковременного хранения данных во время выполнения команды (эти регистры недоступны программисту), остальные шесть РОН – регистры B, C, D, E, H и L – cлужат ячейками внутренней памяти, называемой сверхоперативным запоминающим устройством (СОЗУ). В них хранятся операнды, подлежащие обработки в АЛУ, результаты обработки данных, выполненных в АЛУ, и управляющие слова. В каждом регистре помещается один байт. Обращение к РОН – адресное. Попарное расположение регистров B и C, D и E, H и L дает возможность проводить обработку двухбайтовых слов, называемую обработкой “удвоенной точности”. Обмен данными с РОН (считывание и запись информации) осуществляется через мультиплексор, причем требуемый регистр выбирается с помощью селектора регистров по сигналу УУ.
В левой части рис. 2 расположены регистр команд, дешифратор кода операции и УУ (хотя дешифратор относится к УУ, он нарисован отдельно для большей наглядности). Стековый регистр адреса на рисунке отсутствует, так как стек представляет собой определенную зону ОЗУ.
Обмен информацией между регистрами и другими блоками микропроцессора производится через внутреннюю шину данных, причем передачи команд и данных разделены во времени. Связь с внешней шиной данных осуществляется через буферный регистр данных.
Микропроцессор – это программно-управляемое устройство. Процедура выполняемой им обработки данных определяется программой, т. е. совокупностью команд. Команда делится на две части: код операции и адрес. В коде операции заключена информация о том, какая операция должна быть выполнена над данными, подлежащими обработке. Адрес указывает место, где расположены эти данные (в регистрах общего назначения микропроцессора, т. е. во внутренней или внешней памяти). Слово данных, подвергаемое обработке, представляет один байт. Команда может состоять из одного, двух или трех байтов, последовательно расположенных в памяти.
Первый байт команды содержит код операции. Считанный в начале интервала выполнения команды, называемого циклом команды, ее первый байт поступает по внутренней шине данных в регистр команд, где хранится в течение всего цикла. Дешифратор кода операции дешифрует содержимое регистра команд – определяет характер операции и адреса операндов. Эта информация подается в УУ, которое вырабатывает управляющие сигналы, направляемые в блоки микропроцессора, участвующие в выполнении данной команды.
В том случае, когда код операции непосредственно указывает адрес данных – объекта обработки, операция начинается сразу после считывания первого байта команды. Если же в команде содержится более одного байта, то остальные байты, несущие информацию об адресе ячейки памяти, где хранятся данные, передаются либо в буферный регистр адреса, либо в один из РОН только после завершения всей процедуры считывания команды или, иначе говоря, после получения полной информации о местонахождении операндов и о том, какая операция должна выполнятся, начинается операция.
Рассмотрим пример выполнения операции сложения двух операндов. Первый операнд хранится в аккумуляторе, второй в одном из РОН (его адрес указан в команде), откуда он передается в промежуточный регистр. Согласно коду операции АЛУ суммирует поступающие на его вход байты и выдает результат, который фиксируется в аккумуляторе. Этот результат можно использовать при дальнейших этапах обработки.
Наряду с многокристальными и однокристальными МП используются секционированные или разрядно-модульные МП. Основной их отличительной особенностью является то, что каждый модуль предназначен для обработки нескольких разрядов машинного слова, а слово в целом обрабатывается группой модулей или секций, соединенных между собой.
Архитектура микропроцессора (Architecture) – принцип его внутренней организации, общая структура, конкретная логическая структура отдельных устройств.
Понятие архитектуры микропроцессора включает в себя систему команд и способы адресации, возможность совмещения выполнения команд во времени, наличие дополнительных устройств в составе микропроцессора, принципы и режимы его работы. Выделяют понятия микроархитектуры и макроархитектуры.
Микроархитектура микропроцессора - это аппаратная организация и логическая структура микропроцессора, регистры, управляющие схемы, арифметико-логические устройства, запоминающие устройства и связывающие их информационные магистрали.
Макроархитектура микропроцессора - это система команд, типы обрабатываемых данных, режимы адресации и принципы работы микропроцессора.
В общем случае под архитектурой ЭВМ понимается абстрактное представление машины в терминах основных функциональных модулей, языка ЭВМ, структуры данных.
1. В соответствии с архитектурными особенностями, определяющими свойства системы команд, различают:
· Микропроцессоры с CISC архитектурой.
CISC (Complex Instruction Set Computer) - Компьютер со сложной системой команд. Исторически они первые и включают большое количество команд. Все микропроцессоры корпораций Intel (Integrated Electronics) и AMD (Advanced Micro Devices) относятся к категории CISC.
· Микропроцессоры с RISC архитектурой.
RISC (Reduced Instruction Set Computer) - Компьютер с сокращенной системой команд. Упрощена система команд и сокращена до такой степени, что каждая инструкция выполняется за единственный такт. Вследствие этого упростилась структура микропроцессора, и увеличилось его быстродействие.
Пример микропроцессора с RISC-аpхитектуpой - Power PC. Микропроцессор Power PC начал разрабатываться в 1981 году тремя фирмами: IBM, Motorola, Apple.
· Микропроцессоры с MISC архитектурой.
MISC (Minimum Instruction Set Computer) - Компьютер с минимальной системой команд. Последовательность простых инструкций объединяется в пакет, таким образом, программа преобразуется в небольшое количество длинных команд.
2. Разрядность–максимальное количество разрядов двоичного кода, которые могут обрабатываться или передаваться одновременно.
Современные микропроцессоры построены на 32-х битной архитектуре x86 или IA-32 (Intel Architecture 32 bit), но совсем скоро произойдет переход на более совершенную, производительную 64-х битную архитектуру IA-64 (Intel Architecture 64 bit). Фактически переход уже начался, этому свидетельствует массовый выпуск и выход в продажу в 2003 году нового микропроцессора Athlon 64 корпорации AMD (Advanced Micro Devices), этот микропроцессор примечателен тем, что может работать как с 32-х битными приложениями, так и с 64-х битными. Производительность 64-х битных микропроцессоров намного выше.
Разрядность микропроцессора обозначается m/n/k/ и включает:
m - разрядность внутренних регистров, определяет принадлежность к тому или иному классу процессоров;
n - разрядность шины данных, определяет скорость передачи информации;
k - разрядность шины адреса, определяет размер адресного пространства. (Например, микропроцессор i8088 характеризуется значениями m/n/k=16/8/20)
3. Объем адресуемой памяти – максимальный объем памяти, который может обслужить микропроцессор.
32-х разрядный микропроцессор может обслужить 64 Гб (4х109 байт) памяти, а 64-х разрядный микропроцессор может обслужить 64 Тб (64х1012 байт) памяти.
4. Набор дополнительных инструкций (Instruction Set) - применяются в современных CISC-микропроцессорах и способны значительно ускорить их работу. Естественно только при условии поддержки данных наборов со стороны приложения. Все традиционные современные процессоры поддерживают набор инструкций MMX, который был самым первым (разработан корпорацией Intel еще в 1997 году). MMX расшифровывается как MultiMedia eXtensions (мультимедийные расширения). Он представил дополнительные возможности, ориентированные на обработку цифрового изображения и звука. В основе технологии лежит концепция (микроархитектура) SIMD (Single Instruction Many Data – "одна команда, много данных"), когда при помощи одной инструкции одновременно обрабатывается несколько элементов данных. SSE, SSE2, 3DNow! - дальнейшее развитие этой идеи. Микропроцессоры Intel Pentium 3 поддерживают SSE, а Pentium 4 и AMD Athlon 64 еще и SSE2 (это относится и к соответствующим микропроцессорам Intel Celeron). Процессоры AMD Athlon и Duron поддерживают наборы инструкций 3DNow!Professional и MMX, в Athlon XP была добавлена поддержка SSE (на уровне микрокода ядра).
Технологический процесс производства (Process Technology) – техпроцесс определяет размеры элементов и соединений между ними в интегральной схеме. Измеряется в микрометрах (0,35 μm; 0,25 μm;…). Чем меньше число, тем меньше сам кристалл, следовательно, меньше потребляемая мощность и тепловыделение. А ведь тепловыделение сильно препятствует увеличению частоты, на которой работает микропроцессор. Где-то в 1997 году произошел переход с 0,25 μm на 0,18 μm технологию производства. А уже в 2001 году произошел переход на 0,13 μm технологию, что позволило намного увеличить частоту. Вот-вот произойдет переход на 0,09 μm.
Производительность микропроцессора определяется параметрами:
1. Тактовая частота (Частота ядра) (Internal clock) – это количество электрических импульсов в секунду. Каждый импульс несет в себе некую информацию - это могут быть команды процессору или данные памяти. Тактовая частота задается кварцевым генератором - одним из блоков, расположенных на материнской плате. Тактовая частота кварцевого генератора выдерживается с очень высокой точностью и лежит в мега или гигагерцовом диапазоне. Один герц - один импульс, один мегагерц - один миллион импульсов, один гигагерц - тысяча мегагерц. Микропроцессор, работающий на тактовой частоте 800 МГц, выполняет 800 миллионов рабочих тактов в секунду. В зависимости от сложности обрабатываемой команды процессору для выполнения задачи необходимы сотни и тысячи тактов. Но для выполнения простых операций бывает достаточно одного такта. Чем выше тактовая частота ядра, тем выше скорость обработки данных. Современные микропроцессоры работают на частотах от 300 МГц до 4,7 ГГц.
2. Частота системной шины (System clock или Front Side Bus) – системная шина служит для связи микропроцессора с остальными устройствами. Микропроцессор имеет две частоты: тактовая частота ядра и частота системной шины. Чем выше частота системной шины, тем выше скорость передачи данных между микропроцессором и остальными устройствами. Частота системной шины современных микропроцессоров от 66 МГц до 266МГц.
3. Объем Кэш-памяти (Cache) – Кэш-память быстрая память малой емкости, используемая процессором для ускорения операций, требующих обращения к памяти. Кеш – промежуточное звено между микропроцессором и опретивной памятью. Различают несколько уровней кэша: кэш первого уровня (L1) - кэш команд (инструкций) которые предстоит исполнить, кэш первого уровня размещается на одном кристалле с процессором. Кэш второго уровня (L2) - кэш данных - используется для ускорения операций с данными (в первую очередь чтения). На общую производительность влияет размер кэша L2. Чем больше L2, тем дороже процессор, т.к. память для кэша еще очень дорога. Поэтому эффективнее увеличивать частоту кэша, а для этого он должен находиться как можно ближе к ядру процессора. Кэш-память может работать на частоте 1/4, 1/3, 1/2, 1/1 от частоты ядра. Современные микропроцессоры имеют кэш объемом от 8 Кб до 5Мб.
Предельно эксплуатационные параметры микропроцессоров:
1. Напряжение питания микропроцессора – величина питающего напряжения микропроцессоров зависит от технологического процесса и от частоты ядра. Чем меньше кристалл и ниже частота, тем меньше напряжение питания. Напряжение питания современных микропроцессоров от 0,5 В до 3,5 В, чаще всего от 1,2 В до 1,75 В.
2. Ток ядра – у современных микропроцессоров ток, протекающий через ядро от 1 А до 90 А.
3. Потребляемая мощность – зависит от величины питающего напряжения и от частоты ядра. Чем меньше напряжение питания и частота, тем меньше потребляемая мощность. Мощность современных микропроцессоров от 1Вт до 120 Вт. Чаще всего в пределах 40-70 Вт.
4. Максимальная температура нагрева кристалла – максимальная температура кристалла, при которой возможна стабильная работа микропроцессора. У современных микропроцессоров она колеблется в пределах от 60˚С до 95˚С.
Физические параметры микропроцессорв (Форм-фактор):
1. Тип, размеры корпуса
2. Размеры кристалла
3. Количество выводов
4. Форма расположения выводов