Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект МПТ.doc
Скачиваний:
10
Добавлен:
12.11.2019
Размер:
4.89 Mб
Скачать

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Национальный исследовательский ядерный университет МИФИ»

Саровский физико-технический институт

факультет информационных технологий и электроники

Кафедра №2 «Электроники»

Микропроцессорная техника

КОНСПЕКТ ЛЕКЦИЙ

г.Саров

2011г.

УДК 32.973

П34

П34

В.В. Писецкий «Микропроцессорная техника». Конспект лекций. СарФТИ НИЯУ МИФИ, Саров, 2011 г.

Конспект лекций посвящен изучению различных типов ядер МПС и устройств, применяемых в микропроцессорной технике. Последний раздел посвящен процессу отладки и инструментарию, используемому для комплексной отладки МПС. Конспект основан на лекциях, читаемым в СарФТИ НИЯУ МИФИ. Рекомендуется студентам, чья специализация связана с разработкой встраиваемых систем и написанию для них программного обеспечения.

© Писецкий В.В. 2011 г.

© СарФТИ НИЯУ МИФИ 2011 г.

ОГЛАВЛЕНИЕ

Раздел 1. Виды МПТ-средств, используемых в качестве ядра МПУ. 7

Раздел 2. Функциональная схема МПУ 20

2.1. Адресные пространства и их взаимодействие 20

2.1.1. Параллельные адресные пространства 21

2.1.2. Совмещенные адресные пространства 22

2.1.3. Смешанные адресные пространства 23

2.2. Расширенное адресное пространство. 25

2.2.1. Метод регистровых пар 27

2.2.2. Метод оконного доступа 28

2.2.3. Доступ с помощью сегментных регистров 30

Раздел 3. Структурная схема МПУ. 32

Раздел 4. Блоки питания МПУ 37

4.1. Общие требования 37

4.2. Общие вопросы электропитания и заземления 38

4.3. Гальваническая развязка 45

Раздел 5. Память МПУ. 48

5.1. Память программ МПУ 48

5.1.1. ПЗУ масочного типа 48

5.1.2. ППЗУ 48

5.1.3. УФППЗУ 49

5.1.4. ЭППЗУ 49

5.1.5. Flash-ROM 50

5.2. Память данных 50

5.3. Энергонезависимая память 51

5.3.1. Микросхемы памяти FRAM 51

5.3.2. Микросхемы памяти MRAM 55

Раздел 6. Схемотехническая реализация автомата 61

Раздел 7. Шины МПУ. 66

7.1. Шины микропроцессорной системы 68

7.2. Циклы обмена информацией 73

Раздел 8. Системы отладки МПУ 81

8.1. Основные понятия и термины 81

8.2. Процесс отладки МПУ 85

8.3. Функция средств отладки 88

8.3.1. Автоматизация программирования МПУ или разработки ПС. 88

8.3.2. Управление прототипом МПУ при комплексной отладке. 90

8.3.3. Контроль функционирования и регистрации состояния МПУ. 90

8.3.4 Запись отлаженных программных средств в БИС ППЗУ. 90

8.4. МПУ как объект отладки 91

8.5. Требования, предъявляемые к системе отладки 94

8.5.1. Требования невидимости 94

8.5.2. Требования к предоставляемому сервису 97

8.5.3. Требование прозрачности. 97

8.6. Режимы работы отлаживаемых МПУ. 98

8.6.1. Процессор контрольных точек (точек останова) 98

8.6.2. Трассировка. 99

8.6.3. Частичная эмуляция АС. 100

8.7. Инструментальные средства отладки 101

8.7.1. Общие сведения об отладочных средствах 101

8.7.2. Внутрисхемный эмулятор 104

8.7.3. Интегрированная среда разработки 106

8.7.4. Отладочный монитор 107

8.7.5. Эмуляторы ПЗУ 108

8.7.6. Встроенные средства отладки 111

СПИСОК ИЛЛЮСТРАЦИЙ

20

Рис 2.1. Параллельные адресные пространства ресурсов А и В 20

21

