Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Классификация, структура и основные характеристики современных микропроцессоров ПК.

Содержание:

ВВЕДЕНИЕ

В современном мире трудно найти область техники, где не применялись бы микропроцессоры. Они применяются при вычислениях, они выполняют функции управления, они используются при обработке звука и изображения. Сейчас даже более-менее продвинутые мобильные телефоны не обходятся без микропроцессора, что уже говорить о планшетных, переносных и настольных персональных компьютерах. Что же такое микропроцессор и как развивалась история его создания? Если говорить на понятном языке, то микропроцессор – это более сложная и многофункциональная интегральная схема.

История микросхемы (интегральной схемы) начинается с 1958 года, когда сотрудник американской фирмы Texas Instruments Джек Килби изобрел некое полупроводниковое устройство, содержащее в одном корпусе несколько транзисторов, соединенных между собой проводниками. Первая микросхема – прародительница микропроцессора – содержала всего лишь 6 транзисторов и представляла собой тонкую пластину из германия с нанесёнными на неё дорожками, выполненными из золота, Расположено всё это было на стеклянной подложке. Для сравнения, сегодня счет идет на единицы и даже десятки миллионов полупроводниковых элементов.

К 1970 году достаточно много производителей занималось разработкой и созданием интегральных схем различной емкости и разной функциональной направленности. Но именно этот год можно считать датой рождения первого микропроцессора. Именно в этом году фирма Intel создает микросхему памяти емкостью всего лишь 1 Кбит – ничтожно мало для современных процессоров, но невероятно велико для того времени. На то время это было огромнейшее достижение – микросхема памяти способна была хранить до 128 байт информации – намного выше подобных аналогов. Кроме этого примерно в тоже время японский производитель калькуляторов Busicom заказала той же Intel 12 микросхем различной функциональной направленности. Специалистам Intel удалось реализовать все 12 функциональных направленностей в одной микросхеме. Более того, созданная микросхема оказалась многофункциональной, поскольку позволяла программно менять свои функции, не меняя при этом физической структуры. Микросхема выполняла определенные функции в зависимости от подаваемых на ее управляющие выводы команд.

Уже через год в 1971 Intel выпускает первый 4-разрядный микропроцессор под кодовым именем 4004. По сравнению с первой микросхемой в 6 транзисторов, он содержал 2,3 тыс. полупроводниковых элементов и выполнял 60 тыс. операций в секунду. На то время – это был огромнейший прорыв в области микроэлектроники. 4-разрядный означало то, что 4004 мог обрабатывать сразу 4-х битные данные. Еще через два года в 1973 фирма выпускает 8-ми разрядный процессор 8008, который работал уже с 8-ми битными данными. Начиная с 1976 года, компания начинает разрабатывать уже 16-разрадную версию микропроцессора 8086. Именно он начал применяться в первых персональных компьютерах IBM и, по сути, заложил один из кирпичиков в историю ЭВМ.

Наиболее важными компонентами любого компьютера, обуславливающими его основные характеристики, являются микропроцессоры, системные платы и ин­терфейсы.

Микропроцессор (МП), или Central Processing Unit (CPU) — функционально-за­конченное программно управляемое устройство обработки информации, выпол­ненное в виде одной или нескольких больших (БИС) или сверхбольших (СБИС) интегральных схем.

Глава 1. Микропроцессоры.

1.1. Функции микропроцессора

Микропроцессор выполняет следующие функции:

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

1.2. Параметры микропроцессоров

Основными параметрами микропроцессоров являются:

  • разрядность;
  • рабочая тактовая частота;
  • виды и размер кэш-памяти;
  • состав инструкций;
  • конструктив;
  • рабочее напряжение и т. д.

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

Адресное пространство — это максимальное количество ячеек основной памяти, которое может быть непосредственно адресовано микропроцессором.

Рабочая тактовая частота МП во многом определяет его внутреннее быстро­действие, поскольку каждая команда выполняется за определенное количество тактов. Быстродействие (производительность) ПК зависит также и от тактовой частоты шины системной платы, с которой работает (может работать) МП.

Кэш-память, устанавливаемая на плате МП, имеет два уровня:

  • L1 — память 1-го уровня, находящаяся внутри основной микросхемы (ядра) МП и работающая всегда на полной частоте МП (впервые кэш L1 был введен в МП i486 и у МП i386SLC);
  • L2 — память 2-го уровня, кристалл, размещаемый на плате МП и связан­ный с ядром внутренней микропроцессорной шиной (впервые введен в МП Pentium II). Память L2 может работать на полной или половинной частоте МП. Эффективность этой кэш-памяти зависит и от пропускной способности микропроцессорной шины.

Состав инструкций — перечень, вид и тип команд, автоматически исполняе­мых МП. От типа команд зависит классификационная группа МП (CISC, RISC, VLIW и т. д.). Перечень и вид команд определяют непосредственно те процеду­ры, которые могут выполняться над данными в МП, и те категории данных, над которыми применимы эти процедуры. Дополнительные инструкции в небольших количествах вводились во многих МП (286, 486, Pentium Pro и т. д.). Но сущест­венное изменение состава инструкций произошло в МП i386 (этот состав далее принят за базовый), Pentium MMX, Pentium III, Pentium 4, Pentium D, Core Duo.

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

Рабочее напряжение также является фактором пригодности материнской платы для установки МП.

1.3. Классификация микропроцессоров

В настоящее время разными фирмами (AMD, VIA Apollo, IBM и др.) выпускается много десятков различных микропроцессоров, но наиболее популярными и распространенными являются микропроцессоры фирмы Intel и Intel-подобные.

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

  • CISC (Complex Instruction Set Command) с полным набором системы команд;
  • RISC (Reduced Instruction Set Command) с усеченным набором системы команд;
  • VLIW (Very Length Instruction Word) со сверхдлинным командным словом;
  • MISC (Minimum Instruction Set Command) с минимальным набором системы команд и весьма высоким быстродействием.

1.3.1 Микропроцессоры типа CISC

Большинство современных ПК типа IBM PC используют МП типа CISC, выпускаемые многими фирмами: Intel, AMD, Cyrix, IBM и т. д. Законодателем «мод» здесь выступает Intel, но ей «на пятки» наступает AMD, в последние годы создавшая МП по некоторым параметрам лучше «интеловских». Все же пока МП фирмы Intel имеют большее распространение; характеристики некоторых из них приведены в таблице 1.

Таблица 1. Характеристики некоторых CISC МП

Модель МП Intel

Разрядность данных/адреса (бит)

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

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

Состав команд

Число элементов; Технология

Кэш L1 и L2 (кБайт)

Напряжения питания; Конструктив

Годы выпуска

4004

4

4

0,108

4103

2300; 10 мкм

1971

8080

8

8

2,0

64103

10 000; 6 мкм

1974

8066

16

16

4,77 и 8

106

70 000;3 мкм

1979

8088

8, 16

16

4,77 и 8

106

70 000;3 мкм

1978

