МИКРОПРОЦЕССОРЫ

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

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

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

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

После выполнения действия, определенного КОП, АУ информирует об окончании выполнения микрокоманды. Каждому АУ присущ только свой, конкретный набор МК, который называется системой микрокоманд.

Устройство, предназначенное для записи, хранения и считывания МК, называется микропрограммным устройством управления (МУУ) или микропроцессорной памятью (МПП).

В 1969 г. компании Intel удалось создать комплект из четырех интегральных микросхем (ИМС) с полным набором элементов, характерным для процессора. Длина слова первого МП составляла всего 4 бита. В 1971 г. был выпущен 4-разрядный коммерческий МП Intel 4004, который стал применяться в микрокалькуляторах. Уже в 1972 г. появился 8-разрядный МП Intel 8008, а в 1974 г. — его улучшенный вариант Intel 8080. Он нашел применение в первых встроенных ЭВМ для управления производственными процессами.

Для считывания МК необходимо устройство формирования адреса, например счетчик. Любую операцию можно представить последовательностью МК, т. е. микропрограммой.

Микрокомандный уровень управления АУ — самый низкий уровень, доступный разработчику МПУ. Микрокоманда наиболее полно отражает структуру АУ, в силу чего реализация операций с помощью микропрограмм является оптимальной в смысле экономии памяти и повышения быстродействия. Наряду с этим МК представляет собой достаточно мелкую детализацию выполняемой операции, например «обнулить регистр», «содержимое регистра переслать в аккумулятор» и т. д. Поэтому для программирования сложных алгоритмов, которыми являются алгоритмы обработки сигналов, потребовалось бы составить микропрограммы, содержащие сотни и тысячи микрокоманд.

Презентация первого микропроцессора Pentium 1 прошла в США в 1993 г., затем появились Pentium Pro (1995), Pentium 2 (1997) и Pentium 3 (1999), а в 2000 г. был представлен Pentium 4. За эти семь с небольшим лет компания Intel выпустила 18 разных моделей микропроцессоров семейства Pentium.

Тактовая частота первого Pentium 1 составляла 66 МГц, а первого Pentium 4 уже 1,4 ГГц. В настоящее время на компьютерном рынке появились Pentium 4 с частотой около 2 ГГц, и вскоре будет достижима частота 3 ГГц.

Эволюция МП семейства Pentium сопровождалась повышением их производительности:

  • • ускорением доступа к оперативной памяти;
  • • расширением возможностей конвейерной обработки команд;
  • • включением в систему команд групповых операций.

Ускорение работы с памятью сокращает вынужденные паузы

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

Начиная с Intel 486, в состав МП входит сверхбыстрое ассоциативное запоминающее устройство, называемое кэш. Кэш — посредник между процессором и оперативной памятью, в котором хранятся данные вместе с их адресами в ОЗУ, отсюда название — ассоциативная память. У семейства Pentium кэш имеет двухуровневую структуру, первый уровень всегда входит в состав МП и в зависимости от модели имеет объем 8 или 16 Кб. Второй уровень в зависимости от модели МП может располагаться как в одном корпусе с процессором, так и на материнской плате, его объем составляет сотни килобайт. Данные и команды хранятся в двух независимых кэш первого уровня.

Микропроцессор выполняет следующие функции: чтение и дешифрацию команд из основной памяти (ОП), чтение данных из ОП и регистров адаптеров внешних устройств (ВУ), прием и обработку запросов и команд от адаптеров на обслуживание ВУ, обработку данных и их запись в ОП и в регистры адаптеров ВУ, выработку управляющих сигналов для всех прочих узлов и блоков ПК.

Регистр представляет собой совокупность бистабильных устройств (т. е. имеющих два устойчивых состояния), предназначенных для хранения информации и быстрого доступа к ней. В качестве таких устройств в интегральных схемах используют триггеры. Триггер, в свою очередь, выполнен на транзисторных переключателях (электронных ключах). В регистре из Nтриггеров можно запомнить слово из N бит информации. Регистры выполняют две функции: кратковременное хранение числа или команды и осуществление над ними некоторых операций. Регистр отличается от ячейки памяти тем, что может не только хранить двоичный код, но и преобразовывает его. Основной элемент регистра — триггер — электронная схема, которая хранит 1 бит информации. Триггер имеет два устойчивых состояния, которые соответствуют логической 1 и логическому 0. Регистр — совокупность триггеров, связанных друг с другом общей системой управления.

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