Рис 2.2. Совмещенные адресные пространства ресурсов А и В 21

22

Рис 2.3. Смешанные адресные пространства ресурсов А и В 22

25

Рис 2.4. Расширенное и непосредственно адресуемое адресные пространства. К=2N, где N – разрядность РОН 25

26

Рис 2.5. Метод регистровых пар в исходном варианте 26

27

Рис 2.6. Метод регистровых пар в современном варианте 27

28

Рис 2.7. Метод оконного доступа 28

29

Рис 2.8. Доступ с помощью сегментных регистров 29

29

Рис 2.9. Вычисление физического адреса с помощью сегментного регистра 30

31

Рис 3.1. Пример структурной схемы МПУ 31

33

Рис 3.2. Пример структурной схемы ОЭВМ MSP430 33

34

Рис 3.3. Пример структурной схемы ОЭВМ архитектуры MCS-51 34

35

Рис 3.4. Пример структурной схемы ПСНК 8051F020 35

36

Рис 4.1. Пример протокола включения и выключения блока питания 36

38

Рис 4.2. Типовая схема сетевого фильтра блока питания 38

Рис. 4.3. Правильное подключение ПУ 39

41

Рис. 4.4. Появление разности потенциалов при двухпроводном кабеле питания 41

42

Рис. 4.5. Подключение незаземленного устройства 42

51

Рис 5.1. Кристаллическая решетка BaTiO3 52

52

Рис 5.2 FRAM ячейка из двух транзисторов и двух конденсаторов 52

53

Рис 5.2 FRAM ячейка из двух транзисторов и двух конденсаторов 53

60

Рис. 6.1. Функциональная схема автомата Мура 60

Рис. 6.2. Модифицированная схема автомата Мура 61

Рис. 6.3. Регистрация автоматом сигналов различной длительности 61

Рис. 6.4. Пример цикла с ожиданиями 62

Рис. 6.5. Активация автомата по наступлению события 63

63

Рис. 6.6. Схема автомата Мура с таблицей в ПЗУ 63

Рис. 6.7. Схема автомата с небольшим количеством состояний и выходов 64

70

Рис. 2.1. Мультиплексирование шин адреса и данных. 70

71

Рис. 7.2. Синхронный обмен и асинхронный обмен. 71

73

Рис. 7.3. Цикл чтения на магистрали Q-bus. 73

73

Рис. 7.4. Цикл записи на магистрали Q-bus. 73

Рис. 7.5. Цикл «ввод-пауза-вывод» на магистрали Q-bus. 75

76

Рис. 7.6. Цикл чтения из УВВ на магистрали ISA. 76

76

Рис. 7.7. Цикл записи в УВВ на магистрали ISA. 76

78

Рис. 7.8. Временные диаграммы чтения и записи для синхронной демультиплексированной шины. 78

79

Рисунок 7.9. Временные диаграммы чтения и записи для синхронной мультиплексированной шины 79

Рис 8.1. Система отладки МПУ (общий случай) 81

Рис 8.2. Система отладки МПУ (расширенный случай) 83

Рис 8.3. Этапы процесса отладки 84

Рис 8.4. Перераспределение адресного пространства памяти системы (мапмепинг) 100

Рис 8.5. Структурная схема эмулятора ПЗУ 108

Раздел 1. Виды мпт-средств, используемых в качестве ядра мпу.

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

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

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

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

Использование электроники – взамен механики для расчетов и обработки данных, не главное отличие ЭВМ от их механических предшественников. ЭВМ имели две отличительные особенности, которыми предыдущие машины не обладали.

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

Другая же особенность - способность хранить информацию в специальной памяти.

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

Использование электронной лампы в качестве основного элемента ЭВМ создавало множество проблем. Из-за того, что высота стеклянной лампы – 7 см., машины были огромных размеров. Каждые 7-8 минут одна из ламп выходила из строя, а так как в компьютере их было 15 - 20 тысяч, то для и замены поврежденной лампы требовалось очень много времени. Кроме того, вакуумные лампы требовали подогрева катода, поэтому они выделяли огромное количество тепла, и для эксплуатации такого компьютера требовались специальные системы охлаждения.