80186

16

20

8 и 10

106

140 000

1981

80286

16

24

8-20

16106

180 000; 1,5 мкм

1982

80386

32

32

16-50

4109

Базовый

275 000; 1 мкм

1985

80486

32

32

25-100

4109

Базовый

1,2106; 1 мкм

8

1989

Pentium

64

32

60-233

4109

Базовый

3,3106; 0,5, 0,35 мкм

8+8

5 B; Socket 5

1993

Pentium Pro

64

32

150-200

4109

Базовый

5,5106; 0,5, 0,35 мкм

8+8

5 B; Socket 8

1995

Pentium MMX

64

36

166-233

64109

Базовый + 57 (MMX)

5106; 0,35 мкм

16+16

2,8 B; Socket 7

1997

Pentium II (Katmai)

64

36

233-600

64109

MMX + (MMX2)

7,5106; 0,25 мкм

16+16 512F/2

2,0 B; Slot 1

1997

Intel Celeron (Mendocino)

64

32

300-800

4109

MMX2

19106; 0,25, 0,22 мкм

16+16 

128F

2,0 B; Slot 1, Socket 370

1998

Pentium III (Coppermine)

64

36

500-1000

64109

MMX + 70

28106; 0,18 мкм

16+16 

256F

1,65 B; Slot 1, Socket 370

1999

Intel Pentium III Xeon

64

36

500-1000

64109

MMX2

30106; 0,18, 0,13 мкм

16+16 

256-2048F

1,65 B; Slot 2

1999

Pentium 4 (Willarmette)

64

36

1000-3500

64109

MMX2 + 144

42106; 0,13 мкм

8+8 

256F

1,1-1,85 B; Socket 423, 478

2000

Pentium 4 XE (Gallatine)

64

36

3200-3600

10649

SSE3

101786; 0,09мкм

16+16

2048F

Socket LGA 775; Strained, SOI, Cu

2004

Pentium D 2 ядра

64

64

2800-3200

10649

SSE3+

102756; 0,09мкм

16+16

1024x2

Socket LGA 775, Strained, SOI, Cu

2005

Условные обозначения в столбце «Состав команд»: «ММХ +» означает, что имеется несколько дополнительных 32-битовых инструкций группы SSE (Streaming SIMD Extention). В столбце кэш символ F у кэш-памяти уровня L2 означает, что память рабо­тает на частоте процессора; обозначение F/2 — на половинной частоте процессора.

Пояснения к таблице:

  • число элементов — это количество элементарных полупроводниковых пере­ходов, размещенное в интегральной схеме МП. Технология обычно характе­ризуется размером элемента в микронах (микронная технология).
  • микропроцессоры 80486DX и выше имеют встроенный математический сопро­цессор, могут работать с умножением внутренней частоты. С увеличенной частотой работают только внутренние схемы МП, все внешние по отноше­нию к МП схемы, в том числе расположенные и на системной плате, работа­ют с обычной частотой;
  • у МП 80286 и выше конвейерное выполнение команд — это одновременное выполне­ние разных тактов последовательных команд в разных частях МП при непо­средственной передаче результатов из одной части МП в другую, увеличивает эффективное быстродействие ПК в 2-5 раз;
  • у МП 80286 и выше есть возможность работы в вычислительной сети;
  • у МП 80286 и выше имеется возможность многозадачной работы (многопрограммность) и сопутствующая ей защита памяти.

Современные микропроцес­соры имеют два режима работы:

Реальный (однозадачный, Real Address Mode), в котором возможно вы­полнение только одной программы и непосредственно адресоваться могут только 1024 + 64 Кбайт основной памяти компьютера, а остальная память (расширенная) доступна лишь при подключении специальных драйверов;

Защищенный (многозадачный, Protected Virtual Address Mode), обеспечи­вающий выполнение сразу нескольких программ, непосредственную адре­сацию и прямой доступ (без дополнительных драйверов) к расширенной основной памяти. Предоставляется непосредственный доступ к памяти ем­костью 16 Мбайт для МП 286; 4 Гбайт для процессоров 386, 486, Celeron; 100 Гбайт для МП Pentium Xeon и 64 Гбайт для остальных процессоров Pentium, а при страничной организации памяти — к 16 Тбайт виртуальной памяти для каждой задачи. В этом режиме осуществляется автоматическое распределение памяти между выполняемыми программами и соответствую­щая ее защита от обращений со стороны чужих программ. Защищенный ре­жим поддерживается операционными системами Windows, OS/2, UNIX и т. д.

  • в МП 80386 и выше встроена поддержка системы виртуальных машин. Систе­ма виртуальных машин является дальнейшим развитием режима многозадач­ной работы, при котором каждая задача может выполняться под управлением своей операционной системы, то есть практически в одном МП моделируется как бы несколько компьютеров, работающих параллельно и имеющих разные операционные системы;
  • у МП 80486 и выше имеется поддержка кэш-памяти;
  • у МП 80486 и выше имеются RISC-элементы, позволяющие выполнять ко­роткие операции за 1 такт.

Микропроцессоры 80586 (Р5) более известны по их товарной марке Pentium, которая запатентована фирмой Intel (МП 80586 других фирм имеют иные обо­значения: К5 у фирмы AMD, Ml у фирмы Cyrix и т. д.).

МП шестого поколения 80686 (Р6), торговая марка Pentium Pro, имеют более высокую производительность благодаря наличию «динамического исполнения» (dynamic execution).

Это означает:

  • наличие многоступенчатой суперконвейерной структуры (superpipelining),
  • наличие предсказания ветвлений программы при условных передачах управления (multiple branch prediction)
  • исполнение команд по пред­полагаемому пути ветвления (speculative execution).

В программах решения многих задач содержится боль­шое число условных передач управления. Если процессор может заранее пред­сказывать направление перехода (ветвления), то производительность его работы значительно повысится за счет оптимизации загрузки вычислительных конвейе­ров. Если путь ветвления предсказан неверно, процессор должен сбросить полученные результаты, очистить конвейеры и за­грузить нужные команды заново, что требует достаточно большого числа тактов. В процессоре Pentium Pro вероятность правильного предсказания 90%, про­тив 80% у МП Pentium.

МП Pentium ММХ (ММХ — MultiMedia eXtention) и Pentium II модернизированы для работы в мультимедийной технологии. В них появилась качественно новая технология: начали вне­дряться инструкции SIMD (Single Instruction Multiply Data), в которых одно и то же действие совершается над многими данными. Более дешевый вариант Pentium II – Celeron (с отсутствующим либо урезанным до 128 Кбайт кэшем 2-го уровня).

В МП Pentium III присутствует новый блок 128-разрядных регистров, что позволило осуществить расширение набора SIMD-инструкций, ориентированных на форматы данных с плавающей запятой — SSE (Streaming SIMD Extensions). Увеличен кэш 2-го уровня. Pentium III Xeon — процессоры, позиционированные для серверов.

В Pentium 4 улучшена система «динамического исполнения».