Важнейшие регистры устройства управления:

  • • счетчик команд, содержимое которого соответствует адресу очередной выполняемой команды (служит для автоматической выборки программы из последовательных ячеек памяти);
  • • регистр команд, применяемый для хранения кода команды на период времени, необходимого для ее выполнения (часть его разрядов используется для хранения кода осуществляемой операции, остальные — для хранения кодов адресов операндов).

Команда — это элементарная операция, которую должна выполнить ЭВМ. Разрядность МП равна 16, 32, 64, 128 — это максимальное количество разрядов двоичного числа, над которым одновременно может производиться машинная операция. Чем больше разрядность, тем выше производительность ПК при прочих равных условиях.

В персональных компьютерах применяются следующие микропроцессоры: Intel (8086, 8088, 80286, 80386, 80486), Pentium Pro,

Pentium 1—4 фирмы Intel, а также их аналоги фирм AMD, IBM, CYRIX. Все МП различных фирм совместимы по системе команд и контактным выводам.

На системной плате МП, как правило, устанавливается в специальный разъем (Socket) и при необходимости легко заменяется другим МП такой же марки или его аналогом. Целью замены может быть повышение производительности (тактовой частоты) либо надежности работы, устранение неисправности.

Все микропроцессоры можно разделить на три типа:

  • • CISC (Complex Instruction Set Computing) с полным набором команд;
  • • RISC (Reduced Instruction Set Computing) с сокращенным набором команд;
  • • MISC (Minimum Instruction Set Computing) с минимальным набором команд и весьма высоким быстродействием.

Микропроцессоры типа CISC. Большинство современных персональных компьютеров используют микропроцессоры типа CISC. Характеристики наиболее распространенных из них приведены в табл. 3.1.

Так, модификации МП с буквами DX практически совпадают с базовой моделью; SX и SL имеют меньшую разрядность шин; SL и особенно SLE — энергосберегающие, ориентированы на использование в портативных ПК.

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

Один из первых микропроцессоров типа RISC — ARM (IBM PC RT) — 32-разрядный МП, имеющий 118 различных команд. Современные RISC — микропроцессоры типа Intel 80860, 80960, 80870, Power PC являются 64-разрядными при быстродействии до 150 млн оп/с.

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

Таблица 3.1. Характеристики МП типа CISC

Модель МП

Разрядность,

бит

Тактовая

частота,

МГц

Адресное пространство, байт

Число

элементов

Год

выпуска

данных

адреса

4004

4

4

4,77

4 • 103

2300

1971

8080

8

8

4,77

64 • 103

10 000

1974

8086

16

16

4,77 и 8

106

70 000

1982

8088

8, 16

16

4,77 и 8

106

70 000

1981

80186

16

20

8 и 10

106

140 000

1984

80286

16

24

10-33

4 - 106 (виртуальное 109)

180 000

1985

80386

32

32

25-50

16 ? 106 (виртуальное 4 • 109)

275 000

1987

80486

32

32

33-100

16 ? 106 (виртуальное 4 • 109)

1,2 • 106

1989

Pentium

64

32

50-150

4 • 109

3,1 • 106

1993

Pentium Pro

64

32

66-200

4 • 109

5,5 • 106

1995

Примечание. Микропроцессоры МП 80386, 80486 имеют модификации с буквами БХ, ЭХ, БЬ и другими (80486БХ, 80486ОХ), отличающиеся от базовой модели разрядностью шин, тактовой частотой, надежностью работы, габаритами, потребляемой энергией, амплитудой напряжения и др.

Пр и мер 3.1. Вычислить численное значение величины:

х =(а2 + Ь ? с)/с1 - к,