Тепло доставляло и другие неудобства – из-за него постоянно окислялись контакты многочисленных разъемов и, как гласят легенды, в комплекте к такой ЭВМ поставлялась киянка (деревянный молоток) – для «отстукивания модулей с целью устранения контактной ошибки».

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

Третья легенда породила термин применяемый сейчас, правда, программистами. Одной из причин частой замены ламп считалась такая: их тепло и свечение привлекали жуков, которые залетали внутрь машины и вызывали короткое замыкание. Соответственно, устранение такого сбоя – «обезжучивание» (Debugs). Разобраться из-за чего машина выдала неправильный результат – из-за сигнала, прошедшего «куда не надо» благодаря жучку или из-за некорректной программы было непросто. Отсюда и произошел термин "жучки" (bugs), под которым подразумевают ошибки в программных и аппаратных средствах компьютеров, и название программы Debuger.

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

Примерами машин I-го поколения могут служить легендарные Mark 1, ENIAC, EDSAC.

ENIAC содержала 17468 ламп и более 80000 других компонентов. При работе ENIAC потреблял 150 КВт электроэнергии. Фактически ENIAC представлял собой механический арифмометр, в котором механические части заменены на электронные эквиваленты. Для запоминания каждого 20-разрядного числа требовалось 10 колец из 10 триггеров. На это уходило 100 сдвоенных ламп!

Harvard Mark II, построенный в сентябре 1947 года практически представлял собой большой калькулятор. В качестве памяти, хранившей 50 чисел с плавающей точкой, использовалась схема на реле. На них же было сделано арифметико-логическое устройство. Именно в Harvard Mark II забрался таракан, вызвав сбой при проведении операций с плавающей точкой. Обнаруживший его техник записал в лабораторном журнале: «Сегодня обнаружен первый настоящий баг». К записи он приложил бережно собранные останки насекомого.

Вторым этапом, с середины 50-х до середины 60-х, стало внедрение транзисторов. Транзисторы монтировались уже на печатные платы, монтируемые в стойки. Как и ранее, обычно ЭВМ состояла из нескольких стоек. За счет сокращения длинны внутренних линий связи возросло быстродействие, повысилась надёжность. Отсутствие нитей накала в транзисторах привело к существенному уменьшению энергопотребления машиной.

К середине 60-х годов были созданы более компактные внешние устройства, что позволило фирме Digital Equipment выпустить в 1965 г. первый мини-компьютер PDP-8 размером с холодильник и стоимостью всего лишь около 20 тысяч долларов, что, естественно, не соизмеримо с размерами и стоимостью ЭВМ ENIAC.

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

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

Примерами транзисторных компьютеров могут послужить "Стретч" (Англия), "Атлас" (США). В то время СССР шел в ногу со временем и выпускал ЭВМ мирового уровня (например - "БЭСМ-6").

Третьим этапом, наступившим в середине 60-х годов, стало использование микросхем.

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

Пример этого можно продемонстрировать переводом «БЭСМ-6» на ИС для создания прототипа ЭВМ «ЭЛЬБРУС». Замена транзисторных блоков на ИС позволила, без изменения архитектуры, увеличить быстродействие втрое!

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

Четвёртый этап начинается в 70-х годах.

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

В 1969 году Intel (тогда еще специализировавшаяся на производстве микросхем памяти) получила от японской фирмы Busicom заказ на разработку набора микросхем для семейства программируемых калькуляторов. Задание предполагало использование в калькуляторе не менее двенадцати микросхем. В то время все логические микросхемы разрабатывались специально под продукт заказчика. Такой подход ставил барьер на пути широкого распространения любой логической микросхемы.

Но сотрудникам Intel Тэду Хоффу, Федерико Феджину и Стэну Мэйзору удалось спроектировать единую микросхему – центральный процессор ЭВМ общего назначения. Концепцию процессора общего назначения предложил Хофф. Он же разработал архитектуру универсальной микросхемы, которая пользовалась командами, записанными в ее полупроводниковой памяти. Это устройство, входившее в качестве основного в набор из четырех микросхем, не только соответствовало техническому заданию фирмы Busicom, но и без каких-либо переделок могло быть использовано и в других приборах.

