
- •Раздел 1. Архитектура современных микропроцессоров
- •Тема 1.1 Процессор как цифровое устройство обработки информации
- •Тема 1.3 Архитектурные особенности микропроцессоров
- •Тема 1.4 Стандартизация архитектур микропроцессоров
- •Тема 1.5 Мультитредовые микропроцессоры
- •Раздел 2. Универсальные микропроцессоры
- •Тема 2.1 Обзор универсальных микропроцессоров
- •Раздел 3 Сигнальные, коммуникационные и медийные микропроцессоры
- •Тема 3.1 Общие сведения о цифровой обработке сигналов
- •Тема 3.2 Сигнальные микропроцессоры
- •Тема 3.3: Коммуникационные процессоры
- •Тема 3.4: Медийые микропроцессоры
- •Раздел 4. Транспьютеры
- •Тема 4.1 Основные особенности транспьютеров
Введение
Создание фирмой Intel в 1971 году первого микропроцессора положило начало эпохе всеобщей компьютеризации. За чуть более чем четверть вековую историю микропроцессоры прошли по истине гигантский путь. Первый чип Intel 4004 работал на частоте 750 кГц, содержал 2300 транзисторов и стоил около $200. Производительность его оценивалась в 60 тыс. операций в секунду. На сегодняшний день тактовая частота процессоров превысила несколько ГГц, количество транзисторов более 50 млн, пиковая производительность более 7 млрд операций в секунду.
В микропроцессорах воплощены самые передовые достижения научной и инженерной мысли. В условиях, свойственных данной отрасли производства, жесткой конкуренции и огромных капиталовложений выпуск каждой новой модели микропроцессора, так или иначе, связан с очередным научным, конструкторским, технологическим прорывом, хотя, в силу большой внутренней сложности, внутри одного семейства разработчики, по возможности, стараются использовать унифицированные наработанные решения и сохранять программную совместимость моделей.
Раздел 1. Архитектура современных микропроцессоров
Тема 1.1 Процессор как цифровое устройство обработки информации
Процессор является цифровым устройством обработки информации. Цифровые или дискретные устройства обработки информации предназначены для преобразования элементов данных, принимающих конечный дискретный набор значений. Используя некоторое множество блоков, например, реализующих вентили И, ИЛИ, НЕ, исключающее ИЛИ, можно строить более сложные блоки, из которых, в свою очередь, еще более сложные. Подобным образом строят различные реализации вычислений.
Возможны программные и аппаратные (схемные) реализации вычислений.
При схемной реализации вычислений все управляющие сигналы мультиплексоров (шин) фиксированы. Аппаратная реализация вычислений требует создания уникальной схемы объединения регистров и функциональных устройств, соответствующей заданному алгоритму.
При программной реализации вычислений изначально устанавливается набор регистров, функциональных устройств и мультиплексоров, через которые возможны передачи данных между ними. Задается также набор команд для записи алгоритма требуемого вычисления. Каждая команда вырабатывает совокупность управляющих сигналов, что ведет к межрегистровым передачам данных с возможным преобразованием данных в функциональных устройствах. Воздействие команды определяется тем, на какие мультиплексоры поступают управляющие сигналы и какие значения эти сигналы имеют.
Программная реализация требует подачи определенной последовательности команд для выполнения необходимого вычисления. Эти команды можно также как данные хранить в памяти, а для их выполнения создать схемную реализацию алгоритма, обеспечивающего требуемый порядок исполнения команд. Этот схемно реализованный алгоритм и был впоследствии назван процессором.
Суть этого алгоритма сводится к циклическому выполнению следующих шагов:
- выборка из памяти команды;
- декодирование команды;
- исполнение команды;
- запись результата.
Под архитектурой процессора понимается его представление с точки зрения программиста. Можно сказать, что архитектура процессора это набор его команд. В свою очередь, структура задает набор компонентов процессора и соединений между компонентами. Наконец организация функционирования определяет то, как компоненты взаимодействуют друг с другом при выполнении вычислений.
Также компонентом компьютера служат устройства ввода вывода, называемые внешними устройствами, через которые в компьютер поступает информация: программы и данные.
Взаимодействие данных устройств с процессором и памятью носит общий характер, обусловленный необходимостью синхронизации действий процессора и внешних устройств по отношению к памяти.
С внешними устройствами возможен программный ввод вывод. Программный ввод вывод предполагает, что процессор исполняет программу, в которой с предусмотренной периодичностью выполняются условные команды перехода, анализируёющие значения битов готовности регистров ввода вывода. Организация программного ввода вывода сопряжена с потерями времени, обусловленными выполнением команд условного перехода, служащими только для синхронизации процессора и устройств ввода вывода.
Во избежание данных проблем была введена концепция прерываний, суть которой состоит в том, что процессор на шаге алгоритма выборки очередной команды из памяти, анализирует состояние битов готовности регистров ввода вывода. Если при этом обнаруживается, что необходимо произвести ввод или вывод очередного элемента данных, то наступает прерывание и в счетчик команд заносится адрес первой команды программы обработки прерываний.
Увеличение производительности процессора достигается за счет повышения тактовой частоты логических элементов и элементов памяти, а также количества этих элементов, позволяющих вводить параллелизм и конвейерность обработки данных в процессоре.
Параллельность заключается в одновременном выполнении преобразований в нескольких функциональных устройствах.
Конвейерность служит частным случаем параллельности, при котором выполнение преобразований, необходимых для получения каждого результата из однородной совокупности результатов разбивается на последовательность одинаковых по длительности алгоритмических шагов. Для выполнения каждого шага алгоритма используются отдельные устройства, совокупность преобразований в которых составляет весь алгоритм требуемого преобразования. Результат каждого устройства, входящего в конвейер, фиксируется в регистре, и следующее устройство использует этот предварительно сохраненный результат. При полной загрузке конвейера одновременно вычисляются несколько значений.
К числу ограничений, накладываемых на увеличение производительности процессоров, относится разрыв между быстродействием логических элементов и элементов памяти.
В современных условиях уменьшение времени доступа достигается введение многоуровневой иерархии памяти. Современная типовая иерархия памяти для однопроцессорных архитектур выглядит следующим образом:
- регистры со временем доступа 1 такт процессора;
- кэш первого уровня со временем доступа 1-2 такта процессора;
- кэш второго уровня с временем доступа 3-5 тактов;
- основная память с временем доступа 12-55 тактов.
В процессорах, как правило, применяются три механизма работы с памятью, основанные на использовании локализуемости обрабатываемых данных: кэш – память, страничная или сегментная память и расслоение памяти.
Локально обрабатываемые данные могут возникать в динамике вычислений и не быть сконцентрированными в одной области при статическом размещении в основной памяти. Для решения данной проблемы применяют буферную (кэш) память.
Кэш память организуют как ассоциативную, в которой данные содержаться в совокупности с их адресом в основной памяти. Обращение к такой памяти с использованием поля адреса как ключа позволяет выбрать данные независимо от места их расположения в ассоциативной памяти. Страничная или сегментная организация памяти представляет программе виртуальную память много большего объема, чем объем используемой физической памяти.
Страницы имеют фиксированный размер, а сегмент может иметь произвольный размер.
В данном случае память делится на страницы, основная часть которых хранится во внешней памяти (например дисковой), а в физической основной памяти размещаются страницы, содержащие обрабатываемые в текущий момент данные. Расслоение памяти также использует одну из форм локальности обрабатываемых данных, а именно: последовательность обращений к памяти с фиксированным порядком используемых адресов. В этом случае возможно несколько параллельных обращений в память по адресам, принадлежащим различным блокам памяти.