Динамическое исполнение позволяет про­цессору предсказывать порядок выполнения инструкций при помощи техноло­гии множественного предсказания ветвлений, которая прогнозирует прохожде­ние программы по нескольким ветвям. Это оказывается возможным, поскольку в процессе исполнения инструкции процессор просматривает программу на не­сколько шагов вперед. Технология анализа потока данных позволяет проанали­зировать программу и составить ожидаемую последовательность исполнения инструкций независимо от порядка их следования в тексте программы. И, на­конец, опережающее выполнение повышает скорость работы программы за счет выполнения нескольких инструкций одновременно, по мере их поступления в ожи­даемой последовательности — то есть по предположению (интеллектуально). Поскольку выполнение инструкций происходит на основе предсказания ветвле­ний, результаты сохраняются как «интеллектуальные» с последующим удалени­ем тех, которые вызваны промахами в предсказании. На конечном этапе порядок инструкций и результатов их выполнения восстанавливается до первоначального.

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

Используется технология Hyper Treading (tread- поток) – на базе одного МП формируются 2 или более логических процессоров, работающих параллельно. Для задач, позволяющих распараллеливать операции, производительность МП повышается на 30 %.

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

Первым представителем двухъядерных МП для ПК в 2005 году стал Pentium D.

Двухъядерные МП по сравнению с параллельными виртуальными процессорами обеспечивают существенно большую производительность, т. к. у них почти нет совместно используемых процессорных ресурсов (АЛУ, МПП, кэш-память L1 у каждого свои). Потребляемая мощность у них значительно меньше, чем у более высокочастотных однопроцессорных МП той же производительности. Поэтому двух- и многоядерные МП активно используются в ПК. Для двухъядерных МП необходимы системные платы со специальными разъемами и чипсетами.

В феврале 2005 г. компаниями Sony, Toshiba и IBM представлены девятиядерные МП Cell (ячейка). В них используется 0,09 мкм-технология, а также достижения электроники: «кремний на изоляторе» (SOI), «напряженный кремний» (StrainedSi), медные соединения (Cu). Имеют очень низкое энергопотребление (до 80 Вт).

В 2006 г. Intel представила линейку МП Core:

Core Solo (1 ядро),

Core Duo, Core 2 Duo, Core 2 Extreme (2 ядра),

Core 2 Quad (4 ядра),

Core Penryn (2-4 ядра).

Все МП этой линейки строятся по 65-нанометровой технологии, используют ряд новых энергосберегающих технологий.

В 2008 г. Intel предложила 0,045-микронную архитектуру Nechalem– она использует при построении МП модульность, которая позволяет варьировать количество ядер в МП и изменять насыщенность процессорной системы прочими блоками, в зависимости от назначения и требуемой производительности.

Используют эту архитектуру МП Core i5 и Core i7. Core i5 является несколько облегченным вариантом Core i7. МП Core i3 — по уровню цены и производительности стоят на самой низкой ступени, перед более дорогими и производительными Core i5. В таблице 2 приведены характеристики микропроцессоров Intel.

Таблица 2. Характеристики МП Intel.

Модель

Ядро

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

Цена

Рассеиваемая мощность, Вт

Частота видеоядра, МГц

Дата выпуска

Модель Core i3

540

Clarkdale

2 ядра

3,06

$133

73

733

янв. 2010

530

Clarkdale

2 ядра

2,93

$113

73

733

янв. 2010

Модель Core i5

750

Lynnfield

4 ядра

2,66 (3,2)

$196

95

отсутствует

сен. 2009

670

Clarkdale

2 ядра

3,46 (3,73)

$284

73

733

янв. 2010

661

3,33 (3,6)

$196

87

900

янв. 2010

660

3,33 (3,6)

$196

73

733

янв. 2010

650

3,2 (3,46)

$176

73

733

янв. 2010

Модель Core i7

860

Lynnfield

4 ядра

2,80

$284

95

сен. 2009

870

Lynnfield

4 ядра

2.93

$562

95

сен. 2009

1.3.2 Микропроцессоры типа RISC

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

Современные 64-разрядные RISC-микропро­цессоры выпускаются многими фирмами: Apple (PowerPC), IBM (PPC), DEC (Alpha), HP (PA), Sun (Ultra SPARC) и т. д.

Микро­процессоры типа RISC характеризуются очень высоким быстродействием, но они программно не совместимы с CISC-процессорами: при выполнении про­грамм, разработанных для ПК типа IBM PC, они могут лишь эмулировать (мо­делировать, имитировать) МП типа CISC на программном уровне, что приводит к резкому уменьшению их эффективной производительности.

1.3.3 Микропроцессоры типа VLIW

Это новый и весьма перспективный тип МП. Микропроцессоры типа VLIW выпускают фирмы Transmeta — это микропроцессор Crusoe моделей ТМ3120, ТМ5400, ТМ5600, Intel — модель Mersed (торговая марка Itanium) и Hewlett-Packard — модель McKinley.

К VLIW-типу можно отнести и МП Elbrus 2000 — E2k, разработанный российской компанией «Эльбрус».

Программисты доступа к внутренним VLIW-командам не имеют: все программы (даже операционная система) работают поверх специального низкоуровневого программного обеспечения (Code Morphing), которое ответственно за трансля­цию команд CISC-микропроцессоров в команды VLIW. МП типа VLIW вместо сложной схемной логики, обеспечивающей в современных суперскалярных мик­ропроцессорах параллельное исполнение команд, опираются на программное обеспечение. Упрощение аппаратуры позволило уменьшить габариты МП и по­требление энергии (эти МП иногда называют «холодными»).

1.4. Физическая и функциональная структура микропроцессора

В состав микропроцессора Pentium обычно входят следующие физические ком­поненты:

  • Core — ядро МП;
  • Execution Unit — исполняющий модуль;
  • IntegerALU— АЛУ для операций с целыми числами (с фиксированной за­пятой);
  • Registers — регистры;
  • Floating Point Unit — блок для работы с числами с плавающей запятой;
  • Primary Cache — кэш первого уровня, в том числе кэш данных (Data Cache) и кэш команд (Code Cache);
  • Instruction Decode and Prefetch Unit и Branch Predictor — блоки декодирова­ния инструкций, опережающего их исполнения и предсказания ветвлений;
  • Bus Interface — интерфейсные шины, в том числе 64- и 32-битовая шины, и вы­ход на системную шину к оперативной памяти (То RAM).

Функционально МП можно разделить на две части:

  • операционную, содержащую устройство управления (УУ), арифметико-логи­ческое устройство (АЛУ) и микропроцессорную память (МПП) (за исключе­нием нескольких адресных регистров);
  • интерфейсную, содержащую адресные регистры МПП; блок регистров ко­манд — регистры памяти для хранения кодов команд, выполняемых в бли­жайшие такты; схемы управления шиной и портами.

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

1.5. Устройство управления