В ноябре 1971 года Intel официально объявила о создании центрального процессора – микросхемы i4004. Но правами на эту микросхему владел заказчик – Busicom. По настоянию Хоффа и его сотрудников компания Intel выкупила права на микросхему. Она заплатила 60 тысяч долларов, полученные на проведение работ и предложила продавать эту микросхему по более низкой цене.

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

Это был настоящий прорыв, ибо МП Intel-4004 размером менее 3 см был производительнее гигантской машины ENIAC. Правда, работал он гораздо медленнее и мог обрабатывать одновременно только 4 бита информации (процессоры больших ЭВМ обрабатывали 16 или 32 бита одновременно), но и стоил первый МП в десятки тысяч раз дешевле.

Микропроцессор Intel 4004 - 4-разрядный, содержал 2300 транзисторов, работал на тактовой частоте 92,6 кГц и стоил 300 долл. Он располагал весьма ограниченными средствами ввода/вывода, а в системе команд отсутствовали операции логической обработки данных (И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ) - их приходилось реализовывать с помощью специальных подпрограмм. МП i4004 не имел возможности останова (команды HALT) и обработки прерываний.

Развивая это направление, 1 апреля 1972 г. фирма Intel начала поставки первого в отрасли 8-разрядного прибора i8008. Кристалл изготавливался по р-канальной МОП-технологии с проектными нормами 10 мкм и содержал 3500 транзисторов. Процессор работал на частоте 500 кГц при длительности машинного цикла 20 мкс (10 периодов задающего генератора).

В отличие от своих предшественников МП имел архитектуру ЭВМ принстонского типа, а в качестве памяти допускал применение комбинации ПЗУ и ОЗУ, система команд насчитывала 65 инструкций. МП мог адресовать память объемом 16 Кбайт. Его производительность по сравнению с четырехразрядными МП возросла в 2,3 раза. В среднем для сопряжения процессора с памятью и устройствами ввода/вывода требовалось около 20 схем средней степени интеграции.

Спустя 2 года, 1 апреля 1974 фирма Intel представила МП I8080. Благодаря использованию технологии с проектными нормами 6 мкм, на кристалле удалось разместить 6 тыс. транзисторов. Тактовая частота процессора была доведена до 2 Мгц, а длительность цикла команд составила уже 2 мкс. Объем памяти, адресуемой процессором, был увеличен до 64 Кбайт. За счет использования 40-выводного корпуса удалось разделить шины адреса и данных, общее число микросхем, требовавшихся для построения системы в минимальной конфигурации сократилось до 6.

Новое в архитектуре МП - использование многоуровневой векторной системы прерываний. Это техническое решение позволило довести общее число источников прерываний до 256 (до появления БИС контроллеров прерываний схема формирования векторов прерываний требовала применения до 10 дополнительных ИС средней интеграции). В i8080 появился механизм прямого доступа в память (ПДП) (как ранее в универсальных ЭВМ IBM System 360 и др.).

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

Традицией компании, начиная с первого кристалла, стал выпуск не отдельного чипа ЦП, а семейства БИС, рассчитанного на совместное использование.

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

К первым можно отнести линейку, начинающуюся с 16-разрядного МП 8086, заложившего основы архитектуры всех современных настольных процессоров. Из-за распространённости 8-разрядных модулей памяти параллельно с ним был выпускалась и упрощенная версия 8086 - МП 8088 с 8-разрядной шиной памяти. В следующем МП этой линейки - процессоре 80286 появился защищённый режим с 24-битной адресацией, позволявший использовать до 16 Мб памяти. Процессор Intel 80386 появился в 1985 году и привнёс улучшенный защищённый режим, 32-битную адресацию, позволившую использовать до 4 Гб оперативной памяти и поддержку механизма виртуальной памяти.

