Алгоритм работы процессора - Цифровые устройства - Скачать бесплатно
mode, которой не имели 286'е процессоры Intel. Технические
характеристики: тактовая частота: 12-16 МГц.
1983г. AMD Am 386™ DX
Практически полный аналог Intel-овской "тройки". Кодовое имя: P9.
Технические характеристики: 275000 транзисторов; тактовая частота: 16-32
МГц; процессор 32-разрядный; шина данных 32-разрядная (16- 32Мгц); адресная
шина 32-разрядная; общая разрядность: 32.
1985г. AMD Am 386™ SX
Low-End версия AMD Am 386™ DX. Кодовое имя: P9. Технические характеристики:
275000 транзисторов; тактовая частота: 16-32 МГц; процессор 32-разрядный;
шина данных 16-разрядная (16-32Мгц); адресная шина 24-разрядная; общая
разрядность: 16.
1991г. AMD Am 486™ DX
Процессор со встроенными КЭШем первого уровня и математическим
сопроцессором (FPU). Немного отставал по производительности от аналогичного
процессора фирмы Intel. Кодовое имя: P4. Технические характеристики: 1,25
млн. транзисторов; тактовая частота: 25-50 МГц; КЭШ первого уровня: 8 Кб;
КЭШ второго уровня на материнской плате (до 512 Кб); процессор 32-
разрядный; шина данных 32-разрядная (20-50Мгц); адресная шина 32-разрядная;
общая разрядность: 32.
1993г. AMD Am 486™ DX2
Полностью 32-х разрядный процессор. Кодовое имя: P24. Тех характеристики:
1,25 млн. транзисторов; тактовая частота: 50-66 МГц; КЭШ первого уровня: 8
Кб; КЭШ второго уровня на материнской плате (до 512 Кб); процессор 32-
разрядный; шина данных 32-разрядная (25-33 МГц); адресная шина 32-
разрядная; общая разрядность: 32.
1994г. AMD Am 486™ DX4
Последняя "четвёрка" от AMD с повышенной тактовой частотой. Кодовое имя:
P24C. Тех характеристики: 1,25 млн. транзисторов; тактовая частота: 75-120
МГц; КЭШ первого уровня: 8 Кб; КЭШ второго уровня на материнской плате (до
512 Кб); процессор 32-разрядный; шина данных 32-разрядная (25-40 МГц);
адресная шина 32-разрядная; общая разрядность: 32.
1995г. AMD Am 586™
Процессор пятого поколения с интегрированным power management-ом.
Предназначался для установки на старые материнские платы (под "четвёрки).
Кодовое имя: X5. Тех характеристики: 1,6 млн. транзисторов; тактовая
частота: 133 МГц; КЭШ первого уровня: 16 Кб; КЭШ второго уровня на
материнской плате (до 512 Кб); процессор 32-разрядный; шина данных 32-
разрядная (33 МГц); адресная шина 32-разрядная; общая разрядность: 32.
1996г. AMD K5™ (SSA5)
Эти процессоры построены по архитектуре x86-to-RISC86,
принципиально отличной от архитектуры примененной в процессорах Intel
Pentium, но они устанавливаются в тот же разъем Socket 7 на материнских
платах и полностью совместимы с процессорами Pentium. Первые процессоры на
ядре SSA/5 были недоработанными и сослужили плохую службу реальному K5,
вышедшему позже. Для маркировки этих процессоров использовался PR-рейтинг,
а не реальная частота. Кодовое имя: SSA5. Технические характеристики: 4,3
млн. транзисторов; технология производства: 0,5 мкм; тактовая частота: 75-
100 МГц; КЭШ первого уровня: 24 Кб (8 Кб на данные и 16 Кб на инструкции);
КЭШ второго уровня на материнской плате (до 1 Мб); процессор 64-разрядный;
шина данных 64-разрядная (50-66 МГц); адресная шина 32- разрядная; общая
разрядность: 32; разъём Socket 7.
1996г. AMD K5™ (5k86)
Этот процессор показывал отличную производительность в оффисных
приложениях, но имел слабый FPU, впрочем как и предыдущий. Для маркировки
этих процессоров тоже использовался PR- рейтинг. Кодовое имя: 5k86.
Технические характеристики: 4,3 млн. транзисторов; технология производства:
0,35 мкм; тактовая частота: 90-133 МГц; КЭШ первого уровня: 24 Кб (8 Кб на
данные и 16 Кб на инструкции); КЭШ второго уровня на материнской плате (до
1 Мб); процессор 64-разрядный; шина данных 64- разрядная (60-66 МГц);
адресная шина 32-разрядная; общая разрядность: 32; разъём Socket 7.
1997г. AMD K6®
Процессор, построенный по x86-to-RISC86 технологии, может выполнять до 6
инструкций RISC86 одновременно. Он устанавливается в разъем Socket 7 и
может быть использован в платах, предназначенных для процессоров Pentium. В
отличие от своих собратьев - процессоров Pentium MMX и Cyrix 6x86MX, он
программно совместим с процессором Pentium Pro и работает с MMX
инструкциями, что делает его сравнимым с процессором Pentium II фирмы
Intel. Был создан на базе дизайна процессора 686 от приобретенной AMD
компании NexGen. Кодовое имя: K6. Технические характеристики: 888 млн.
транзисторов; технология производства: 0835 мкм; тактовая частота: 166-233
МГц; КЭШ первого уровня: 64 Кб (32 Кб на данные и 32 Кб на инструкции); КЭШ
второго уровня на материнской плате (до 1 Мб); процессор 64-разрядный; шина
данных 64-разрядная (66 МГц); адресная шина 32-разрядная; общая
разрядность: 32; разъём Socket 7.
1997г. AMD K6® (Little Foot)
Этот процессор выпускался по 0.25 мкм технологическому процессу и имел
более выскую тактовую частоту, чем предшественник. Кодовое имя: Little
Foot. Технические характеристики: 8.8 млн. транзисторов; технология
производства: 0,25 мкм; тактовая частота: 233-300 МГц; КЭШ первого уровня:
64 Кб (32 Кб на данные и 32 Кб на инструкции); КЭШ второго уровня на
материнской плате (до 1 Мб); процессор 64-разрядный; шина данных 64-
разрядная (66 МГц); адресная шина 32-разрядная; общая разрядность: 32;
разъём Socket 7.
1998г. AMD K6®-2
В этом процессоре основными усовершенствованиями являются поддержка
дополнительного набора инструкций 3DNow!, который существенно повышает
производительность в оптимизированных программах и играх, а также 100-МГц
системная шина. Кодовое имя: Chomper XT. Технические характеристики: 9.3
млн. транзисторов; технология производства: 0.25 мкм; тактовая частота: 266-
550 МГц; КЭШ первого уровня: 64 Кб (32 Кб на данные и 32 Кб на инструкции);
КЭШ второго уровня на материнской плате (до 1 Мб); процессор 64-разрядный;
шина данных 64- разрядная (66-100 МГц); адресная шина 32-разрядная; общая
разрядность: 32; разъём Socket 7.
1999г. AMD K6®-III
Первый процессор от AMD, имеющий КЭШ-память второго уровня, объединенную с
ядром. Представляют собой K6-2 с 256 Кбайт КЭШ-памятью L2 на чипе,
работающей на той же частоте, что и ядро процессора. Рекомендуется для
установки на материнские платы Super Socket 7, имеющие поддержку AGP.
Кодовое имя: Sharptooth. Технические характеристики: 21.3 млн.
транзисторов; технология производства: 0.25 мкм; тактовая частота: 350- 500
МГц; КЭШ первого уровня: 64 Кб (32 Кб на данные и 32 Кб на инструкции); КЭШ
второго уровня 256 Кб (полноскоростной); КЭШ третьего уровня на материнской
плате (до 3 Мб); процессор 64-разрядный; шина данных 64-разрядная (100
МГц); адресная шина 32-разрядная; общая разрядность: 32; разъём Super
Socket 7.
1999г. Mobile AMD K6®-2
Мобильная версия K6®-2 с технологией PowerNow!™, призванной снижать
потребляемую процессором мощность. Технические характеристики: 9.3 млн.
транзисторов; технология производства: 0.25 мкм; тактовая частота: 300-500
МГц; КЭШ первого уровня: 64 Кб (32 Кб на данные и 32 Кб на инструкции); КЭШ
второго уровня на материнской плате (до 2 Мб); процессор 64-разрядный; шина
данных 64-разрядная (100 МГц); адресная шина 32-разрядная; общая
разрядность: 32; разъём Socket 7.
1999г. AMD Athlon™
Первый процессор, архитектура и интерфейс
которого отличаются от Intel. После его выхода позиции Intel несколько
пошатнулись, т. к. он демонстрировал большую производительность в
большинстве приложений, чем Pentium !!! при равных тактовых частотах. Имеет
расширенный набор инструкций Enhanced 3DNow!. Кодовое имя: K7, К75
(алюминиевые соединения), К76 (медные соединения). Технические
характеристики: 22 млн. транзисторов; технология производства: 0.25-0.18
мкм; тактовая частота: 500-1000 МГц; КЭШ первого уровня: 128 Кб (64 Кб на
данные и 64 Кб на инструкции); КЭШ второго уровня 512 Кб, работающий на
1/2, 2/5 или 1/3 частоты процессора; процессорная шина – Alpha EV-6 200 МГц
(DDR 100х2); общая разрядность: 32; разъём Slot A.
2000г. AMD Athlon™ Thunderbird
Этот процессор выпущен по технологии 0,18 мкм с использованием технологии
медных соединений. Первоначально выпускался в форм-факторе Slot A, позднее
Socket A. На чипе интегрированы 256 Кбайт КЭШа второго уровня, работающего
на частоте процессора. Кодовое имя: Thunderbird. Технические
характеристики: технология производства: 0.18 мкм; тактовая частота: 600-
1400 МГц; КЭШ первого уровня: 128 Кб (64 Кб на данные и 64 Кб на
инструкции); КЭШ второго уровня 256 Кб (полноскоростной); процессорная шина
– Alpha EV-6 200-266МГц (DDR 100х2- 133х2); общая разрядность: 32; разъём
Slot A, позднее Socket A.
2000г. AMD Duron™ (Spitfire)
Low-End версия Athlon™ Thunderbird с урезанным до 64 Кбайт КЭШем второго
уровня. Разносит Celeron в "пух и прах", хотя обладает меньшей ценой.
Кодовое имя: Spitfire. Технические характеристики: 25 млн. транзисторов;
технология производства: 0.18 мкм; тактовая частота: 600-950 МГц; КЭШ
первого уровня: 128 Кб (64 Кб на данные и 64 Кб на инструкции); КЭШ второго
уровня 64 Кб (полноскоростной); процессорная шина – Alpha EV-6 200МГц (DDR
100х2); общая разрядность: 32; разъём Socket A.
2000г. AMD K6®-2+
Последний процессор из семейства K6® выполнен по 0,18 мкм технологическому
процессу, имеет КЭШ-память второго уровня размером 128 Кбайт и технологию
PowerNow!™. Технические характеристики: технология производства: 0.18 мкм;
тактовая частота: 450-550 МГц; КЭШ первого уровня: 64 Кб (32 Кб на данные и
32 Кб на инструкции); КЭШ второго уровня на материнской плате (до 3 Мб);
процессор 64-разрядный; шина данных 64-разрядная (95-100 МГц); адресная
шина 32-разрядная; общая разрядность: 32; разъём Super Socket 7.
2001г. Mobile AMD Duron™
Мобильная версия Duron-а с технологией PowerNow!™. Технические
характеристики: технология производства: 0.18 мкм; тактовая частота: 700-
950 МГц; КЭШ первого уровня: 128 Кб (64 Кб на данные и 64 Кб на
инструкции); КЭШ второго уровня 64 Кб (полноскоростной); процессорная шина
– Alpha EV-6 200МГц (DDR 100х2); общая разрядность: 32.
2001г. AMD Athlon™ 4
Мобильный Athlon™ на новом ядре Palomino, в котрое добавлена поддержка
набора инструкций SSE от Intel. Кодовое имя: Palomino. Технические
характеристики: технология производства: 0.18 мкм; тактовая частота: 950-
1200 МГц; КЭШ первого уровня: 128 Кб (64 Кб на данные и 64 Кб на
инструкции); КЭШ второго уровня 256 Кб (полноскоростной); процессорная шина
– Alpha EV-6 266МГц (DDR 133х2); общая разрядность: 32; разъём Socket A.
2001г. AMD Athlon™ MP
Первый процессор от AMD, расчитанный на работу в двухпроцессорных системах,
выполнен на ядре Palomino. Кодовое имя: Palomino. Технические
характеристики: технология производства: 0.18 мкм; тактовая частота: 1000-
1600 МГц; КЭШ первого уровня: 128 Кб (64 Кб на данные и 64 Кб на
инструкции); КЭШ второго уровня 256 Кб (полноскоростной); процессорная шина
– Alpha EV-6 266МГц (DDR 133х2); общая разрядность: 32; разъём Socket A.
2001г. AMD Duron™ (Morgan)
Этот Duron выполнен на ядре Morgan - урезанном варианте
Palomino (КЭШ L2 не 256, а 64 Кбайта). Кодовое имя: Morgan. Технические
характеристики: 25.18 млн. транзисторов; технология производства: 0.18 мкм;
тактовая частота: 1000-1200 МГц; КЭШ первого уровня: 128 Кб (64 Кб на
данные и 64 Кб на инструкции); КЭШ второго уровня 64 Кб (полноскоростной);
процессорная шина – Alpha EV-6 200МГц (DDR 100х2); общая разрядность: 32;
разъём Socket A.
2001г. AMD Athlon™ XP
Версия процессора на ядре Palomino для настольных компьютеров. При
маркировке этих процессоров используется не реальная тактовая частота, а
индекс производительности, т. е. показывается какому Pentium 4
соответствует данный процессор. Например Athlon XP 2000+ работает на
частоте 1666 МГц. В отличии от AMD K5, это реальный показатель и Athlon XP
1900+ действительно не уступает Р4 1900 МГц, а в некоторых приложениях даже
превосходит его. Технические характеристики: технология производства: 0.18
мкм; тактовая частота: 1333-1666 МГц; КЭШ первого уровня: 128 Кб (64 Кб на
данные и 64 Кб на инструкции); КЭШ второго уровня 64 Кб (полноскоростной);
процессорная шина – Alpha EV-6 266МГц (DDR 133х2); общая разрядность: 32;
разъём Socket A.
2. Алгоритм работы процессора
2.1. Устройство процессора
Основные функциональные компоненты процессора
Ядро: Сердце современного процессора - исполняющий модуль. Pentium имеет
два параллельных целочисленных потока, позволяющих читать,
интерпретировать, выполнять и отправлять две инструкции одновременно.
Предсказатель ветвлений: Модуль предсказания ветвлений пытается угадать,
какая последовательность будет выполняться каждый раз когда программа
содержит условный переход, так чтобы устройства предварительной выборки и
декодирования получали бы инструкции готовыми предварительно.
Блок плавающей точки. Третий выполняющий модуль внутри Pentium, выполняющий
нецелочисленные вычисления
Первичный кэш: Pentium имеет два внутричиповых кэша по 8kb, по одному для
данных и инструкций, которые намного быстрее большего внешнего вторичного
кэша.
Шинный интерфейс: принимает смесь кода и данных в CPU, разделяет их до
готовности к использованию, и вновь соединяет, отправляя наружу.
[pic]
Рис. 1 Внутреннее строение процессора
Все элементы процессора синхронизируются с использованием частоты
часов, которые определяют скорость выполнения операций. Самые первые
процессоры работали на частоте 100kHz, сегодня рядовая частота процессора -
2000MHz, иначе говоря, часики тикают 2000 миллионов раз в секунду, а каждый
тик влечет за собой выполнение многих действий. Счетчик Команд (PC) -
внутренний указатель, содержащий адрес следующей выполняемой команды. Когда
приходит время для ее исполнения, Управляющий Модуль помещает инструкцию из
памяти в регистр инструкций (IR). В то же самое время Счетчик команд
увеличивается, так чтобы указывать на последующую инструкцию, а процессор
выполняет инструкцию в IR. Некоторые инструкции управляют самим Управляющим
Модулем, так если инструкция гласит 'перейти на адрес 2749', величина 2749
записывается в Счетчик Команд, чтобы процессор выполнял эту инструкцию
следующей.
Многие инструкции задействуют Арифметико-логическое Устройство
(АЛУ), работающее совместно с Регистрами Общего Назначения - место для
временного хранения, которое может загружать и выгружать данные из памяти.
Типичной инструкцией АЛУ может служить добавление содержимого ячейки памяти
к регистру общего назначения. АЛУ также устанавливает биты Регистра
Состояний (Status register - SR) при выполнении инструкций для хранения
информации о ее результате. Например, SR имеет биты, указывающие на нулевой
результат, переполнение, перенос и так далее. Модуль Управления использует
информацию в SR для выполнения условных операций, таких как 'перейти по
адресу 7410 если выполнение предыдущей инструкции вызвало переполнение'.
Это почти все что касается самого общего рассказа о процессорах -
почти любая операция может быть выполнена последовательностью простых
инструкций, подобных описанным.
2.2. Алгоритм работы процессора
Весь алгоритм работы процессора можно описать в трех строчках
НЦ
| чтение команды из памяти по адресу, записанному в СК
| увеличение СК на длину прочитанной команды
| выполнение прочитанной команды
КЦ
Однако для полного представления необходимо определить логические
схемы выполнения тех или иных команд, вычисления величин, а это уже функции
Арифметико-логического Устройства
2.2.1. Арифметико-логическое Устройство
На уровне логических схем АЛУ состоит из логических элементов,
сумматоров, триггеров и некоторых других элементов.
Логический элемент - электронная схема, реализующая элементарную
переключающую функцию. При реализации функций переключения входные
переменные соответствуют входным сигналам, а выходной сигнал представляет
собой значение функции. Всего существует десять логических элементов,
реализующих десять логических (элементарных или сложных) функций.
Логическая схема может реализовать сложную функцию алгебры логики,
а может входить в состав другого функционального блока процессора
(сумматора, дешифратора, регистра, триггера.)
Триггер - электронная схема с двумя устойчивыми состояниями,
предназначенная для хранения одного бита информации. Триггер переходит из
одного устойчивого состояния в другое при воздействии некоторого входного
сигнала. Триггер имеет вход для установки в состояние 0 (X0) и в 1 (X1). На
выходе выдается состояние триггера, которое выдается в прямом (Y) и в
инверсном (Y1) виде. В компьютерах используют синхронизируемые и не
синхронизируемые триггеры. Синхронизируемый триггер - это триггер,
изменение состояния которого осуществляется только в момент подачи сигнала
синхронизации V.
[pic]
Рис. 2. Схема реализации триггера - защелки на элементах И-НЕ (a) и ИЛИ-НЕ
(b).
Триггер-защелка фиксирует состояние входного сигнала, поданного на
один из его входов (рисунок 2.)
[pic]
Рис. 3. Схема реализации RS-триггера на элементах И-НЕ.
RS-триггер - двухвходовый триггер с раздельными входами для
установки в 0 или 1 (рисунок 3.) При подачи единичного сигнала на вход R (-
X0) триггер переходит в состояние 0 (Y=0, Y1=1), а при подачи на вход S
(=X1) единичного сигнала -- в состояние 1 (Y=1, Y1=0). Одновременная подача
единичного сигнала на оба входа запрещена. Обычно RS-триггеры бывают
синхронизируемыми (вход для синхронизации - V).
[pic]
Рис. 4. Схема реализации T-триггера.
T-триггер - одновходовый триггер со счетным входом: информация
подается одновременно на два входа. При подаче сигнала состояние триггера
меняется на противоположное (рисунок 4.) Он, как правило, является не
синхронизируемым, и позволяет не только хранить информацию, но и
осуществлять сложение по модулю 2.
[pic]
Рис. 5. Схема реализации D-триггера.
D-триггер выполняет функцию задержки входного сигнала на один такт
синхронизации (рисунок 5.). Сигнал, появившийся на входе D (=X0) в момент
времени T, задерживается в нем и появляется на выходе Y в момент времени
T+1.
JK-триггер - двухвходовый триггер, допускающий раздельную установку
состояния 0 и 1, а также смену текущего состояния (режим со счетным
входом), осуществляемую при подаче на оба входа единичного сигнала. Вход K
в этом триггере соответствует входу R (=X0) RS-триггера, а вход J - S
(=X1).
DF-триггер - двухвходовый триггер, позволяющий по одному входу
реализовать режим D-триггера, а по другому -- модифицировать режим работы.
Вход D соответствует X1, а F - X0. При F=0 DF-триггер сохраняет текущее
состояние. Сигнал F=1 устанавливает триггер в состояние 0. При D=1 и F=1
триггер устанавливается в состояние 1.
Триггеры с неустойчивыми состояниями называются вибраторами. Схема
с одним неустойчивым состоянием (триггер Шмидта, одновибратор) генерирует
импульсный сигнал определенной длительности. Схема с двумя неустойчивыми
состояниями называется мультивибратором и служит для генерации
последовательности прямоугольных сигналов. Он используется тактовым
генератором.
[pic]
Рис. 6. Реализация регистра.
Регистр - схема для приема, хранения и передачи n-разрядного блока
данных Они используются для промежуточного хранения, сдвига, преобразования
и инверсии данных. Регистры выполняются на триггерах и логических
элементах. Их число и тип определяются разрядностью слова и назначением
регистра. Если регистр не требует предварительного сброса данных, (то есть
установки всех его ячеек в ноль), то новые данные заменяют в нем старые.
Схема регистра показана на рисунке 6.
[pic]
Рис. 7. Реализация одноразрядного сумматора с переносом знака.
В зависимости от способа управления различают несколько типов
триггеров: D- (с одним входом), RS- (с двумя входами), T- (со счетным
входом), RST- (с двумя входами и счетным выходом) триггеры, и универсальные
триггеры: JK- и DF-триггеры.
Целочисленное АЛУ
Целочисленное арифметико-логическое устройство является, наверное,
первым универсальным АЛУ. Это АЛУ могло работать с целыми числами и
вещественными числами с фиксированной.
Не смотря на большое число команд микропроцессора, это устройство
фактически все команды сводит к девяти элементарным операциям. Все оно
приведены в таблице.
|Элементарные операции целочисленного АЛУ. |
|Операция |Обозначение |Количество |Подсистема |
| | |операндов |выполнения |
|Сложение |+ |2 |Сумматор |
|Вычитание |- |3 |Cумматор и регистр |
|Логическое умножение, И |^, &, and |2 |Логические схемы |
|Логическое сложение, ИЛИ|V, |, or |2 |Логические схемы |
|Сдвиг влево |<< |2 |Регистр |
|Сдвиг вправо |>> |2 |Регистр |
|Инверсия (НЕ) |!,not |1 |Логические схемы |
|Увеличение на 1, |++,inc |1 |Сумматор |
|инкремент | | | |
|Уменьшение на 1, |--,dec |1 |Сумматор |
|декремент | | | |
Именно эти операции выполняются за один такт микропроцессора, и
имеют наибольшую скорость выполнения. Фактически все другие операции
осуществляются с помощью этих девяти базовых. Так, умножение
восьмиразрядных целых чисел A и B выполняются по следующему алгоритму:
1. Обнуляется результат.
2. Если последний разряд числа B - единица, ток результату прибавляется
число A.
3. Число A сдвигается на разряд влево, а число B -- на разряд вправо.
4. Повторяются шаги со второго по третий семь раз.
Заметим, что сдвиг влево на 1 разряд соответствует умножению на
два, а сдвиг вправо на один разряд - целочисленному делению на два.
Команда изменения знака числа будет следующей:
1. Вначале происходит инверсия числа.
2. После этого производится инкремент результата (т.е. к нему
прибавляется единица.)
3. Таким образом число переводится в дополнительный код. Команда
определения знака числа основывается просто на проверке самого
старшего бита.
АЛУ для чисел с плавающей точкой
При проведении операций с плавающей точкой логика расчетов
усложняется. Дело в том, что операции приходится выполнять на числах,
имеющих не только разные мантиссы, но и разные порядки. Поэтому перед
проведением операций над вещественными числами нужна нормализация, то есть
приведение двух вещественных чисел к одному порядку.(обычно большему по
величине из двух чисел). Для этих целей в арифметико-логическом устройстве
с плавающей точкой отдельно производится действия с порядком, отдельно -- с
мантиссой. Нормализация происходит следующим образом:
1. Находится разность порядков большего и меньшего числа.
2. Мантисса меньшего числа сдвигается вправо на число бит, равное
разности, полученное на шаге 1.
После этого производятся обычные целочисленные операции с
мантиссой. Далее, после получения результата вычислений иногда производится
коррекция мантиссы числа с плавающей точкой. Алгоритм коррекции следующий:
1. Убираются все незначащие нули в левой части мантисса. Для этого
|