Устройство управления (УУ) является функционально наиболее сложным уст­ройством ПК — оно вырабатывает управляющие сигналы, поступающие по кодо­вым шинам инструкций (КШИ) во все блоки машины. Упрощенная функцио­нальная схема УУ показана на рис. 5.1. На рисунке представлены:

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

В общем случае УУ формирует управляющие сигналы для выполнения следую­щих основных процедур:

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

Рис. 1. Укрупненная функциональная схема УУ

Арифметико-логическое устройство (АЛУ) предназначено для выполнения ариф­метических и логических операций преобразования информации. Функциональ­но АЛУ состоит обычно из двух регистров, сумматора и схем управле­ния (местного устройства управления).

Сумматор — вычислительная схема, выполняющая процедуру сложения посту­пающих на ее вход двоичных кодов; сумматор имеет разрядность двойного ма­шинного слова.

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

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

АЛУ выполняет арифметические операции «+», «-», «х» и «> только над двоич­ной информацией с запятой, фиксированной после последнего разряда, то есть только над целыми двоичными числами. Выполнение операций над двоичными числами с плавающей запятой и над двоично-кодированными десятичными числа­ми осуществляется с привлечением математического сопроцессора или по специ­ально составленным программам.

Рассмотрим в качестве примера выполнение команды умножения. Перемножают­ся числа 1101 и 1011 (числа для простоты взяты 4-битовыми). Множимое находит­ся в регистре 1, имеющем удвоенную по отношению к регистру 2 разрядность; множитель размещается в регистре 2. Операция умножения требует для своеговыполнения нескольких тактов. В каждом такте число из регистра 1 проходит в сумматор (имеющий также удвоенную разрядность) только в том случае, если в младшем разряде регистра 2 находится 1. В данном примере в первом такте чис­ло 1101 пройдет в сумматор, и в этом же первом такте число в регистре 1 сдвига­ется на 1 разряд влево, а число в регистре 2 — на 1 разряд вправо. В конце такта после сдвигов в регистре 1 будет находиться число 11010, а в регистре 2 — число 101. Во втором такте число из регистра 1 пройдет в сумматор, так как младший разряд в регистре 2 равен 1; в конце такта числа в регистрах опять будут сдвину­ты влево и вправо, так, что в регистре 1 окажется число 110100, а в регистре 2 — число 10. В третьем такте число из регистра 1 не пройдет в сумматор, так как младший разряд в регистре 2 равен 0; в конце такта числа в регистрах будут сдви­нуты влево и вправо, так что в регистре 1 окажется число 1101000, а в регист­ре 2 — число 1. На четвертом такте число из регистра 1 пройдет в сумматор, по­скольку младший разряд в регистре 2 равен 1; в конце такта числа в регистрах будут сдвинуты влево и вправо, так что в регистре 1 окажется число 11010000, а в регистре 2 — число 0. Поскольку множитель в регистре 2 стал равным 0, опера­ция умножения заканчивается. В результате в сумматор последовательно поступят и будут сложены числа: 1101, 11010, 1101000; их сумма 10001111 (143 в десятичной системе) и будет равна произведению чисел 1101 х 1011 (13 х 11 десятичные).

Рис. 2. Функциональная схема АЛУ

1.6. Микропроцессорная память

Микропроцессорная память (МПП) базового МП 8088 включает в себя 14 двух­байтовых запоминающих регистров. У МП 80286 и выше имеются дополнитель­ные регистры, например, у МП типа VLIW есть 256 регистров, из которых 128 — регистры общего назначения. У МП 80386 и выше некоторые регистры, в том числе и регистры общего назначения, — 4-байтовые (у МП Pentium есть и вось­мибайтовые регистры). Но в качестве базовой модели, в частности для языка программирования ассемблер и отладчика программ Debug, используется 14-ре-гистровая система МПП. Все регистры можно разделить на 4 группы:

  1. универсальные регистры: АХ, ВХ, СХ, DX;
  2. сегментные регистры: CS, DS, SS, ES;
  3. регистры смещения: IP, SP, BP, SI, DI;
  4. регистр флагов: FL.

Если регистры 4-байтовые или 8-байтовые, их имена несколько изменяются, на­пример 4-байтовые универсальные регистры АХ, ВХ, СХ, DX именуются соот­ветственно ЕАХ, ЕВХ, ЕСХ, EDX. При этом если используется их двухбайтовая или однобайтовая часть, наименования этих частей регистров соответствуют рассматриваемым ниже.

1.6.1 Универсальные регистры

Регистры АХ, ВХ, СХ и DX являются универсальными (их часто называют ре­гистрами общего назначения — РОН); каждый из них может использоваться для временного хранения любых данных, при этом позволено работать с каждым регистром целиком, а можно отдельно и с каждой его половиной (регистры АН, ВН, СН, DH — старшие (High) байты, а регистры AL, BL, CL, DL — младшие (Low) байты соответствующих 2-байтовых регистров). Но каждый из универ­сальных регистров может использоваться и как специальный при выполнении некоторых конкретных команд программы. В частности:

  • регистр АХ — регистр-аккумулятор, через его порты осуществляется ввод-вывод данных в МП, а при выполнении операций умножения и деления АХ используется для хранения первого числа, участвующего в операции (множи­мого, делимого), и результата операции (произведения, частного) после ее за­вершения;
  • регистр ВХ часто используется для хранения адреса базы в сегменте данных и начального адреса поля памяти при работе с массивами;
  • регистр СХ — регистр-счетчик, используется как счетчик числа повторений при циклических операциях;
  • регистр DX используется как расширение регистра-аккумулятора при работе с 32-разрядными числами и при выполнении операций умножения и деления, используется для хранения номера порта при операциях ввода-вывода и т. д.

1.6.2 Сегментные регистры

Регистры сегментной адресации CS, DS, SS, ES используются для хранения на­чальных адресов полей памяти (сегментов), отведенных в программах для хра­нения1:

  • команд программы (сегмент кода — CS);
  • данных (сегмент данных — DS);
  • стековой области памяти (сегмент стека — SS);
  • дополнительной области памяти данных при межсегментных пересылках (рас­ширенный сегмент — ES), поскольку размер сегмента в реальном режиме рабо­ты МП ограничен величиной 64 Кбайт.

1.6.3 Регистры смещений

Регистры смещений (внутрисегментной адресации) IP, SP, BP, SI, DI предна­значены для хранения относительных адресов ячеек памяти внутри сегментов (смещений относительно начала сегментов):

  • регистр IP (Instruction Pointer) хранит смещение адреса текущей команды программы;
  • регистр SP (Stack Pointer) — смещение вершины стека (текущего адреса стека);
  • регистр BP (Base Pointer) — смещение начального адреса поля памяти, непо­средственно отведенного под стек;
  • регистры SI, DI (Source Index и Destination Index соответственно) предназначены для хранения адресов индекса источника и приемника данных при операциях над строками и им подобных.

1.6.4 Регистр флагов