где а = 7240,76; Ь = 385,64; с = 64.93; ^ = 479,67; к = 17890,72. Алгоритм решения задачи.

  • 1. Вычислить а2 = а * а.
  • 2. Найти произведение Ь ? с = Ь * с.
  • 3. Определить значения числителя: а2 + Ь * с.
  • 4. Найти значение дроби, для чего числитель разделить на с1 (а2 + Ь * с)/(1.
  • 5. Вычесть из дроби значение к, получив таким образом искомое значение х:

х= (а2 + Ь * с)/(1 - к.

Весь ход вычисления делится на ряд последовательных простейших операций, для каждой из которых составляется отдельная команда. Команда представляет собой условный набор цифр (код), определяющий действие машины для выполнения одной операции. Иначе говоря, командой называется машинное слово, предназначенное для управления работой ЭВМ при выполнении одной определенной операции. Команды программы записываются в ячейки ЗУ, начиная с номера 0100, а исходные данные — в ячейки, начиная с номера 0200.

В рассматриваемом примере распределение памяти может быть представлено в следующем виде:

  • 0200) А 0205
  • 0201) В 0206
  • 0202) С 0207 Номера рабочих ячеек
  • 0203) О 0210
  • 0204) АГ 0211

Совокупность операций, выполняемых ЭВМ, называется системой команд. В данном случае используется только часть кодов операций из системы команд ЭВМ:

  • 01 — сложение;
  • 02 — вычитание;
  • 03 — умножение;
  • 04 — деление;
  • 33 — останов машины.

Первая команда должна обеспечить получение А2 умножением А на А. Записывается она следующим образом:

03 0200 0200 0205.

Здесь 03 — код операции умножения; 0200 — первый адрес команды, указывающий номер ячейки, в которой находится первый сомножитель {А) 0200 — второй адрес команды, указывающий номер ячейки, в которой находится второй сомножитель (А) 0205 — адрес команды, указывающий номер ячейки, в которую должен быть записан результат выполнения операции 2). Приведенная команда читается: «Умножить число, находящееся в ячейке 0200, на содержимое ячейки 0200 (т. е. само на себя) и результат операции послать в ячейку 0205».

Вторая команда составляется аналогично: 03 0201 0202 0206. Запишем составляемую программу, учитывая, что команды хранятся в ячейках, начиная с номера 0100.

Номер

команды

Код операций

Первый

адрес

Второй

адрес

Третий

адрес

Пояснения

0100

03

0200

0200

0205

А2 =(А*Л)

0205

0101

03

0201

0202

0206

ВС - (В *С)

0206

0102

01

0205

0206

0207

2 + ВС)

0207

0103

04

0207

0203

0210

2 + ВС/П)

0210

0104

02

0210

0204

0211

X = (Л2 + ВС/О) - к

0105

33

0000

0000

0000

Останов

Ответ находится в ячейке 0211.

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

Любая команда ЭВМ представляет собой некоторую упорядоченную последовательность битов, которая определяет: операцию, инициируемую этой командой, и адреса операндов, участвующих в данной операции.

В большинстве ЭВМ команда имеет операционно-адресную систему.

Код ОП

Код адресов (операндов)

В операционной части с точки зрения машинного представления записывается код операции, а в адресной части задается код адресов операндов. Он содержит информацию не только об адресах операндов и результате операции, но и об адресе следующей команды. Под форматом команды понимается состав, назначение и расположение отдельных полей команды. Развитие структуры происходит лишь вследствие уменьшения поля адреса (818С-процессоры). С появлением ШЗС-процессоров произошел возврат к расширенной адресности системы команд (говоря о базовом уровне, речь идет о 818С-процессорах).

Первоначально система команд имела следующий формат:

КОП

Аі

а2

Аз

А4

А3 := (А,) * (А2); СчАК := А4,

где СчАК — счетчик адреса команд (СчАК после исполнения очередной команды всегда увеличивает свое содержимое на единицу (или на другое определенное значение)), * — операция, (А,) — содержимое адреса А,.

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

Следовательно, формат приобрел вид:

КОП

А,

а2

Аз

А3 := (А,) * (А2); СчАК := (СчАК) + 1.

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

КОП