Параллельно с этой линейкой появились устройства, содержащие в себе не только процессор, но и некоторые устройства ввода/вывода. Такое объединение позволяло строить достаточно простые аппаратно управляющие системы. Эта ветка устройств получила название «однокристальные ЭВМ» - ОЭВМ (англоязычный термин – «микроконтроллер»). Характерная особенность этих устройств – мощная система команд условного перехода, обусловленная задачами управления, при сравнительно слабом наборе арифметических команд.

Линейку открыло 8-разрядное семейство MCS-48. ОЭВМ этого семейства имели 64 байта внутреннего ОЗУ (к которым можно было добавить 2Кб внешнего ОЗУ). Тактовая частота ОЭВМ семейства ограничена 6 Мгц, а длительность цикла команд - 2 мкс. ОЭВМ адресовала 2 Кб памяти программ (при использовании механизма переключения страниц – 4 Кб). Из арифметических команд присутствовали только команды сложения и вычитания. ОЭВМ этого семейства имели 3 байтовых параллельных порта и таймер.

Дальнейшим успешным развитием направления ОЭВМ стало появление семейства MCS-51. ОЭВМ этого семейства имели 128 байт внутреннего ОЗУ (к которым можно было добавить 64 Кб внешнего ОЗУ). Тактовая частота ОЭВМ семейства ограничена 12 Мгц, а длительность цикла команд - 1 мкс. ОЭВМ адресует 64 Кб памяти программ. Расширился список арифметических команд, добавились команды умножения и деления. ОЭВМ этого семейства имеют 3 байтовых параллельных порта, 2 таймера и последовательный приемопередатчик. «Наследник» этого семейства - семейство MCS-52 и его многочисленные клоны других фирм-производителей, кроме всего перечисленного (что является обязательным) имеют ещё более разнообразный набор встроенных периферийных устройств.

Параллельно с этим развивалось и ветвь 16-разрядных ОЭВМ 8096, 80196, 80296 и др.

На настоящий момент в качестве ядра МПУ используются следующие виды МПТ-устройств:

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

2. Однокристальные ЭВМ (ОЭВМ, МК, MCS). Используются для создания встроенных систем управления устройствами (в том числе – механическими), для которых не требуется значительная вычислительная мощность.

3. Цифровые процессоры обработки сигнала (ЦПОС, ЦСП, DSP). Используются для однотипной цифровой обработки непрерывного потока данных (видеопоток и т.д.).

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

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

6. Встраиваемый процессор. В микросхеме ПЛИС (программируемая логическая интегральная схема) создается процессор и необходимое оборудование.

Ядра МПУ по архитектуре разделяются на:

Конвейерная архитектура

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

После освобождения k-й ступени конвейера она сразу приступает к работе над следующей командой. Если предположить, что каждая ступень конвейера тратит единицу времени на свою работу, то выполнение команды на конвейере длиной в n ступеней займёт n единиц времени, однако в самом оптимистичном случае результат выполнения каждой следующей команды будет получаться через каждую единицу времени.

Факторы, снижающие эффективность конвейера:

1. Простой конвейера, когда некоторые ступени не используются (напр., адресация и выборка операнда из ОЗУ не нужны, если команда работает с регистрами).

2. Ожидание: если следующая команда использует результат предыдущей, то последняя не может начать выполняться до выполнения первой (это преодолевается при использовании внеочередного выполнения команд — out-of-order execution).

3. Очистка конвейера при попадании в него команды перехода (эту проблему удаётся сгладить, используя предсказание переходов).

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

Суперскалярная архитектура

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

CISC-процессоры

CISC-процессор (Complex instruction set computer) — это процессор с полным (или завершенным) набором команд. Время выполнения таких команд существенно различается. Более того, время выполнения одной и той же команды может различаться в зависимости от использованной в ней адресации.

RISC-процессоры

RISC-процессоры (Reduced instruction set computer) — это процессор с упрощённым набором команд. В литературе слово «reduced» нередко переводят как «сокращённый». Архитектура процессоров, построенная на основе упрощённого набора команд, характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. Ещё одна характерная особенность этой архитектуры – большое количество регистров общего назначения.