Регистр флагов FL содержит условные одноразрядные признаки-маски, или фла­ги, управляющие прохождением программы в ПК; флаги работают независимо друг от друга, и лишь для удобства они помещены в единый регистр. Всего в реги­стре содержится 9 флагов: 6 из них статусные, отражают результаты операций, выполненных в компьютере (их значения используются, например, при выпол­нении команд условной передачи управления — команд ветвления программы), а 3 других — управляющие, непосредственно определяют режим исполнения программы.

1.6.5 Статусные флаги:

  • CF (Carry Flag) — флаг переноса. Содержит значение «переносов» (0 или 1) из старшего разряда при арифметических операциях и некоторых операциях сдвига и циклического сдвига;
  • PF (Parity Flag) — флаг четности. Проверяет младшие восемь битов резуль­татов операций над данными. Нечетное число единичных битов приводит к установке этого флага в 0, а четное — в 1;
  • AF (Auxiliary Carry Flag) — флаг логического переноса в двоично-десятич­ной арифметике. Вспомогательный флаг переноса устанавливается в 1, если арифметическая операция приводит к переносу или заему четвертого справа бита однобайтового операнда. Этот флаг используется при арифметических операциях над двоично-десятичными кодами и кодами ASCII;
  • ZF (Zero Flag) — флаг нуля. Устанавливается в 1, если результат операции равен нулю; если результат не равен нулю, ZF обнуляется;
  • SF (Sign Flag) — флаг знака. Устанавливается в соответствии со знаком ре­зультата после арифметических операций: положительный результат устанав­ливает флаг в 0, отрицательный — в 1;
  • OF (Overflow Flag) — флаг переполнения. Устанавливается в 1 при арифме­тическом переполнении: если возник перенос в знаковый разряд при выпол­нении знаковых арифметических операций, если частное от деления слишком велико и переполняет регистр результата и т. д.

1.6.6 Управляющие флаги:

  • TF (Trap Flag) — флаг системного прерывания (трассировки). Единичное со­стояние этого флага переводит процессор в режим пошагового выполнения программы (режим трассировки);
  • IF (Interrupt Flag) — флаг прерываний. При нулевом состоянии этого флага прерывания запрещены, при единичном — разрешены;

DF (Direction Flag) — флаг направления. Используется в строковых операци­ях для задания направления обработки данных. При нулевом состоянии фла­га команда увеличивает содержимое регистров SI и DI на единицу, обуслов­ливая обработку строки «слева направо»; при единичном — «справа налево»

1.7. Интерфейсная часть МП

Интерфейсная часть МП предназначена для связи и согласования МП с систем­ной шиной ПК, а также для приема, предварительного анализа команд выпол­няемой программы и формирования полных адресов операндов и команд. Ин­терфейсная часть включает в свой состав:

  • адресные регистры МПП;
  • узел формирования адреса;
  • блок регистров команд, являющийся буфером команд в МП;
  • внутреннюю интерфейсную шину МП;
  • схемы управления шиной и портами ввода-вывода.

Некоторые из названных устройств, такие как узел формирования адреса и ре­гистр команды, непосредственно выполняемой МП, функционально входят в со­став устройства управления.

Порты ввода-вывода — это пункты системного интерфейса ПК, через которые МП обменивается информацией с другими устройствами. Всего портов у МП может быть 65 536 (равно количеству разных адресов, которые можно пред­ставить числом формата «слово»). Каждый порт имеет адрес — номер порта; по существу это адрес ячейки памяти, являющейся частью устройства ввода-выво­да, использующего этот порт, а не частью основной памяти компьютера.

Порту устройства соответствуют аппаратура сопряжения и два регистра памя­ти — для обмена данными и управляющей информацией. Некоторые внешние устройства используют и основную память для хранения больших объемов ин­формации, подлежащей обмену. Многие стандартные устройства (НЖМД, НГМД, клавиатура, принтер, сопроцессор и т. д.) имеют постоянно закрепленные за ними порты ввода-вывода.

Схема управления шиной и портами выполняет следующие функции:

  • формирование адреса порта и управляющей информации для него (переклю­чение порта на прием или передачу и т. д.);
  • прием управляющей информации от порта, информации о готовности порта и его состоянии;
  • организация сквозного канала в системном интерфейсе для передачи данных между портом устройства ввода-вывода и МП.

Схема управления шиной и портами использует для связи с портами кодовые шины инструкций, адреса и данных системной шины: при доступе к порту МП посылает сигнал по кодовой шине инструкций (КШИ), который оповещает все устройства ввода-вывода, что адрес на кодовую шину адреса (КША) является адресом порта, а затем посылает и сам адрес порта. Устройство с совпадающим адресом порта дает ответ о готовности. После чего по кодовой шине данных (КШД) осуществляется обмен данными.

Упрощенная структурная схема микропроцессора показана на рис. 3.

Рис. 3. Упрощенная структурная схема микропроцессора

Глава 2. Архитектура микропроцессора.

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

Рис. 4. Классификация современных микропроцессоров по функциональному признаку

Среди специализированных микропроцессоров наиболее широкое распространение получили микроконтроллеры, предназначенные для выполнения функций управления различными объектами, и цифровые процессоры сигналов (DSP - Digital Signal Processor), которые ориентированы на реализацию процедур, обеспе­чивающих необходимое преобразование аналоговых сигналов, представленных в цифровой форме (в виде последовательности числовых значений).

Микропроцессоры общего назначения предназначены для решения широкого круга задач обработки разнообразной информации. Их основной областью использования являются персональные компьютеры, рабочие станции, серверы и другие цифровые системы массового применения. К этому классу относятся CISC-процессоры Pentium компании «Intel», K7 - компании «Advanced MicroDevices» (AMD), 680x0 - компании «Motorola», RISC-процессоры PowerPC, выпускаемые компаниями «Motorola» и IBM, SPARC - компании «Sun Microsystems» и ряд других изделий различных производителей.

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

Ряд наиболее популярных микропроцессоров этого класса (Pentium, AMD K7 и некоторые другие) следует отнести к CISC-процессорам, так как они выполняют большой набор разноформатных команд с использованием многочисленных способов адресации. Однако в их внутренней структуре содержится RISC-процессор, который выполняет поступившие команды после их преобразования в последовательность простых RISC-операций. Ряд других микропроцессоров этого класса непосредственно реализует RISC-архитектуру. Поэтому можно считать, что использование RISC-архитектуры характерно 1ля большинства этих микропроцессоров. Однако в ряде последних разработок (Itanium, DA8500) некоторых ведущих производителей успешно применяются принципы VLIW-apхитектуры, которая может составить конкуренцию RISC-архитектуре в соревновании за достижение наивысшей производительности.

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