(А^ := (А,) * (А2); СчАК := (СчАК) + 1.

Такая схема вычислений — основная для современных ЭВМ, но в последнее время в процессорах появились специальные регистры, которые всегда используются в вычислениях:

АСС := (АСС) * У.

Если применять аккумуляторный принцип, то для системы команд достаточно использовать один адрес

КОП

Большинство команд Б 1БС-процессора является одно- и двухадресными. В некоторых случаях команды можно не адресовать, если команда задает операцию над фиксированными адресами (например, действие над аккумуляторами), в формате таких команд адресное поле отсутствует. Команда называется безадресной или нульадресной. Качественный сравнительный анализ показывает.

  • 1. Короткие команды предпочтительнее длинных, так как занимают меньше памяти. Если физическое быстродействие фиксировано, то количество выбираемых из памяти команд обратно пропорционально длине команды, а значит, скорость работы процессора для коротких команд больше, чем для более длинных. Короткие команды увеличивают производительность процессора. В современных ЭВМ, для того чтобы повысить производительность, нужно увеличить количество команд, извлекаемых из памяти за один цикл обращения.
  • 2. Форматы команд должны обеспечивать достаточное про

странство для задания всех операций (если система компьютера включает N операций пт[п = ] [ округление в большую сто

рону).

  • 3. Длина команды должна быть кратна длине базовой структурной информационной единицы (т.е. либо команда должна занимать целое число байт или слов, или в одном слове должно находиться целое число команд). Если в одном слове не целое число команд, то либо память недоиспользуется, либо усложняются процедуры выбора команд. Кроме того, длина команды должна выбираться с учетом длины кодов символов обрабатываемых данных.
  • 4. Длина адресного поля команды очень тесно связана с организацией памяти компьютера, а также с размером адресного пространства памяти, которую можно непосредственно адресовать в памяти компьютера. Если память включает в себя М адресных элементов, то минимальная длина адресного поля: ттт = ] ^2М [. Если исходить из фиксированной длины адресного поля, то емкость памяти будет зависеть от того, какова минимально адресуемая единица информации.

Имеется два способа решения задач при ограниченном командном слове: применение команд переменной длины и расширение кода операций. Для задания часто используемых операций, как правило, применяют короткий код операций, а в сочетании с коротким адресным полем получаем короткие команды, — эффективное использование памяти и максимально возможную скорость обработки. Для задания других, менее часто используемых операций и действий применяются более длинные поля кодов (может быть без изменения длины команды).

Команды, закодированные в цифровом виде, хранятся в оперативной памяти наравне с данными. Для процессора оперативная память — это тысячи 8-разрядных ячеек, каждая из которых имеет свой номер, называемый адресом. Команды программы поочередно выбираются из оперативной памяти и поступают в устройство управления, которое расшифровывает команду и сообщает арифметико-логическому устройству, из каких ячеек оперативной памяти взять данные, какие операции над ними выполнить и в какую ячейку памяти поместить результат вычисления (рис. 3.1).

Развернутая структурная схема микрокомпьютера

Рис. 3.1. Развернутая структурная схема микрокомпьютера

(без устройств ввода-вывода)

Быстродействие ПК зависит от микропроцессора, а скорость работы микропроцессора, в свою очередь, зависит от его разрядности и от тактовой частоты.

Тактовая частота — это частота периодического электрического сигнала, вырабатываемого специальной микросхемой, называемой генератором тактовых импульсов (тактовым генератором). Указанный периодический сигнал используется для синхронизации работы всех устройств компьютера подобно тому, как многочисленные зубчатые колеса в механических часах работают синхронно колебаниям маятника. Тактовая частота измеряется в мегагерцах (миллионах тактов в секунду).

Информация внутри компьютера передается не сплошным потоком, а порциями — машинными словами. Разрядность микропроцессора — это длина используемых им машинных слов. В табл. 3.2 приводятся некоторые сведения о микропроцессорах фирмы Intel, лидирующей в области разработки и производства микросхем для персональных компьютеров.

Таблица 3.2. Некоторые характеристики микропроцессоров

Название микропроцессора

Разрядность

Тактовая частота, МГц

Intel 8086

16

4,77- 8

Intel 80286

16

6-25

Intel 80386

32

16-40

Intel 486, 486DX2, 486DX4

32

25-100

Intel Pentium

32

60-200

Intel Pentium Pro

32

150-200

Intel Pentium MMX

32

150-233

Intel Pentium II

32

233-533

Intel Pentium III

32

450-500

Intel® Core™

34

650-700

 
< Пред   СОДЕРЖАНИЕ     След >