1 Условные обозначения в столбце «Состав команд»: «ММХ +» означает, что имеется несколько дополнительных 32-битовых инструкций группы SSE (Streaming SIMD Extention). В столбце кэш символ F у кэш-памяти уровня L2 означает, что память работает на частоте процессора; обозначение F/2 — на половинной частоте процессора.
Следует знать, что:
□ у микропроцессоров 80386, 80486 есть модификации с буквами SX, DX, SL и т. д., отличающиеся от базовой модели разрядностью шины, тактовой частотой, надежностью, габаритами, потреблением энергии, амплитудой напряжения и другими параметрами;
□ микродроцессоры Pentium, Pentium II, Pentium III имеют много различных модификаций, некоторые из них будут названы далее;
□ число элементов — это количество элементарных полупроводниковых переходов, размещенное в интегральной схеме МП. Технология обычно характеризуется размером элемента в микронах (микронная технология).
Следует также знать, что:
□ микропроцессоры 80486DX и выше имеют встроенный математический сопроцессор, могут работать с умножением внутренней частоты. С увеличенной частотой работают только внутренние схемы МП, все внешние по отношению к МП схемы, в том числе расположенные и на системной плате, работают с обычной частотой;
□ у МП 80286 и выше конвейерное выполнение команд. В МП 286 предусмотрены регистры для очереди команд общим размером 6 байтов, в МП 486 — 16 байтов и т. д. Конвейерное выполнение команд — это одновременное выполнение разных тактов последовательных команд в разных частях МП при непосредственной передаче результатов из одной части МП в другую. Конвейерное выполнение команд увеличивает эффективное быстродействие ПК в 2-5 раз;
□ у МП 80286 и выше есть возможность работы в вычислительной сети;
Глава 5. Микропроцессоры и системные платы
□ у МП 80286 и выше имеется возможность многозадачной работы (многопро-граммность) и сопутствующая ей защита памяти. Современные микропроцессоры имеют два режима работы.
О реальный (однозадачный, Real Address Mode), в котором возможно выполнение только одной программы и непосредственно адресоваться могут только 1024 + 64 Кбайт основной памяти компьютера, а остальная Память (расширенная) доступна лишь при подключении специальных драйверов, поддерживается операционной системой DOS;
О защищенный (многозадачный, Protected Virtual Address Mode), обеспечивающий выполнение сразу нескольких программ, непосредственную адресацию и прямой доступ (без дополнительных драйверов) к расширенной основной памяти. Предоставляется непосредственный доступ к памяти емкостью 16 Мбайт для МП 286; 4 Гбайт для процессоров 386, 486, Celeron; 100 Гбайт для МП Pentium Xeon и 64 Гбайт для остальных процессоров Pentium, а при страничной организации памяти — к 16 Тбайт виртуальной памяти для каждой задачи. В этом режиме осуществляется автоматическое распределение памяти между выполняемыми программами и соответствующая ее защита от обращений со стороны чужих программ. Защищенный режим поддерживается операционными системами Windows, OS/2, UNIX и т. д.
О в МП 80386 и выше встроена поддержка системы виртуальных машин. Система виртуальных машин является дальнейшим развитием режима многозадачной работы, при котором каждая задача может выполняться под управлением своей операционной системы, то есть практически в одном МП моделируется как бы несколько компьютеров, работающих параллельно и имеющих разные операционные системы;
О у МП 80486 и выше имеется поддержка кэш-памяти 2-х уровней (L1 и L2);
О у МП 80486 и выше имееются RISC-элементы, позволяющие выполнять короткие операции за 1 такт.
Микропроцессоры Pentium
Микропроцессоры 80586 (Р5) более известны по их товарной марке Pentium, которая запатентована фирмой Intel (МП 80586 других фирм имеют иные обозначения: К5 у фирмы AMD, Ml у фирмы Cyrix и т. д.). Эти микропроцессоры имеют пятиступенную конвейерную структуру, обеспечивающую многократное совмещение тактов выполнения последовательных команд (возможно независимое выполнение сразу двух простых команд), и кэш-буфер для команд условной передачи управления, позволяющий предсказывать направление ветвления программ; по эффективному быстродействию они приближаются к RISC МП, выполняющим каждую команду как бы за один такт. Процессоры Pentium имеют 32-разрядную адресную шину и 64-разрядную шину данных. Обмен данными с системой может выполняться со скоростью 1 Гбайт/с.
У всех МП Pentium имеется встроенная кэш-память, отдельно для команд, отдельно для данных по 8-16 Кбайт, и встроенный контроллер кэш-памяти 2-го уровня (что обеспечивает работу последней на внутренней частоте МП); имеются специализированные конвейерные аппаратные блоки сложения, умножения
Микропроцессоры
и деления, существенно ускоряющие выполнение операций с плавающей запятой. Удачные архитектурные решения МП Pentium обусловили то, что производительности микропроцессоров 486DX4-120 и Pentium-60 приблизительно одинаковы (то есть за счет архитектуры производительность увеличилась в два раза).
Микропроцессоры Pentium Pro
В сентябре 1995 года прошли презентацию и выпущены МП шестого поколения 80686 (Р6), торговая марка Pentium Pro. Микропроцессор состоит из двух кристаллов: собственно МП и кэш-памяти. Но он не полностью совместим с просто Pentium и, в частности, требует специальную системную плату. Pentium Pro прекрасно работает с 32-битовыми приложениями, а в 16-битовых иногда даже несколько проигрывает просто Pentium. Новые схемотехнические решения обеспечивают для ПК более высокую производительность. Часть этих новшеств может быть объединена понятием «динамическое исполнение» (сгулаппс execution), что, в первую очередь, означает наличие многоступенчатой суперконвейерной структуры (superpipelining), предсказания ветвлений программы при условных передачах управления (multiple branch prediction) и исполнение команд по предполагаемому пути ветвления (speculative execution).
В программах решения многих задач, особенно экономических, содержится большое число условных передач управления. Если процессор может заранее предсказывать направление перехода (ветвления), то производительность его работы значительно повысится за счет оптимизации загрузки вычислительных конвейеров. Тем не менее следует сказать, что если путь ветвления предсказан неверно, процессор должен сбросить полученные результаты, очистить конвейеры и загрузить нужные команды заново, что требует достаточно большого числа тактов. В процессоре Pentium Pro вероятность правильного предсказания 90%, против 80% у МП Pentium.
Кэш-память емкостью 256-512 Кбайт — обязательный атрибут высокопроизводительных систем на процессорах Pentium. Однако у них встроенная кэш-память имеет небольшую емкость (16 Кбайт), а основная ее часть находится вне процессора на материнской плате. Поэтому обмен данными с ней происходит не на внутренней частоте МП, а на частоте тактового генератора, которая обычно в 2-5 раз ниже, что снижает общее быстродействие компьютера. В МП Pentium Pro есть и кэш память 1-го уровня (по 8 Кбайт для команд и данных) и кристалл кэшпамяти 2-го уровня емкостью 256 или 512 Кбайт, расположенный тоже на плате самого микропроцессора и работающий на внутренней частоте МП.
Микропроцессоры Pentium ММХ и Pentium II
В январе и в июне 1997 года прошли презентацию модернизированные для работы в мультимедийной технологии микропроцессоры Pentium и Pentium Pro, получившие торговые марки соответственно Pentium ММХ (ММХ — MultiMedia eXtention) и Pentium П. МП Pentium ММХ содержит дополнительные 51 команд, ориентированные на обработку аудио- и видеоинформации, увеличенную вдвое (до 32 Кбайт) кэш-память, дополнительные восемь 64-битовых регистров, новый блок предсказания ветвлений, заимствованный у МП Pentium Pro, и т. д. Вследствие этого у него на 1 000 000 транзисторных элементов больше, чем у МП Pentium.
Глава 5. Микропроцессоры и системные платы
Для эффективного использования этих микропроцессоров во все старые программы (в том числе и в операционные системы Windows 95, Windows NT) необходимо включить согласующие программные фрагменты; правда, и без них МП Pentium ММХ несколько производительнее просто МП Pentium. При выполнении обычных приложений Pentium ММХ на 10-15% быстрее Pentium, а при работе мультимедийных приложений с использованием новых 57 команд он уже эффективнее на 30% (для сравнения: МП Pentium Pro опережает МП Pentium при выполнении обычных приложений примерно на 20%). Программы, написанные с учетом специфики Pentium ММХ, не будут работать на ПК с обычным МП Pentium. Для МП Pentium ММХ требуется системная плата с разъемом Socket 7, с новой BIOS, поддерживающей ММХ, и с двумя напряжениями питания (3,5 и 2,8 В).
МП Pentium II имеет иную конструкцию, нежели все остальные МП, в частности, он выполнен в виде небольшой платы-картриджа (корпус SECC), на которой размещены сам процессор (содержащий 7,5 млн транзисторов против 5,5 млн в МП Pentium Pro) и четыре микросхемы кэш-памяти 2-го уровня, общим объемом 512 Кбайт. Кэш-память 1-го уровня, находящаяся в микросхеме самого процессора, имеет емкость 32 Кбайта против 16 Кбайт, имевшихся в МП Pentium Pro, но кэш-память 2-го уровня работает не на внутренней частоте МП, а на вдвое меньшей частоте.
Важным отличием Pentium II является архитектура двойной независимой шины (первые варианты введения такой шины были уже у МП Pentium Pro). Процессор обменивается данными с кэшем L2 по специализированной высокоскоростной шине (иногда называемой backside — задней), отделенной от системной шины (frontside — передней). Системная шина работает на частоте материнской платы, и это существенно снижает эффективное быстродействие компьютера. Наличие же backside-шины ускоряет обмен с кэш-памятью.
МП Pentium II поддерживает двухпроцессорную конфигурацию ПК. В МП Pentium Pro и Pentium II появилась качественно новая перспектива: начали внедряться так называемые инструкции SIMD (Single Instruction Multiply Data — сравните со структурами многопроцессорных систем), в которых одно и то же действие совершается над многими данными (эта технология получит развитие в следующих моделях МП). МП производится на основе технологии 0,35 мкм и использует напряжение питания 2,8 В. Для него, естественно, требуется иная системная плата, чем для всех других Pentium. Микропроцессоры Pentium II имеют много модификаций: Klamath, Deschutes, Katmai, Tanga; МП средней группы Celeron — Covington, Mendocino, Dixon.
Для более дешевых компьютеров предложили облегченный вариант процессора, названный Celeron.Первые процессоры Celeron имели частоты 266 и 300 МГц. Вторичный кэш исключили, что заметно отразилось на производительности ПК (системные платы с разъемом Slot 1 вторичного кэша не имеют), и ПК на их основе оказались малоэффективными. Тогда были выпущены процессоры Celeron A,которые имеют небольшой (128 Кбайт) вторичный кэш, установленный на плате
Микропроцессоры
МП и работающий уже на полной частоте МП. Эти процессоры, известные также под названием Mendocino, стали очень популярными.
Кроме широко известных особенностей вторичного кэша (либо его нет, либо 128 Кбайт) процессор Celeron имеет следующие отличия от Pentium II:
□ разрядность шины адреса сокращена с 36 до 32 битов (адресуемая память — 4 Гбайт);
□ несколько ослаблены процедуры контроля достоверности преобразования информации;
□ Celeron предназначен только для однопроцессорных конфигураций.
Процессоры Celeron А являются самыми популярными из недорогих компьютеров и в настоящее время. Большинство МП Pentium II, в том числе и Celeron A, поддерживают частоту шины системной платы 100, 133 и более МГц (предыдущие модели — только 66 МГц).
Микропроцессоры Pentium III
Новинка 1999 года — процессоры Pentium III(Coppermine) — являются дальнейшим развитием Pentium II. Их главным отличием является основанное на новом блоке 128-разрядных регистров расширение набора SIMD-инструкций, ориентированных на форматы данных с плавающей запятой — SSE (Streaming SIMD Extensions). По возможностям мультипроцессорных конфигураций эти процессоры аналогичны своим предшественникам Pentium II.
Кэш 2-го уровня у МП Pentium III имеет размер 256 Кбайт, работает на полной частоте МП и обслуживается быстродействующей backside-шиной, что во много раз ускоряет как работу с кэшем, так и производительность ПК в целом. МП Pentium III предназначены для работы с материнскими платами, имеющими чипсеты (набор микросхем, связывающих процессор с остальной системой) Intel: 440ВХ, 440ZX, 440GX, 810, 815, 820, 840 и более новые; поддерживают частоту шины материнской платы 100, 133, 150 МГц и выше. «Простые» Pentium III устанавливаются в Slot 1, Pentium IIIXeon — в Slot 2. Процессоры Pentium III Xeon (и последующие модели Tanner, Cascades) являются продолжением линии МП Pentium Pro и отличаются увеличенным кэшем 2-го уровня (512, 1024 и 2048 Кбайт), работающим на полной частоте МП.
Микропроцессоры Pentium 4
Последняя на 2001 год модификация МП Pentium — Pentium 4.Она предназначена для высокопроизводительных компьютеров, в первую очередь серверов, рабочих станций класса high-end и мультимедийных игровых ПК. Рассмотрим основные особенности Pentium 4.
Добавлены 144 новые потоковые инструкции, расширяющие набор SIMD-инструкций, ориентированных на форматы данных с плавающей запятой — SSE (Streaming SIMD Extensions). Модуль вычислений с плавающей запятой и потоковый модуль оптимизированы для работы с видео- и аудиопотоками, ЗЭ-тех-нологиями.
Глава 5. Микропроцессоры и системные платы
Имеется кэш 2-го уровня размером 256 Кбайт; он работает на полной частоте МП, использует встроенную программу коррекции ошибок и обслуживается быстродействующей с разрядностью 256 битов (32 байта) шиной, работающей на частоте МП. Это для Pentium 4 с частотой 1500 МГц, например, обеспечивает скорость обмена с кэшем 48 Гбайт/с.
Есть возможность работы с системной шиной с эквивалентной частотой 400 МГц (Quard-Pumped Bus no 100 МГц), что обеспечивает скорость обмена 3,2 Гбайт/с.
Вновь улучшена система «динамического исполнения» (dynamic execution), что, в первую очередь, связано с наличием 20-ступенной (у МП Pentium III конвейер имел 10 ступеней) суперконвейерной структуры (superpipelining), лучшего предсказания ветвлений программы при условных передачах управления (branch prediction) и параллельного «по предположению» (опережающего, спекулятивного) исполнения команд по нескольким предполагаемым путям ветвления (speculative execution). Поясним это. Динамическое исполнение позволяет процессору предсказывать порядок выполнения инструкций при помощи технологии множественного предсказания ветвлений, которая прогнозирует прохождение программы по нескольким ветвям. Это оказывается возможным, поскольку в процессе исполнения инструкции процессор просматривает программу на несколько шагов вперед. Технология анализа потока данных позволяет проанализировать программу и составить ожидаемую последовательность исполнения инструкций независимо от порядка их следования в тексте программы. И, наконец, опережающее выполнение повышает скорость работы программы за счет выполнения нескольких инструкций одновременно, по мере их поступления в ожидаемой последовательности — то есть по предположению (интеллектуально). Поскольку выполнение инструкций происходит на основе предсказания ветвлений, результаты сохраняются как «интеллектуальные» с последующим удалением тех, которые вызваны промахами в предсказании. На конечном этапе порядок инструкций и результатов их выполнения восстанавливается до первоначального.
Используется новая микроархитектура, базирующаяся на двух параллельных 32-битовых конвейерах и поддерживающая технологию поточной обработки Hyper Pipelined. Это позволило сделать эффективным длинный конвейер. Суть в том, что при длинном конвейере в задачах с частыми условными переходами его эффективность снижается. Два параллельных конвейера снижение эффективности уменьшают. Теперь реальна ситуация, когда в каждый момент времени одна инструкция загружается, другая декодируется, для третьей (или нескольких) формируется пакет данных, четвертая инструкция (или несколько) исполняется, для пятой записывается результат. И если при строго последовательном исполнении инструкций даже самые короткие операции исполнялись за 5 тактов, то при такой поточной обработке многие инструкции могут быть выполнены за такт.
Новая технология ускоренных вычислений (Rapid Execution Engine) использует два быстрых, работающих на удвоенной частоте процессора АЛУ, выполняющие короткие арифметические и логические операции за 0,5 такта, и третье медленное АЛУ, исполняющее длинные операции (умножение, деление и т. д.).
Микропроцессоры
Процессор имеет площадь кристалла 217 мм2, потребляет 52 Вт при частоте 1500 МГц, содержит 42 миллиона транзисторов. На базе Pentium 4 можно создать высокоэффективную ММХ-систему, но для этого необходимо наличие:
□ программного обеспечения, ориентированного на использование дополнитель ных команд этого процессора;
□ системной платы с чипсетами, поддерживающими данные микропроцессоры. В 2002-2003 годах корпорация Intel представила:
□ семейство МП Pentium HI Tualatinна основе технологии 0,13 мкм с улучшенными по сравнению с Coppermine характеристиками (тактовые частоты до 1266 МГц, кэш-память L2 емкостью до 512 Кбайт, работающая на частоте микропроцессора, с поддержкой частоты системной шины (FSB) до 133 МГц). Выпускаются МП 3-х видов: для портативных и настольных компьютеров и для серверов;
□ МП Celeronс тактовыми частотами 2,3 и 2,4 ГГц,изготовленные по технологии 0,13 мкм и поддерживающие FSB = 400 МГц;
□ новое поколение МП Pentium 4,поддерживающее FSB = 800 МГц с собственными тактовыми частотами 3,0 и 4,3 ГГц и системный чипсет i875для этих МП;
□ технологию Intel Centrinoдля портативных компьютеров с компонентами: МП Pentium M,системный чипсет i855и средства беспроводного доступа по протоколу IEEE 802.11b - Intel PRO/Wireless.
Intel обещала выпустить также другие МП: в 2003 году по технологии 0,09 мкм, а в 2005 году — по технологии 0,065 мкм и довести тактовую частоту МП до 20 ГГц.
Микропроцессоры Over Drive
Интерес представляют МП Over Drive, по существу являющиеся своеобразными сопроцессорами, обеспечивающими для МП 80486 режимы работы и эффективное быстродействие, характерные для МП Pentium, а для МП Pentium — увеличение их производительности (в частности, Over Drive 125, 150 и 166 соответственно для Pentium 75, 90 и 100, увеличивающие их внутреннюю частоту до указанных для Over Drive величин).
Микропроцессоры типа RISC
Микропроцессоры типа RISC содержат только набор простых, чаще всего встречающихся в программах команд. При необходимости выполнения более сложных команд в микропроцессоре производится их автоматическая сборка из простых. В этих МП все простые команды имеют одинаковый размер и на выполнение каждой из них тратится 1 машинный такт (на выполнение даже самой короткой команды из системы CISC обычно тратится 4 такта). Один из первых МП типа RISC — ARM (на его основе был создан ПК IBM PC RT): 32-разрядный МП,
Глава 5. Микропроцессоры и системные платы
имеющий 118 различных команд. Современные 64-разрядные RISC-микропроцессоры выпускаются многими фирмами: Apple (PowerPC), IBM (PPC), DEC (Alpha), HP (PA), Sun (Ultra SPARC) и т. д.
Микропроцессоры PowerPC(Performance Optimized With Enhanced PC) весьма перспективны и уже сейчас широко применяются в машинах-серверах и в ПК типа Macintosh. Микропроцессоры PowerPC имеют тактовую частоту до нескольких ГГц, а микропроцессоры Alpha — тактовую частоту больше 2 ГГц. Микропроцессоры типа RISC характеризуются очень высоким быстродействием, но они программно не совместимы с CISC-процессорами: при выполнении программ, разработанных для ПК типа IBM PC, они могут лишь эмулировать (моделировать, имитировать) МП типа CISC на программном уровне, что приводит к резкому уменьшению их эффективной производительности.
Микропроцессоры типа VLIW
Это новый и весьма перспективный тип МП. Микропроцессоры типа VLIWвыпускают фирмы Transmeta — это микропроцессор Crusoeмоделей ТМ3120, ТМ5400, ТМ5600 (технология 0,18 мкм, тактовые частоты до 700 МГц), Intel — модель Mersed(торговая марка Itanium, 800 МГц) и Hewlett-Packard — модель McKinley.Следует заметить, что при более глубоком анализе технология EPIC(Explicitly Parallel Instruction Computing — вычисления с явной параллельностью инструкций), которой придерживаются фирмы Intel и HP, незначительно отличается от технологии VLIW, принятой за основу фирмой Transmeta. Но эти отличия несущественны, поэтому микропроцессоры VLIW и EPIC можно отнести к одной группе.
МП Merced— первый процессор, использующий полный набор 64-битовых инструкций (Intel Architecture-64, IA-64;именно эта технология называется EPIC). Микропроцессор с тактовой частотой 1200 МГц изготавливается по технологическим нормам 0,18 мкм. К VLIW-типу можно отнести и ожидавшийся в 2002 году МП Elbrus 2000 — E2k, разработанный российской компанией «Эльбрус». И хотя Е2к пока существует в виде компьютерной модели, этот процессор оставил «российский след» в американских проектах — о схожести определенных черт Е2к и процессора Crusoe компании Transmeta, а также архитектуры IA-64 (Intel и HP) много писалось в прессе.
Программисты доступа к внутренним VLIW-командам не имеют: все программы (даже операционная система) работают поверх специального низкоуровневого программного обеспечения (Code Morphing), которое ответственно за трансляцию команд CISC-микропроцессоров в команды VLIW. МП типа VLIW вместо сложной схемной логики, обеспечивающей в современных суперскалярных микропроцессорах параллельное исполнение команд, опираются на программное обеспечение. Упрощение аппаратуры позволило уменьшить габариты МП и потребление энергии (эти МП иногда называют «холодными»).
Архитектура CISC появилась в 1978 году. Тогда процессоры представляли собой скалярные устройства (то есть могли в каждый момент времени выполнять только одну команду), при этом конвейеров практически не было. Процессоры содержали десятки тысяч транзисторов. МП RISC были разработаны в 1986 году,
Физическая и функциональная структура микропроцессора
когда технология суперскалярных-конвейеров только начала развиваться. Процессоры содержали сотни тысяч транзисторов. В конце 90-х наиболее совершенные процессоры уже содержат миллионы, десятки миллионов транзисторов. Первые МП архитектуры IA-64 содержат десятки миллионов транзисторов. В дальнейших модификациях их число, вероятно, увеличится до сотен миллионов.
Архитектура IA-64 не является ни 64-разрядным расширением архитектуры CISC, ни переработкой архитектуры RISC. IA-64 представляет собой новую архитектуру, использующую длинные слова команд (LIW), предикаты команд (instruction predication), исключение ветвлений (branch elimination), предварительную загрузку данных (speculative loading) и другие ухищрения для того, чтобы обеспечить больший параллелизм выполнения программ. Но, тем не менее, IA-64 — это компромисс между CISC и RISC, попытка сделать их совместимыми: существуют два режима декодирования команд — VLIW и старый CISC. Программы автоматически переключаются в необходимый режим исполнения. Для работы с VLIW операционные системы должны содержать и 64-разрядную часть на IA-64, и старую 32-разрядную.
Все новые МП создаются на основе технологий, обеспечивающих формирование элементов с линейным размером порядка 0,015 мкм и ниже (традиционные МП 80486 и Pentium использовали 0,8-мкм элементы).
Уменьшение размеров элементов обеспечивает возможность:
□ увеличения тактовой частоты МП до сотен мегагерц и выше;
□ уменьшения перегрева МП, что позволяет использовать пониженное напряжение питания 1-2 В (вместо 5 В).
Физическая и функциональная структура микропроцессора
Физическая структура микропроцессора достаточно сложна. Ядро процессора содержит главный управляющий модуль и исполняющие модули — блоки выполнения операций над целочисленными данными. К локальным управляющим схемам относятся: блок плавающей запятой, модуль предсказания ветвлений, модуль преобразования CISC-инструкций во внутренний RISC-микрокод, регистры микропроцессорной памяти (в МП типа VLIW до 256 регистров), регистры кэш-памяти 1-го уровня (отдельно для данных и инструкций), шинный интерфейс и многое другое.
В состав микропроцессора Pentium обычно входят следующие физические компоненты:
□ Core — ядро МП;
□ Execution Unit — исполняющий модуль;
□ Integer ALU — АЛУ для операций с целыми числами (с фиксированной запятой);
□ Registers — регистры;
Глава 5. Микропроцессоры и системные платы
□ Floating Point Unit — блок для работы с числами с плавающей запятой;
□ Primary Cache — кэш первого уровня, в том числе кэш данных (Data Cache) и кэш команд (Code Cache);
□ Instruction Decode and Prefetch Unit и Branch Predictor — блоки декодирования инструкций, опережающего их исполнения и предсказания ветвлений;
□ Bus Interface — интерфейсные шины, в том числе 64- и 32-битовая шины, и выход на системную шину к оперативной памяти (То RAM).
Функционально МП можно разделить на две части:
□ операционную, содержащую устройство управления (УУ), арифметико-логическое устройство (АЛУ) и микропроцессорную память (МПП) (за исключением нескольких адресных регистров);
□ интерфейсную, содержащую адресные регистры МПП; блок регистров команд — регистры памяти для хранения кодов команд, выполняемых в ближайшие такты; схемы управления шиной и портами.
Обе части МП работают параллельно, причем интерфейсная часть опережает операционную, так что выборка очередной команды из памяти (ее запись в блок регистров команд и предварительный анализ) происходит во рремя выполнения операционной частью предыдущей команды. Современные микропроцессоры имеют несколько групп регистров в интерфейсной части, работающих с различной степенью опережения, что позволяет выполнять операции в конвейерном режиме. Такая организация МП позволяет существенно повысить его эффективное быстродействие.
Устройство управления
Устройство управления (УУ) является функционально наиболее сложным устройством ПК — оно вырабатывает управляющие сигналы, поступающие по кодовым шинам инструкций (КШИ) во все блоки машины. Упрощенная функциональная схема У У показана на рис. 5.1.
На рисунке представлены:
□ регистр команд — запоминающий регистр, в котором хранится код команды — код выполняемой операции (КОП) и адреса операндов, участвующих в операции. Регистр команд расположен в интерфейсной части МП, в блоке регистров команд;
□ дешифратор операций — логический блок, выбирающий в соответствии с поступающим из регистра команд кодом операции (КОП) один из множества имеющихся у него выходов;
□ постоянное запоминающее устройство (ПЗУ) микропрограмм хранит в своих ячейках управляющие сигналы (импульсы), необходимые для выполнения в блоках ПК процедур обработки информации. Импульс по выбранному дешифратором операций в соответствии с кодом операции проводу считывает из ПЗУ микропрограмм необходимую последовательность управляющих сигналов;
Физическая и функциональная структура микропроцессора
Рис. 5.1. Укрупненная функциональная схема УУ
□ узел формирования адреса (находится в интерфейсной части МП) — устройство, вычисляющее полный адрес ячейки памяти (регистра) по реквизитам, поступающим из регистра команд и регистров МПП;
□ кодовые шины данных, адреса и инструкций — часть внутренней интерфейсной шины микропроцессора.
В общем случае УУ формирует управляющие сигналы для выполнения следующих основных процедур:
□ выборка из регистра-счетчика адреса команды МПП адреса ячейки ОЗУ, где хранится очередная команда программы;
□ выборка из ячеек ОЗУ кода очередной команды и приема считанной команды в регистр команд;
□ расшифровка кода операции и признаков выбранной команды;
□ считывание из соответствующих расшифрованному коду операции ячеек ПЗУ микропрограмм управляющих сигналов (импульсов), определяющих во всех блоках машины процедуры выполнения заданной операции, и пересылка управляющих сигналов в эти блоки;
□ считывание из регистра команд и регистров МПП отдельных составляющих адресов операндов (чисел), участвующих в вычислениях, и формирование полных адресов операндов;
□ выборка операндов (по сформированным адресам) и выполнение заданной операции обработки этих операндов;
□ запись результатов операции в память;
□ формирование адреса следующей команды программы.
Глава 5. Микропроцессоры и системные платы
Арифметико-логическое устройство
Арифметико-логическое устройство (АЛУ)предназначено для выполнения арифметических и логических операций преобразования информации. Функционально АЛУ (рис. 5.2) состоит обычно из двух регистров, сумматора и схем управления (местного устройства управления).
Рис.5.2. Функциональная схема АЛУ
Сумматор — вычислительная схема, выполняющая процедуру сложения поступающих на ее вход двоичных кодов; сумматор имеет разрядность двойного машинного слова.
Регистры — быстродействующие ячейки памяти различной длины: регистр 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 десятичные).
Микропроцессорная память
Микропроцессорная память (МПП) базового МП 8088 включает в себя 14 двухбайтовых запоминающих регистров. У МП 80286 и выше имеются дополнительные регистры, например, у МП типа VLIW есть 256 регистров, из которых 128 — регистры общего назначения. У МП 80386 и выше некоторые регистры, в том числе и регистры общего назначения, — 4-байтовые (у МП Pentium есть и восьмибайтовые регистры). Но в качестве базовой модели, в частности для языка программирования ассемблер и отладчика программ Debug, используется 14-ре-гистровая система МПП. Все регистры можно разделить на 4 группы:
□ универсальные регистры: АХ, ВХ, СХ, DX;
□ сегментные регистры: CS, DS, SS, ES;
□ регистры смещения: IP, SP, BP, SI, DI;
□ регистр флагов: FL.
Если регистры 4-байтовые или 8-байтовые, их имена несколько изменяются, например 4-байтовые универсальные регистры АХ, ВХ, СХ, DX именуются соответственно ЕАХ, ЕВХ, ЕСХ, EDX. При этом если используется их двухбайтовая или однобайтовая часть, наименования этих частей регистров соответствуют рассматриваемым ниже.
Универсальные регистры
Регистры АХ, ВХ, СХ и DX являются универсальными (их часто называют регистрами общего назначения — РОН); каждый из них может использоваться для временного хранения любых данных, при этом позволено работать с каждым
Глава 5. Микропроцессоры и системные платы
регистром целиком, а можно отдельно и с каждой его половиной (регистры АН, ВН, СН, DH — старшие (High) байты, а регистры AL, BL, CL, DL — младшие (Low) байты соответствующих 2-байтовых регистров). Но каждый из универсальных регистров может использоваться и как специальный при выполнении некоторых конкретных команд программы. В частности:
□ регистр АХ — регистр-аккумулятор, через его порты осуществляется ввод-вывод данных в МП, а при выполнении операций умножения и деления АХ используется для хранения первого числа, участвующего в операции (множимого, делимого), и результата операции (произведения, частного) после ее завершения;
□ регистр ВХ часто используется для хранения адреса базы в сегменте данных и начального адреса поля памяти при работе с массивами;
□ регистр СХ — регистр-счетчик, используется как счетчик числа повторений при циклических операциях;
□ регистр DX используется как расширение регистра-аккумулятора при работе с 32-разрядными числами и при выполнении операций умножения и деления, используется для хранения номера порта при операциях ввода-вывода и т. д.
Сегментные регистры
Регистры сегментной адресации CS, DS, SS, ES используются для хранения начальных адресов полей памяти (сегментов), отведенных в программах для хранения1:
□ команд программы (сегмент кода — CS);
□ данных (сегмент данных — DS);
□ стековой области памяти (сегмент стека — SS);
□ дополнительной области памяти данных при межсегментных пересылках (расширенный сегмент — ES), поскольку размер сегмента в реальном режиме работы МП ограничен величиной 64 Кбайт.
Регистры смещений
Регистры смещений (внутрисегментной адресации) IP, SP, BP, SI, DI предназначены для хранения относительных адресов ячеек памяти внутри сегментов (смещений относительно начала сегментов):
□ регистр IP (Instruction Pointer) хранит смещение адреса текущей команды программы;
□ регистр BP (Base Pointer) — смещение начального адреса поля памяти, непосредственно отведенного под стек;
1 Варианты адресации ячеек ОП с использованием регистров сегментов и смещений рассмотрены в главе 9 «Программное управление — основа автоматизации вычислительного процесса», раздел «Адресация регистров и ячеек памяти в ПК».
Физическая и функциональная структура микропроцессора
□ регистры SI, DI (Source Index и Destination Index соответственно) предназна чены для хранения адресов индекса источника и приемника данных при опе рациях над строками и им подобных.
Регистр флагов
Регистр флагов FL содержит условные одноразрядные признаки-маски, или флаги, управляющие прохождением программы в ПК; флаги работают независимо друг от друга, и лишь для удобства они помещены в единый регистр. Всего в регистре содержится 9 флагов: 6 из них статусные, отражают результаты операций, выполненных в компьютере (их значения используются, например, при выполнении команд условной передачи управления — команд ветвления программы), а 3 других — управляющие, непосредственно определяют режим исполнения программы.
Статусные флаги:
□ 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 при арифметическом переполнении: если возник перенос в знаковый разряд при выполнении знаковых арифметических операций, если частное от деления слишком велико и переполняет регистр результата и т. д.
Управляющие флаги:
□ TF (Trap Flag) — флаг системного прерывания (трассировки). Единичное состояние этого флага переводит процессор в режим пошагового выполнения программы (режим трассировки);
□ IF (Interrupt Flag) — флаг прерываний. При нулевом состоянии этого флага прерывания запрещены, при единичном — разрешены;
□ DF (Direction Flag) — флаг направления. Используется в строковых операциях для задания направления обработки данных. При нулевом состоянии флага команда увеличивает содержимое регистров SI и DI на единицу, обусловливая обработку строки «слева направо»; при единичном — «справа налево».
Глава 5. Микропроцессоры и системные платы
Интерфейсная часть МП
Интерфейсная часть МП предназначена для связи и согласования МП с системной шиной ПК, а также для приема, предварительного анализа команд выполняемой программы и формирования полных адресов операндов и команд. Интерфейсная часть включает в свой состав:
□ адресные регистры МПП;
□ узел формирования адреса;
□ блок регистров команд, являющийся буфером команд в МП;
□ внутреннюю интерфейсную шину МП;
Q схемы управления шиной и портами ввода-вывода.
Некоторые из названных устройств, такие как узел формирования адреса и регистр команды, непосредственно выполняемой МП, функционально входят в состав устройства управления.
Порты ввода-вывода— это пункты системного интерфейса ПК, через которые МП обменивается информацией с другими устройствами. Всего портов у МП может быть 65 536 (равно количеству разных адресов, которые можно представить числом формата «слово»). Каждый порт имеет адрес — номер порта; по существу это адрес ячейки памяти, являющейся частью устройства ввода-вывода, использующего этот порт, а не частью основной памяти компьютера.
Порту устройства соответствуют аппаратура сопряжения и два регистра памяти — для обмена данными и управляющей информацией. Некоторые внешние устройства используют и основную память для хранения больших объемов информации, подлежащей обмену. Многие стандартные устройства (НЖМД, НГМД, клавиатура, принтер, сопроцессор и т. д.) имеют постоянно закрепленные за ними порты ввода-вывода.
Схема управления шиной и портами выполняет следующие функции: .
Q формирование адреса порта и управляющей информации для него (переключение порта на прием или передачу и т. д.);
□ прием управляющей информации от порта, информации о готовности порта и его состоянии;
□ организация сквозного канала в системном интерфейсе для передачи данных между портом устройства ввода-вывода и МП.
Схема управления шиной и портами использует для связи с портами кодовые шины инструкций, адреса и данных системной шины: при доступе к порту МП посылает сигнал по кодовой шине инструкций (КШИ), который оповещает все устройства ввода-вывода, что адрес на кодовую шину адреса (КША) является адресом порта, а затем посылает и сам адрес порта. Устройство с совпадающим адресом порта дает ответ о готовности. После чего по кодовой шине данных (КШД) осуществляется обмен данными.
Упрощенная структурная схема микропроцессора показана на рис. 5.3.
Системная(systemboard — SB), или объединительная, материнская(motherboard — MB), плата — это важнейшая часть компьютера, содержащая его основные электронные компоненты. С помощью материнской платы осуществляется взаимодействие между большинством устройств машины.
Глава 5. Микропроцессоры и системные платы
Конструктивно MB представляет собой печатную плату площадью 100-150 см2, на которой размещается большое число различных микросхем, разъемов и других элементов. Существуют две основных разновидности конструкции системной платы (СП):
□ на плате жестко закреплены все необходимые для работы микросхемы, — сейчас такие платы используются лишь в простейших домашних компьютерах, называемых одноплатными;
□ непосредственно на системной плате размещается лишь минимальное количество микросхем, а все остальные компоненты объединяются при помощи системной шины и конструктивно устанавливаются на дополнительных платах (платтгах расширения), устанавливаемых в специальные разъемы (слоты), имеющиеся на материнской плате; компьютеры, использующие такую технологию, относятся к вычислительным системам с шинной архитектурой.
Современные профессиональные персональные компьютеры имеют именно шинную архитектуру. На системной плате непосредственно расположены:
□ разъем для подключения микропроцессора;
□ набор системных микросхем (чипсет, chipset), обеспечивающих работу микропроцессора и других узлов машины;
□ микросхема постоянного запоминающего устройства, содержащего программы базовой системы ввода-вывода (Basic Input-Output System — BIOS);
□ микросхема энергонезависимой памяти (питается от автономного, расположенного на MB, аккумулятора), по технологии изготовления называемая CMOS;
□ микросхемы кэш-памяти 2-го уровня (если они отсутствуют на плате микропроцессора) или 3-го уровня;
□ разъемы для подключения модулей оперативной памяти;
□ наборы микросхем и разъемы для системных, локальных и периферийных интерфейсов;
□ микросхемы мультимедийных устройств и т. д.
В качестве примера на рис. 5.4 показано размещение основных компонентов на мультимедийной системной плате ТС430НХ.
1. Интегральная схема звукового адаптера Yamaha OPL4-ML — звуковая карта с поддержкой табличного синтеза звука Wave Table.
Интегральная схема звукового адаптера Yamaha OPL3-SA, звуковая карта с поддержкой цифрового частотно-модулированного синтеза звука.