Благодаря своей универсальности микропроцессоры общего назначения используются также в специализированных системах, где требуется высокая производительность. На их основе реализуются одноплатные компьютеры и промышленные компьютеры, которые применяются в системах управления различными объектами. Одноплатные (встраиваемые) компьютеры содержат на плате необходимые дополнительные микросхемы, обеспечивающие их специализированное применение, и предназначены доя встраивания в аппаратуру различного назначения. Промышленные компьютеры размещаются в корпусах специальной конструкции, обеспечивающих их надежную работу в жестких производственных условиях. Обычно такие компьютеры работают без стандартных периферийных устройств (монитор, клавиатура, «мышь») или используют специальные варианты этих устройств, модифицированные с учетом специфических условий применения.

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

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

В связи с широким диапазоном решаемых задач управления требования, предъявля­емые к производительности процессора, объему внутренней памяти команд и данных, набору необходимых периферийных устройств, оказываются весьма разнообразными. Для удовлетворения запросов потребителей выпускается большая номенклатура микроконтроллеров, которые принято подразделять на 8-, 16- и 32-разрядные.

• 8-разрядные микроконтроллеры представляют наиболее многочисленную группу этого класса микропроцессоров, которые имеют относительно низкую производительность, которая, однако, вполне достаточна для решения широкого круга задач управления различными объектами. Это простые и дешевые микроконтроллеры, ориентированные на использование в относительно несложных устройствах массового выпуска. Основными областями их применения являются бытовая и измерительная техника, промышленная автоматика, автомобильная электроника, теле-, видео- и аудиоаппаратура, средства связи.

Для этих микроконтроллеров характерна реализация Гарвардской архитектуры, где используется отдельная память для хранения программ и данных. Для хранения программ в различных типах микроконтроллеров применяется либо масочно-программируемое ПЗУ (ROM), либо однократно-программируемое ПЗУ (PROM), либо электрически репрограммируемое ПЗУ (EPROM, EEPROM или Flash). Внутренняя память программ обычно имеет объем от нескольких единиц до десятков Кбайт. Для хранения данных используется регистровый блок, организованный в виде нескольких регистровых банков, или внутреннее ОЗУ. Объем внутренней памяти данных составляет от нескольких десятков байт до нескольких Кбайт. Ряд микроконтроллеров этой группы позволяет в случае необходимости дополнительно подключать внешнюю память команд и данных, объемом до 64-256 Кбайт.

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

• 16-разрядные микроконтроллеры во многих случаях являются усовершенствованной
модификацией своих 8-разрядных прототипов. Они характеризуются не только увеличенной разрядностью обрабатываемых данных, но и расширенной системой команд и способов адресации, увеличенным набором регистров и объемом адресуемой памяти, а также рядом других дополнительных возможностей, использование которых позволяет повысить производительность и обеспечить новые области применения. Обычно эти микроконтроллеры позволяют расширить объем памяти программ и данных до нескольких Мбайт путем подключения внешних микросхем памяти. Во многих случаях реализуется их программная совместимость с более младшими 8-разрядными моделями. Основная сфера применения таких микроконтроллеров - сложная промышленная автоматика, телекоммуникационная аппаратура, медицинская и измерительная техника.

• 32-разрядные микроконтроллеры содержат высокопроизводительный процессор, соответствующий по своим возможностям младшим моделям микропроцессоров общего назначения. В ряде случаев процессор, используемый в этих микроконтроллерах, аналогичен CISC- или RISC-процессорам, которые выпускаются или выпускались ранее в качестве микропроцессоров общего назначения. Например, в 32-разрядных микроконтроллерах компании Intel используется процессор i386, в микроконтроллерах компании Motorola широко применяется процессор 680x0, в ряде других микроконтроллеров в качестве процессорного ядра служат RISC-процессоры типа PowerPC. На базе данных процессоров были реализованы различные модели персональных компьютеров. Введение этих процессоров в состав микроконтроллеров позволяет использовать в соответствующих системах управления огромный объем прикладного и системного программного обеспечения, созданный ранее для соответствующих персональных компьютеров.

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

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

Цифровые процессоры сигналов (ЦПС) представляют класс специализированных микропроцессоров, ориентированных на цифровую обработку поступающих аналоговых сигналов. Специфической особенностью алгоритмов обработки аналоговых сигналов определяется необходимость последовательного выполнения ряда команд умножения-сложения с накоплением промежуточного результата в регистре-аккумуляторе. Поэтому ap-i/тектура ЦПС ориентирована на реализацию быстрого выполнения операций такого рода. Набор команд этих процессоров содержит специальные команды MAC (Multiplication Aith Accumlation), реализующие эти операции.

Значение поступившего сигнала может быть представлено в виде числа с фиксированной или с «плавающей» точкой. В соответствии с этим ЦПС делятся на процессоры, обрабатывающие числа с фиксированной или плавающей точкой. Более простые и дешевые ЦПС с фиксированной точкой обычно обрабатывают 16-разрядные операнды, представленные а виде правильной дроби. Однако ограниченная разрядность в ряде случаев не позволяет обеспечить необходимую точность преобразования. Поэтому в ЦПС с фиксированной точкой, выпускаемых компанией «Motorola», принято 24-разрядное представление операндов. Наиболее высокая точность обработки обеспечивается в случае представления даныхв формате с «плавающей» точкой. В ЦПС, обрабатывающих данные с «плавающей» точкой,обычно используется 32-разрядный формат их представления.

Для повышения производительности при выполнении специфических операций обработки сигналов в большинстве ЦПС реализуется Гарвардская архитектура с использованием нескольких шин для передачи адресов, команд и данных. В ряде ЦПС нашли применение также некоторые черты VLIW-архитектуры: совмещение в одной команде нескольку операций, обеспечивающих обработку имеющихся данных и одновременную загрузку = исполнительный конвейер новых данных для последующей обработки.

Архитектурой процессора называется комплекс его аппаратных и программных средств, предоставляемых пользователю. В это общее понятие входит набор программно-доступных регистров и исполнительных (операционных) устройств, система основных команд и способов адресации, объем и структура адресуемой памяти, виды и способы обработки прерываний.

Например, все модификации процессоров Pentium, Celeron, i486 и i386 имеют архитектуру IA-32 (Intel Architecture - 32 bit), которая характеризуется стандартным набором регистров, предоставляемых пользователю, общей системой основных команд и способов организации и адресации памяти, одинаковой реализацией защиты памяти и обслуживания прерываний.

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

Регистры общего назначения образуют РЗУ - внутреннюю регистровую память процессора. Состав и количество служебных регистров определяется архитектурой микропроцессора. Обычно в их состав входят:

• программный счетчик PC (или CS + IP в архитектуре микропроцессоров Intel);

• регистр состояния SR (или EFLAGS);

• регистры управления режимом работы процессора CR (Control Register);

• регистры, реализующие сегментную и страничную организацию памяти;

• регистры, обеспечивающие отладку программ и тестирование процессора.

Кроме того, различные модели микропроцессоров содержат ряд других специализированных регистров.

Функционирование процессора представляется в виде реализации регистровых пересылок - процедур изменения состояния этих регистров путем чтения-записи их содержимого. В результате таких пересылок обеспечивается адресация и выбор команд и операндов, хранение и пересылка результатов, изменение последовательности команд и режимов функционирования процессора в соответствии с поступлением нового содержимого в служебные регистры, а также все другие процедуры, реализующие процесс обработки информации согласно заданным условиям.

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

Структура микропроцессора определяет состав и взаимодействие основных устройств и блоков, размещенных на его кристалле. В эту структуру входят:

• центральный процессор (процессорное ядро), состоящее из устройства управления (УУ), одного или нескольких операционных устройств (ОУ);

• внутренняя память (РЗУ, кэш-память, блоки оперативной и постоянной памяти);

• интерфейсный блок, обеспечивающий выход на системную шину и обмен данными с внешними устройствами через параллельные или последовательные порты ввода/вывода;

• периферийные устройства (таймерные модули, аналого-цифровые преобразователи, специализированные контроллеры);

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

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

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

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

CISC(Complex Instruction Set Computer)-apxumeкmypa реализована во многих типах микропроцессоров, выполняющих большой набор разноформатных команд с использованием многочисленных способов адресации. Эта классическая архитектура процессоров, которая начала свое развитие в 1940-х годах с появлением первых компьютеров. Типичным примером CISC-процессоров являются микропроцессоры семейства Pentium. Они выполняют более 200 команд разной степени сложности, которые имеют размер от 1 до 15 байт и обеспечивают более 10 различных способов адресации. Такое большое многообразие выполняемых команд и способов адресации позволяет программисту реализовать наиболее эффективные алгоритмы решения различных задач. Однако при этом существенно усложняется структура микропроцессора, особенно его устройства управления, что приводит к увеличению размеров и стоимости кристалла, снижению производительности. В тоже время многие команды и способы адресации используются достаточно редко. Поэтому, начиная с 1980-х годов, интенсивное развитие получила архитектура процессоров с сокращенным набором команд (RISC-процессоры).

RISC (Reduced Instruction Set Computer)-архитектура отличается использованием ограниченного набора команд фиксированного формата. Современные RISC-процессоры обычно реализуют около 100 команд, имеющих фиксированный формат длиной 4 байта. Также значительно сокращается число используемых способов адресации. Обычно в RISC-процессорах все команды обработки данных выполняются только с регистровой или непосредственной адресацией. При этом для сокращения количества обращений к памяти RISC-процессоры имеют увеличенный объем внутреннего РЗУ - от 32 до нескольких сотен регистров, тогда как в CISC-процессорах число регистров общего назначения обычно составляет 8-16.

Обращение к памяти в RISC-процессорах используется только в операциях загрузки данных в РЗУ или пересылки результатов из РЗУ в память. При этом используется небольшое число наиболее простых способов адресации: косвенно-регистровая, индексная и некоторые другие. В результате существенно упрощается структура микропроцессора, сокращаются его размеры и стоимость, значительно повышается производительность.

Указанные достоинства RISC-архитектуры привели к тому, что во многих современных CISC-процессорах используется RISC-ядро, выполняющее обработку данных. При этом поступающие сложные и разноформатные команды предварительно преобразуются в последовательность простых RISC-операций, быстро выполняемых этим процес­сорным ядром. Таким образом, работают, например, последние модели микропроцессоров Pentium и К7, которые по внешним показателям относятся к CISC-процессорам. Использование RISC-архитектуры является характерной чертой многих современных микропроцессоров.

VLIW (Very Large Instruction Word)-арxитeктyра появилась относительно недавно — в 1990-х годах. Ее особенностью является использование очень длинных команд (до 128 бит и более), отдельные поля которых содержат коды, обеспечивающие выполне­ние различных операций. Таким образом, одна команда вызывает выполнение сразу нескольких операций параллельно в различных операционных устройствах, входящих в структуру микропроцессора. При трансляции программ, написанных на языке высокого уровня, соответствующий компилятор производит формирование «длинных» VLIW-команд, каж­дая из которых обеспечивает реализацию процессором целой процедуры или группы операций. Данная архитектура реализована в некоторых типах современных микропроцессоров (РА8500 компании «Hewlett-Packard», Itanium -совместная разработка «Intel» и « Hewlett-Packard», некоторые типы DSP - цифровых процессоров сигналов) и является весьма перспективной для создания нового поколения сверхвысокопроизводительных процессоров.

Кроме набора выполняемых команд и способов адресации важной архитектурной особенностью микропроцессоров является используемый вариант реализации памяти и организация выборки команд и данных. По этим признакам различаются процессоры с Принстонской и Гарвардской архитектурой. Эти архитектурные варианты были предложены в конце 1940-х годов специалистами соответственно Принстонского и Гарвардского университетов США для разрабатываемых ими моделей компьютеров.

Принстонская архитектура, которая часто называется архитектурой Фон-Неймана, характеризуется использованием общей оперативной памяти для хранения программ, данных, а также для организации стека. Для обращения к этой памяти используется общая системная шина, по которой в процессор поступают и команды, и данные. Эта архитектура имеет ряд важных достоинств. Наличие общей памяти позволяет оперативно перераспределять ее объем для хранения отдельных массивов команд, данных и реализации стека в зависимости от решаемых задач. Таким образом, обеспечивается возможность более эффективного использования имеющегося объема оперативной памяти в каждом конкретном случае применения микропроцессора. Использование общей шины для передачи команд и данных значительно упрощает отладку, тестирование и текущий контроль функционирования системы, повышает ее надежность. Поэтому Принстонская архитектура в течение долгого времени доминировала в вычислительной технике.

Однако ей присущи и существенные недостатки. Основным из них является необходимость последовательной выборки команд и обрабатываемых данных по общей системной шине. При этом общая шина становится «узким местом» (bottleneck - «бутылочное горло»), которое ограничивает производительность цифровой системы. Постоянно возрастающие требования к производительности микропроцессорных систем вызвали в последние годы все более широкое применение Гарвардской архитектуры при создании многих типов современных микропроцессоров.

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

Недостатки Гарвардской архитектуры связаны с необходимостью проведения большего числа шин, а также с фиксированным объемом памяти, выделенной для команд и данных, назначение которой не может оперативно перераспределяться в соответствии с требованиями решаемой задачи. Поэтому приходится использовать память большего объема, коэффициент использования которой при решении разнообразных задач оказывается более низким, чем в системах с Принстонской архитектурой. Однако развитие микроэлектронной технологии позволило в значительной степени преодолеть указанные недостатки, поэтому Гарвардская архитектура широко применяется во внутренней структуре современных высокопроизводительных микропроцессоров, где используется отдельная кэш-память для хранения команд и данных. В то же время во внешней структуре большинства микропроцессор­ных систем реализуются принципы Принстонской архитектуры.

Гарвардская архитектура получила также широкое применение в микроконтроллерах - специализированных микропроцессорах для управления различными объектами, рабочая программа которых обычно хранится в отдельном ПЗУ.

Во внутренней структуре современных высокопроизводительных микропроцессоров реализуется конвейерный принцип выполнения команд. При этом процесс выполнения команды разбивается на ряд этапов. На рис. 1.1, а приведен пример разбиения команды на шесть этапов ее выполнения:

1) выборка очередной команды (ВК);

2) декодирование выбранной команды (ДК);

3) формирование адреса операнда (ФА);

4) прием операнда из памяти (ПО);

5) выполнение операции (ВО);

6) размещение результата в памяти (РР).

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

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

Рис. 5. Реализация конвейерного исполнения команд при идеальной (а) и реальной (б) загрузке 6-ступенчатого конвейера

На рис. 5, б показан пример работы 6-ступенчатого конвейера при выполнении фрагмента реальной программы, когда отдельные ступени оказываются в состоянии ожидания (ОЖ) или простоя (ПР). Команда INC R2, которая увеличивает на 1 содержимое регистра R2, не требует выборки операндов из памяти и размещения в ней результата. Поэтому при ее выполнении реализуется состояние простоя (ПР) на ступенях конвейера, выполняющих микрооперации ФА, ПО, PP. Команда MOV (R2), R3 производит пересылку содержимого ячейки памяти, адресуемой содержимым регистра R2, в регистр R3. При ее выполнении реализуются состояния ожидания (ОЖ), пока в регистре R2 не будет получен результат предыдущей операции. Такты ожидания (ОЖ) вводятся также при выполнении команды сложения ADD R3, (R4) до получения необходимого значения опе­ранда в регистре R3. В результате введения состояний ожиданий и простоя реальная производительность процессора при выполнении данного фрагмента программы соста­вит 5/3 команд/такт, то есть будет в 1,7 раз меньше, чем в идеальном случае (рис. 5, б).

В современных высокопроизводительных микропроцессорах процедура выполнения команд может разбиваться на еще более мелкие этапы, чтобы успеть выполнить соответствующие микрооперации на каждой ступени за один такт, длительность которого при тактовой частоте более 1 ГГц составляет менее наносекунды. Поэтому в таких процессорах число ступеней конвейера достигает 10 и более. Например, в микропроцессорах Pentium 4 используется 20-ступенчатый конвейер.

Эффективность использования конвейера определяется типом поступающих команд. При поступлении однородных команд обеспечивается сокращение числа состояний простоя и ожидания в процессе их выполнения, в результате чего повышается производительность процессора. При использовании в программе разноформатных команд, содержащих различное количество байтов, число состояний простоя и ожидания, которые приходится вводить в процессе выполнения команд, значительно увеличивается. Поэтому принятый во многих RISC-процессорах стандартный 4-байтный формат команд обеспечивает существенное сокращение числа ожиданий и простоев конвейера, что позволяет значительно повысить производительность.

Другой причиной снижения эффективности конвейера являются команды условного ветвления. Если выполняется условие ветвления, то приходится производить перезагрузку конвейера командами из другой ветви программы, что требует выполнения дополнительных рабочих тактов и вызывает значительное снижение производительности. Поэтому одним из основных условий эффективной работы конвейера является сокращение числа его перезагрузок при выполнении условных переходов. Эта цель достигается с помощью реализации различных механизмов предсказания направления ветвления, которые обеспечиваются с помощью специальных устройств - блоков предсказания ветвления, вводимых в структуру процессора.

В современных микропроцессорах используются разнообразные способы предсказания ветвлений. Наиболее простой способ состоит в том, что процессор фиксирует результат выполнения предыдущих команд ветвления по данному адресу и считает, что следующая команда с обращением по этому адресу даст аналогичный результат. Данный способ предсказания предполагает более высокую вероятность повторного обращения к определенной команде, задаваемой данным условием ветвления. Для реализации этого способа предсказания ветвления используется специальная память ВТВ (Branch Target Buffer), где хранятся адреса ранее выполненных условных переходов. При поступ­лении аналогичной команды ветвления предсказывается переход к ветви, которая была выбрана в предыдущем случае, и производится загрузка в конвейер команд из соответ­ствующей ветви. При правильном предсказании не требуется перезагрузка конвейера и эффективность его использования не снижается. Эффективность такого способа предсказания зависит от емкости ВТВ и оказывается достаточно высокой: вероятность правильного предсказания составляет 80% и более. Повышение точности предсказания достигается при использовании более сложных способов, когда хранится и анализируется предыстория переходов - результаты нескольких предыдущих команд ветвления по данному адресу. В этом случае возможно определение чаще всего реализуемого направления ветвления, а также выявление чередующихся переходов. Реализация таких алгоритмов требует использования более сложных блоков предсказания, но при этом вероятность правильного предсказания повышается до 90-95%.

Возможность повышения производительности процессора достигается также при введении в структуру процессора нескольких параллельно включенных операционных устройств, обеспечивающих одновременное выполнение нескольких операций. Такая структура процессора называется суперскалярной. В этих процессорах реализуется параллельная работа нескольких исполнительных конвейеров, в каждый из которых поступает для выполнения одна из выбранных и декодированных команд. В идеальном случае число одновременно выполняемых команд равно числу операционных устройств, включенных в исполнительные конвейеры. Однако при выполнении реальных программ трудно обеспечить полную загрузку всех исполнительных конвейеров, поэтому на практике эффективность использования суперскалярной структуры оказывается несколько ниже. Современные суперскалярные процессоры содержат до 4 до 10 различных операционных устройств, параллельная работа которых обеспечивает выполнение за один такт в среднем от 2 до 6 команд.

ЗАКЛЮЧЕНИЕ

ЭВМ получили широкое распространение, начиная с 50-х годов. Прежде это были очень большие и дорогие устройства, используемые лишь в государственных учреждениях и крупных фирмах. Размеры и форма цифровых ЭВМ неузнаваемо изменились в результате разработки новых устройств, называемых микропроцессорами.

В данной работе объектом изучения послужили микропроцессоры ПК. Были раскрыты основные понятия, используемые в выбранной теме; дана классификация микропроцессоров и краткая характеристика их элементов; рассмотрена структура и основные характеристики микропроцессоров ПК. Будущее микропроцессорной техники связано сегодня с двумя новыми направлениями — нанотехнологиями и квантовыми вычислительными системами. Эти пока еще главным образом теоретические исследования касаются использования в качестве компонентов логических схем молекул и даже субатомных частиц: основой для вычислений должны служить не электрические цепи, как сейчас, а положение отдельных атомов или направление вращения электронов. Если "микроскопические" компьютеры будут созданы, то они обойдут современные машины по многим параметрам.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

https://studfiles.net/ — файловый архив студентов.

http://www.internet-law.ru — сайт юридической фирмы «Интернет-право». Использовался для поиска информации о ГОСТе.

http://pue8.ru/ — всё об электротехнике.

http://mirznanii.com/ — информация о разных науках.

http://dfe.petrsu.ru — кафедра информационно-измерительных систем и физической электроники.

http://www.yaklass.ru/ — образовательный проект Сколково.

https://poznayka.org/ — сайт знаний.

https://helpiks.org/ — интернет-помощник.