Современные микропроцессоры. Современные микропроцессоры Что является основой современных микропроцессоров

ТЕМА 4 Микропроцессоры

ЛЕКЦИЯ 7

Вопросы лекции:

1. Общие сведения о микропроцессорах.

2.

Общие сведения о микропроцессорах

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

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

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

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

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

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

Среди специализированных микропроцессоров наиболее широкое распространение получили микроконтроллеры, предназначенные для выполнения функций управления различными объектами, и цифровые процессоры сигналов (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, D A8500) некоторых ведущих производителей успешно применяются принципы 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)-apxumeкmypa отличается использованием ограниченного набора команд фиксированного формата. Современные 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) выборка очередной команды (ВК);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Современные процессоры вобрали в себя так много технологий, что за улучшениями и надстройками легко можно потерять из виду те принципы, которые сегодня лежат в основе современных компьютерных технологий. Будем начинать с основ, вернувшись во времена технического превосходства процессоров DEC Alpha и выхода на рынок AMD Athlon.

Все новое – хорошо развитое старое

Вы когда-нибудь задавались вопросом, почему процессоры Alpha способны достигать столь высоких скоростей? Почему ядро Intel P6 сможет достичь 800 МГц и более а ядро К6 скорее всего никогда? И почему AMD утверждает что ядро К7 рассчитано на высокие частоты?

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

Процессоры 5-7 поколения. Они уже такие разные...

Довольно занятно: в то время как процессоры Alpha "летали" на умопомрачительной тогда скорости в 700 МГц, AMD были все еще на 450 МГц, а Intel только-только добрался до 500 МГц. Это различие становится еще более заметным, если учесть тот факт что Alpha достигала 533-600 МГц еще на 0,35 мкм процессорах! AMD и Cyrix никогда не могли выжать из своих 0,35 процессоров больше чем 233 МГц. Так что больше не позволяйте кому-то говорить вам что все зависит от тех процесса!

Как получить высокие частоты

На вопрос, почему некоторые процессоров быстрее чем другие, обычно получаешь три ответа:
1) Лучшие производственные возможности (передовые технологии, более тонкий тех процесс)
2) Меньший размер процессора и более низкая теплоотдача.
3) Более глубокие конвейеры

А теперь, давайте посмотрим на цифры:

Процессор Год запуска Техпроцесс,мкм Размер кристалла,мм2 Макс. частота, МГц Spec Int 95 Spec FP 95
Intel P II 97 0,35 203 300 11,9 8,6
AMD K6 97 0,35 168 233 7,1 3,9
Sun UltrSparc lli 98 0,35 156 360 15,2 19,9
DEC Alpha 21164 95 0,5 299 333 9,8 13,4
DEC Alpha 21164a 97 0,35 209 600 18,4 21,4
DEC Alpha 21264 98 0,25 302 667 40 60
HP PA-RISC 8200 97 0,5 345 220 15,5 25

Хотя DEC обычно сама производила свои процессоры Alpha, последнее время (до продажи процессорного бизнеса легендарной компании корейскому Samsung’у) кристаллы для DEC производились на фабриках Intel, производственный процесс которых был лучше. Процессоры на 0,25 мкм тех процессе появились у Intel заметно раньше, чем у DEC. Опять же, как мы уже отмечали, Alpha работали намного быстрее.

Малый размер кристалла? Но кристаллы процессоров Alpha и HP просто огромны! И это не мешает им обходить намного более меньшие по размерам процессоры от Intel и AMD (используя такой же тех процесс, конечно).

Winchip IDT был очень мал, и процессоры AMD всегда были меньше их аналогов от Intel. Но совсем не помогло им в противоборстве с Intel. Выходит, что не все зависит от производственного процесса.

Глубокий конвейер? Это ни о чем не говорящий ответ. Как может глубокий конвейер помочь достичь высоких мегагерц? И вообще, что из себя представляет глубокий конвейер?

Ваш первый микропроцессор

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

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

Таким образом, можно сделать вывод, что регистры должны быть очень быстрыми, иначе АЛУ будет простаивать во время записи и считывания данных.

Итак, в течении всего одного такта мы и считываем данные с регистра, и записываем их в него! Другими словами, если у вас, положим, в регистре Z хранится число X, а АЛУ, по инструкции, следует, скажем, прибавить к нему единицу, то возможно записать число ответ в тот регистр. Хм, и неужели это пройдет без проблем? Вообще-то говоря, не совсем. Давайте, тогда, разбираться что же делает процессор в течении такта.

Как известно, все современные микропроцессоры являются синхронными. Иными словами там есть счетчик, который регулярно посылает сигналы, представляющие собой, в идеале, чередование прямоугольных импульсов. При "падении" импульса мы выставляем затворы регистров (черные и синие стрелки), делается это для того, чтобы данные, поступающие из L1 кэша (синие стрелки указывающие на регистры) записались в верный регистр. Помимо этого, если, вы обратили внимание, на рисунке изображены четыре горизонтальных стрелки слева от АЛУ. Это – шина команд. По ней передаются инструкции для АЛУ. (На нашем процессоре мы можем сделать до 2^4=16 различных команд). На все это уходит очень малое время Dsignal. Оно занимает лишь небольшую часть такта.

Затем надлежащие данные следует отправить по шине (красно-желтая стрелка) в АЛУ. На доставку также уходит некоторое время (DB), так как прежде чем АЛУ начнет производить вычисления, значения чисел в регистрах должны хорошо установиться.

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

В этом заключается основная концепция современных микропроцессоров: в каждом цикле есть сигнал, который переключает определенные триггеры. Например, в регистры можно загружать данные лишь в начале ("подъеме") импульса, а считывать только в конце (загрузка в это время блокируется). Именно поэтому АЛУ может в течении(?) одного цикла и считать, и записать данные в регистр.

Сказанное выше поможет ответить нам на наш изначальный вопрос: как получить высокую тактовую частоту. Ясно что, высокая частота значит малое время между последовательными импульсами. Ясно также (см. рис.), что это время не может быть меньше чем сумма времен DSig, D B, DALU, и D R (плюс еще немного, для подстраховки). В противном случае, может оказаться так, что мы, например, начнем загружать новые данные, прежде чем результаты будут соответствующим образом занесены в регистры.

Итак, если мы способны уменьшить какой-нибудь из D , мы сможем увеличить частоту. Три возможных способа:
1) Сделать так, чтобы данные шли через процессор быстрее.
2) Сократить время вычислений.
3) Делать как можно меньше операций в течении одного цикла.

…чтобы шли быстрее

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

А температура? Она то тут причем? А притом, что атомы в кристаллической решетке находятся в тепловом движении, и амплитуда его пропорциональна температуре. А чем больше амплитуда, тем меньше шансов у электрона проскочить мимо атома. Таким образом, чем ниже температура, тем более беспрепятственно движутся электроны. Именно поэтому охлажденные процессоры работают быстрее.

Еще один способ уменьшить время прохождения битов заключается в сокращении проходимого ими пути. Для этого следует уменьшить размеры транзисторов, а как следствие, расстояние между ними. Такой подход позволил Intel и AMD достичь 600 МГц; они собирались изготовить 0,18 микронные процессоры взамен более «громоздких» 0,25-х.

…сократить время вычислений

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

…делать поменьше операций

Улучшить технологию производства – легко сказать, да трудно сделать. Это стоит чертову уйму денег. Такое называют «методом грубой силы». Неужели нет более интеллектуального подхода? Ведь в конце концов, инженеры из Alpha просто смеются над 500 МГц на 0,25 мкм процессоре; они достигли 600 МГц на 0,35!

Давайте-ка, попробуем модернизировать наш процессор, иначе он сможет работать только на 10 МГц, и то, если повезет. (Найдете такой в местном магазине, не в коем случае не берите!).

Можно сократить объем работы производимой в течении одного цикла. Вместо 7 операций за один цикл, будем делать один. Тогда, очевидно, можно будет сократить и продолжительность цикла.

Звучит очень странно. Ведь в таком случае, та же процедура займет в 7 раз дольше времени! Ну, разве это не полная чепуха? А вот и нет, вот тут то мы и сталкиваемся с конвейерами.

Использование конвейера позволяет всем устройствам процессора выполнять свою работу одновременно. Пусть, например, в нашем процессоре есть 4 устройства:
Fetcher – ищет следующую инструкцию.
Декодер – выясняет смысл инструкции.
АЛУ – выполняет инструкции.
Retire блок – возвращает результаты в память.

Итак, если в нашей схеме используются конвейеры, процесс будет выглядеть так: fetcher получает инструкцию 4, decoder декодирует инструкцию 3, АЛУ выполняет инструкцию 2, а результат инструкции 1 отправляется назад в память. И таким образом, в конце каждого такта мы имеем выполненную инструкцию.

Такт Fetcher Decoder АЛУ Retire
1 инструкция 1
2 инструкция 2 инструкция 1
3 инструкция 3 инструкция 2 инструкция 1
4 инструкция 4 инструкция 3 инструкция 2 инструкция 1
5 инструкция 5 инструкция 4 инструкция 3 инструкция 2
6 инструкция 6 инструкция 5 инструкция 4 инструкция 3
7 инструкция 6 инструкция 6 инструкция 5 инструкция 4
8 инструкция 7 инструкция 7 инструкция 6 инструкция 5
9 инструкция 8 инструкция 8 инструкция 7 инструкция 6

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

Собираем вместе

Если вы помните, семейство К-6 обладало 6 уровневым конвейером. А у PII их было 12! И хотя у К6 был лучше и АЛУ (DАЛУ меньше), и декодеры (они делают многое параллельно), К6-3 было очень сложно достичь частоты PII при той же технологии производства. Предел для.35 микронного К6 равен 233 МГц, а для такого же PII 300 МГц. (тоже самое можно сказать и о противостоянии следующих поколений: Athlon и P4).

Ultrasparc II использует конвейер с 9 стадиями, но следует учесть тот факт что RISC процессоры не нуждаются в большом объеме декодировки. На один только фетчинг и декодировку у PII уходит 7 циклов, в то время как у UltraSPARC лишь 3. Так что, в некотором смысле, у UltraSPARC конвейеризация глубже.

Конвейер Alpha состоит из 7 стадий (10 у FPU), но и у него, по сравнению с PII, с декодировкой проблем меньше. Вдобавок к этому, инженеры Alpha делают каждую стадию настолько простой, насколько это только возможно. Добиваются они этого, заставляя делать процессор по возможности больше операций параллельно. Продолжительность такта, таким образом, уменьшается до минимума. За что, в прочем, приходиться платить: процессоры Alpha просто огромны (302 мм2 у Alpha 21264).

Понимаете ли вы теперь почему латентность конвейеризованного FPU К7 (4 такта на сложение, 4 такта на умножение) возросла по сравнению с К6 (2 на сложение, 2 на умножение)? FPU К7 делает меньше чем работы за один такт чем К6, что позволяет ему достигать много больших частот. 10 уровневый конвейер для целочисленных операций (15 для FPU) позволило К7 достичь таких частот, о каких К6 мог только мечтать…Cyrix делало то же с Jalapeno (сейчас это VIA C3).

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

Современные микропроцессоры – это самые быстрые и умные микросхемы в мире. Они могут совершать до 4 млрд. операций в секунду и производятся с использованием множества различных технологий. С начала 90-х годов ХХ века, когда процессоры пошли в массовое использование, они пережили несколько ступеней развития. Апогеем развития микпроцессорных структур, использующих существующие технологии микропроцессоров 6-го поколения, считается 2002 год, когда стало доступным использование всех основных свойств кремния для получения больших частот при наименьших потерях при производстве и создании логических схем. Сейчас же эффективность новых процессоров несколько падает несмотря на постоянный рост частоты работы кристаллов, поскольку кремниевые технологии близятся к пределу своих возможностей.

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

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

Один из главных параметров работы процессора – частота работы кристалла, определяющая количество операций за единицу времени, частота работы системной шины, объем внутренней кэш-памяти SRAM. По частоте работы кристалла маркируют процессор. Частота работы кристалла определяется скоростью переключений транзисторов из закрытого состояния в открытое. Возможность транзистора переключаться быстрее определяется технологией производства кремниевых пластин, из которых делаются чипы. Технологический процесс определяет размеры транзистора (его толщину и длину затвора). Например, при использовании 90-нм техпроцесса, который был введен в начале 2004 года, размер транзистора составляет 90 нм, а длина затвора – 50 нм.

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

Технологии и рынок

Сейчас на рынке наблюдается интересная тенденция: с одной стороны, компании-производители стараются как можно быстрее внедрить новые техпроцессы и технологии в свои новинки, с другой же, наблюдается искусственное сдерживание роста частот процессоров. Во-первых, сказывается ощущение маркетологами неполной готовности рынка к очередной смене семейств процессоров, а фирмы еще не получили достаточно прибыли с объема продаж производящихся сейчас CPU – запас еще не иссяк. Достаточно заметно превалирование значимости цены готового изделия над всеми остальными интересами компаний. Во-вторых, значительное снижение темпов «гонки частот» связано с пониманием необходимости внедрения новых технологий, которые реально увеличивают производительность при минимальном объеме технологических затрат. Как уже было замечено, производители столкнулись с проблемами при переходе на новые техпроцессы.

Технологическая норма 90 нм оказалась достаточно серьезным технологическим барьером для многих производителей чипов. Это подтверждает и компания TSMC, которая занимается производством чипов для многих гигантов рынка, таких как компании AMD, nVidia, ATI, VIA. Долгое время ей не удавалось наладить производство чипов по технологии 0,09 мкм, что привело к низкому выходу годных кристаллов. Это одна из причин, по которой AMD долгое время переносила выпуск своих процессоров с технологией SOI (Silicon-on-Insulator). Задержки связаны с тем, что именно на этой размерности элементов стали сильно проявляться всевозможные ранее не столь сильно ощутимые негативные факторы: токи утечки, большой разброс параметров и экспоненциальное повышение тепловыделения. Разберемся по порядку.

Как известно, существует два тока утечки: ток утечки затвора и подпороговая утечка. Первая вызвана самопроизвольным перемещением электронов между кремниевым субстратом канала и поликремневым затвором. Вторая – самопроизвольным перемещением электронов из истока транзистора в сток. Оба эти эффекта приводят к тому, что приходится поднимать напряжение питания для управления токами в транзисторе, а это негативно сказывается на тепловыделении. Так вот, уменьшая размеры транзистора, мы прежде всего уменьшаем его затвор и слой диоксида кремния (SiO2), который является естественным барьером между затвором и каналом. С одной стороны, это улучшает скоростные показатели транзистора (время переключения), но с другой – увеличивает утечку. То есть, получается своеобразный замкнутый круг. Так вот переход на 90 нм – это очередное уменьшение толщины слоя диоксида, и одновременно увеличение утечек. Борьба с утечками – это опять же, увеличение управляющих напряжений, и, соответственно, значительное повышение тепловыделения. Все это привело к задержке внедрения нового техпроцесса со стороны конкурентов рынка микропроцессоров – Intel и AMD.

Один из альтернативных выходов – это применение технологии SOI (кремний на изоляторе), которое недавно внедрила компания AMD в своих 64-разрядных процессорах. Впрочем, это стоило ей немало усилий и преодоление большого количества попутных трудностей. Зато сама технология предоставляет громадное количество преимуществ при сравнительно малом количестве недостатков. Суть технологии, в общем-то, вполне логична - транзистор отделяется от кремневой подложки еще одним тонким слоем изолятора. Плюсов - масса. Никакого неконтролируемого движения электронов под каналом транзистора, сказывающегося на его электрических характеристиках - это раз. После подачи отпирающего тока на затвор, время ионизации канала до рабочего состояния (до момента, пока по нему пойдет рабочий ток) сокращается, то есть, улучшается второй ключевой параметр производительности транзистора, время его включения/выключения - это два. Или же, при той же скорости, можно просто понизить отпирающий ток - это три. Или найти какой-то компромисс между увеличением скорости работы и уменьшением напряжения. При сохранении того же отпирающего тока, увеличение производительности транзистора может составить вплоть до 30%, если оставить частоту той же, делая упор на энергосбережение, то там плюс может быть и большим - до 50 %. Наконец, характеристики канала становятся более предсказуемыми, а сам транзистор - более устойчивым к спорадическим ошибкам, вроде тех, что вызывают космические частицы, попадая в субстрат канала, и непредвиденно ионизируя его. Теперь, попадая в подложку, расположенную под слоем изолятора, они никак не сказываются на работе транзистора. Единственным минусом SOI является то, что приходится уменьшать глубину области эмиттер/коллектор, что прямо и непосредственно сказывается на увеличении ее сопротивления по мере сокращения толщины.

И наконец, третья причина, которая способствовала замедлению темпов роста частот – это низкая активность конкурентов на рынке. Можно сказать, каждый был занят своими делами. AMD занималась повсеместным внедрением 64-битных процессоров, для Intel это был период усовершенствования нового техпроцесса, отладки для увеличенная выхода годных кристаллов.

Начавшийся год должен принести нам большое количество новостей из области технологий, ведь именно в этом году обе компании должны перейти на технологические нормы 90 нм. Но это вовсе не означает нового стремительного роста частот процессоров, скорее наоборот. Сначала на рынке будет наблюдаться затишье: конкуренты начнут выпускать CPU по новым техпроцессам, но со старыми частотами. По мере освоения процесса производства начнется некоторый рост частоты чипов. Скорее всего, он будет не столь заметен как ранее. К концу 2004 года, когда выход годных кристаллов по 90-нм техпроцессу значительно повысится, компания Intel ожидает покорение вершины в 4 ГГц, а то и более. Процессоры компании AMD будут идти с некоторым традиционным отставанием по частоте, которое, в общем-то, не так сильно сказывается на производительности, как особенности микроархитектуры.

Итак, необходимость перехода на новые техпроцессы очевидна, но технологам это дается каждый раз все с большим трудом. Первые микропроцессоры Pentium (1993 г.) производились по техпроцессу 0,8 мкм, затем по 0,6 мкм. В 1995 году впервые для процессоров 6-го поколения был применен техпроцесс 0,35 мкм. В 1997 году он сменился на 0,25 мкм, а в 1999 – на 0,18 мкм. Современные процессоры выполняются по технологии 0,13 и 0,09 мкм, причем последняя была введена в 2004 году. Как видно, для этих техпроцессов соблюдается закон Мура, который гласит, что каждые два года частота кристаллов удваивается при увеличении количества транзисторов с них. С такими же темпами сменяется и техпроцесс. Правда, в дальнейшем «гонка частот» опередит этот закон. К 2006 году компания Intel планирует освоение 65-нм техпроцесса, а 2009 – 32-нм.


Здесь пора вспомнить структуру транзистора, а именно - тонкий слой диоксида кремния, изолятора, находящегося между затвором и каналом, и выполняющего вполне понятную функцию - барьера для электронов, предотвращающего утечку тока затвора. Очевидно, что чем толще этот слой, тем лучше он выполняет свои изоляционные функции. Но он является составной частью канала, и не менее очевидно, что если мы собираемся уменьшать длину канала (размер транзистора), то нам надо уменьшать его толщину, причем, весьма быстрыми темпами. К слову, за последние несколько десятилетий толщина этого слоя составляет в среднем порядка 1/45 от всей длины канала. Но у этого процесса есть свой конец - как утверждал пять лет назад все тот же Intel, при продолжении использования SiO2, как это было на протяжении последних 30 лет, минимальная толщина слоя будет составлять 2.3 нм, иначе ток утечка тока затвора приобретет просто нереальные величины.

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

Производство микропроцессоров

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

Подложки обычно имеют диаметр 200 миллиметров, или 8 дюймов. Однако, корпорация Intel уже перешла на пластины диаметром 300 мм, или 12 дюймов. Новые пластины позволяют получить почти в 4 раза больше кристаллов, и выход годных значительно выше. Пластины изготавливают из кремния, который очищают, плавят и выращивают из него длинные цилиндрические кристаллы. Затем кристаллы разрезают на тонкие пластины и полируют их до тех пор, пока их поверхности не станут зеркально гладкими и свободными от дефектов. Далее последовательно, циклически повторяясь, производят термическое оксидирование (формирование пленки SiO2), фотолитографию, диффузию примеси (фосфор), эпитаксию (наращивание слоя).

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

Выращивание диоксида кремния и создание проводящих областей. Процесс производства микропроцессора начинается с "выращивания" на поверхности отполированной пластины изоляционного слоя диоксида кремния. Осуществляется этот этап в электрической печи при очень высокой температуре. Толщина оксидного слоя зависит от температуры и времени, которое пластина проводит в печи.

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

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

Наложение новых слоев с последующим травлением схемы осуществляется несколько раз, при этом для межслойных соединений в слоях оставляются "окна", которые заполняют металлом, формируя электрические соединения между слоями. В своем 0.13-микронном технологическом процессе корпорация Intel применила медные проводники. В 0.18-микронном производственном процессе и процессах предыдущих поколений Intel применяла алюминий. И медь, и алюминий - отличные проводники электричества. При использовании 0,18-мкм техпроцесса использовалось 6 слоев, при внедрении 90 нм техпроцесса в 2004 году применили 7 слоев кремния.

Каждый слой процессора имеет свой собственный рисунок, в совокупности все эти слои образуют трехмерную электронную схему. Нанесение слоев повторяют 20 - 25 раз в течение нескольких недель.

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

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

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

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

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

В будущих процессорах компания Intel применит технологию BBUL, которая позволит создавать принципиально новые корпуса с меньшим тепловыделением и емкостью между ножками CPU.

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

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

Будущие технологии производства микропроцессоров

Известно, что существующие КМОП-транзисторы имеют много ограничений и не позволят в ближайшем будущем поднимать частоты процессоров также безболезненно. В конце 2003 года на Токийской конференции специалисты Intel сделали очень важное заявление о разработке новых материалов для полупроводниковых транзисторов будущего. Прежде всего, речь идет о новом диэлектрике затвора транзистора с высокой диэлектрической проницаемостью (так называемый «high-k»-материал), который будет применяться взамен используемого сегодня диоксида кремния (SiO2), а также о новых металлических сплавах, совместимых с новым диэлектриком затвора. Решение, предложенное исследователями, снижает ток утечки в 100 раз, что позволяет вплотную подойти к внедрению производственного процесса с проектной нормой 45 нанометров. Оно рассматривается экспертами как маленькая революция в мире микроэлектронных технологий.

Чтобы понять, о чем идет речь, взглянем сначала на обычный МОП-транзистор, на базе которого делаются сложнейшие CPU.


В нем затвор из проводящего поликремния отделен от канала транзистора тончайшим (толщиной всего 1,2 нм или 5 атомов) слоем диоксида кремния (материала, десятилетиями используемого в качестве подзатворного диэлектрика).

Столь малая толщина диэлектрика необходима для получения не только малых габаритов транзистора в целом, но и для его высочайшего быстродействия (заряженные частицы передвигаются быстрее через затвор, в результате чего такой VT может переключаться до 10 миллиардов раз в секунду). Упрощенно - чем ближе затвор к каналу транзистора (то есть, чем тоньше диэлектрик), тем «большее влияние» в плане быстродействия он будет оказывать на электроны и дырки в канале транзистора.

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


Если мы боремся с утечками, то толщину диэлектрика нужно повысить хотя бы до 2-3 нм (см. рисунок выше). Чтобы при этом сохранить прежнюю крутизну транзистора (зависимость тока от напряжения) необходимо пропорционально увеличить диэлектрическую проницаемость материала диэлектрика. Если проницаемость объемного диоксида кремния равна 4 (или чуть меньше в сверхтонких слоях), то разумной величиной диэлектрической проницаемости нового «интеловского» диэлектрика можно считать величину в районе 10-12. Несмотря на то, что материалов с такой диэлектрической проницаемостью немало (конденсаторные керамики или монокристалл кремния), тут не менее важны факторы технологической совместимости материалов. Поэтому для нового high-k-материала был разработан свой высокоточный процесс нанесения, во время которого формируется один молекулярный слой этого материала за один цикл.


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

Но диэлектриком дело не ограничилось. Потребовалось сменить и материал самого затвора - привычный поликристаллического кремния. Дело в том, что замена диоксида кремния на high-k-диэлектрик ведет к проблемам взаимодействия с поликристаллическим кремнием (ширина запрещенной зоны транзистора определяет минимально возможные для него апряжения). Эти проблемы удается устранить, если использовать специальные металлы для затворов транзисторов обоих типов (n-МОП и p-МОП) в сочетании с особым технологическим процессом. Благодаря этой комбинации материалов удается достичь рекордной производительности транзисторов и уникально низких токов утечки, в 100 раз меньших, чем при использовании нынешних материалов (см. график). В этом случае уже не возникает искушения использовать для борьбы с утечками значительно более дорогую технологию SOI (кремний на изоляторе), как это делают некоторые крупные производители микропроцессоров.


Отметим также еще одно технологическое новшество Intel - технологию напряженного (strained) кремния, которая впервые используется в 90-нанометровых процессорах Prescott и Dothan. Наконец-то, компания Intel в подробностях рассказала, каким именно образом происходит формирование слоев напряженного кремния в ее КМОП-структурах. КМОП-ячейка состоит из двух транзисторов - n-МОП и p-МОП (см. рисунок).


В первом (n-MOS) канал транзистора (n-канал) проводит ток при помощи электронов (отрицательно заряженных частиц), а во втором (p-MOS) - при помощи дырок (условно положительно заряженных частиц). Соответственно, и механизмы формирования напряженного кремния у этих двух случаев различны. Для n-MOS-транзистора используется внешнее покрытие слоем нитрида кремния (Si3N4), который за счет механических напряжений немного (на доли процента) растягивает (в направлении протекания тока) кристаллическую решетку кремния под затвором, в результате чего рабочий ток канала возрастает на 10% (условно говоря, электронам становится более просторно двигаться в направлении канала). В p-MOS-транзисторах все наоборот: в качестве материала подложки (точнее - только областей стока и истока) используется соединение кремния с германием (SiGe), что немного сжимает кристаллическую решетку кремния под затвором в направлении канала. Поэтому дыркам становится «легче» «передвигаться» сквозь акцепторные атомы примеси, и рабочий ток канала возрастает на 25%. Сочетание же обеих технологий дает 20-30-процентное усиление тока. Таким образом, применение технологии «напряженного кремния» в обоих типах устройств (n-MOS и p-MOS) приводит к значительному повышению производительности транзисторов при повышении себестоимости их производства всего лишь на ~2% и позволяет создавать более миниатюрные транзисторы следующих поколений. В планах Intel - использовать напряженный кремний для всех будущих техпроцессов вплоть до 22-нанометрового.

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

  • процессоры общего назначения, или универсальные микропроцессоры;
  • специализированные процессоры, среди которых наиболее широкое распро­странение получили микроконтроллеры, цифровые сигнальные процессоры и медийные процессоры. Рассмотрим особенности этих процессоров.

Микропроцессоры общего назначения

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

Большинство типов микропроцессоров этого класса имеют CISC–архитектуру, поскольку используют набор разноформатных команд с различными способами адресации.

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

В ряде последних разработок (Itanium РА8500) успешно используются прин­ципы VLIW–архитектуры.

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

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

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

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

Для удовлетворения запросов потребителей выпускается большая номенкла­тура микроконтроллеров, которые принято подразделять на 8–, 16– и 32–разрядные.


8–разрядные микроконтроллеры

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

Для 8–разрядных микроконтроллеров характерна гарвардская архитектура:

  • с отдельной внутренней памятью для хранения программ, в качестве которой используются масочно–программируемые ПЗУ (ROM), однократно програм­мируемое ПЗУ (PROM) или электрически репрограммируемое ПЗУ (EPROM, EEPROM или Flash) с объемом от нескольких единиц до десятков килобайт;
  • с отдельной внутренней памятью для хранения данных, в качестве которой используется регистровый блок, организованный в виде нескольких регист­ровых банков, или ОЗУ. Ее объем составляет от нескольких десятков байт до нескольких килобайт.

В случае необходимости имеется возможность дополнительно подключать внешнюю память команд и данных объемом до 64–256 Кбайт и более.

Для повышения производительности во многих моделях 8–разрядных микро­контроллеров реализованы принципы RISC–архитектуры, обеспечивающие вы­полнение большинства команд за один такт машинного времени.

16–разрядные микроконтроллеры

16–разрядные микроконтроллеры помимо повышенной разрядности обрабатываемых данных характеризуются:

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

Основные области применения - сложная промышленная автоматика, теле­коммуникационная аппаратура, медицинская и измерительная техника.

32–разрядные микроконтроллеры

32–разрядные микроконтроллеры ориентированы на применение в системах управления сложными объектами промышленной автоматики (сред­ствами комплексной автоматизации производства, робототехнические устрой­ствами, двигателями и др.), в контрольно–измерительной аппаратуре, телеком­муникационном оборудовании и других сложных устройствах. 32–разрядные микроконтроллеры содержат:

  • высокопроизводительный CISC , соответствующий по своим возможностям младшим моделям микропроцессоров общего назначе­ния. Например, в микроконтроллерах компании Intel используется процессор i386, а в микроконтроллерах компании Motorola - процессор 680×0. Введе­ние этих процессоров в состав микроконтроллеров позволяет использовать в соответствующих системах управления огромный объем прикладного и си­стемного программного обеспечения, созданный ранее для соответствующих персональных компьютеров. Некоторые типы микроконтроллеров содержат несколько исполнительных конвейеров, образующих суперскалярную структуру;
  • внутреннюю память команд емкостью до десятков килобайт и память данных емкостью до нескольких килобайт;
  • средства для подключения внешней памяти объемом до 16 Мбайт и выше;
  • набор сложных периферийных устройств - таймерный процессор, коммуни­кационный процессор, модуль последовательного обмена и ряд других. Во внутренней структуре этих микроконтроллеров реализуется принстонская или гарвардская архитектура.

Цифровые сигнальные процессоры

Этот класс специализированных мик­ропроцессоров предназначен для цифровой обработки поступающих аналоговых сигналов в реальном времени. Архитектура цифровых сигнальных процессоров (ЦСП) ориентирована на быстрое выполнение последовательности операций ум­ножения–сложения с накоплением промежуточного результата в регистре–аккуму­ляторе, что обусловлено особенностью алгоритмов обработки аналоговых сигна­лов. Поэтому набор команд этих процессоров содержит специальные команды MAC (Multiplication with Accumulation - умножение с накоплением), реализующие эти операции.

Значение оцифрованного аналогового сигнала может быть представлено в виде числа с фиксированной или с плавающей точкой. В соответствии с этим ЦСП де­лятся на два класса:

  • на процессоры, обрабатывающие числа с фиксированной точкой. К этому классу относятся более простые и дешевые ЦСП, которые обычно обрабатывают 16– или 24–разрядные операнды, представленные в виде правильной дроби. Однако ограниченная разрядность в ряде случаев не позволяет обес­печить необходимую точность результатов;
  • на процессоры, обрабатывающие числа с плавающей точкой. Процессоры этого класса проводят вычисления над 32– и 40–разрядными операндами и обеспечивают более высокую точность результатов.

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

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


Медийные процессоры

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

Аппаратную поддержку операций с новыми типами данных, характерными для обработки видео– и звуковой информации обеспечивают универсальные процес­соры с мультимедийным расширением набора команд: Pentium ММХ, UltraSPARC, Cyrix 6х86МХ (М2), AMD–K6 и др. Однако, когда мультимедийные операции до­минируют над традиционными числовыми операциями, больший эффект дает ис­пользование мультимедийных микропроцессоров. Их архитектура представляет собой некоторый гибрид архитектурных решений сигнальных и универсальных процессоров. Производством медиа–процессоров заняты компании MicroUnity (процессор Mediaprocessor), Philips (TriMedia), Chromatic Research (Mpact Media Engine) и др.

Структура и режимы работы микропроцессорной системы

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

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

Рассмотрим в общих чертах особенности работы простейшей микропроцес­сорной системы (рис. 2.1.3), состоящей из центрального процессора, памяти и подсистемы ввода/вывода.


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

Для обмена данными между центральным процессором и внешними устрой­ствами в подсистеме ввода/вывода предусмотрен контроллер обмена.

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

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

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

Описанные способы обеспечивают низкую скорость обмена.

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

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

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

Конструктивно современный микропроцессор представляет собой сверхбольшую интегральную схему, реализованную на одном полупроводниковом кристалле - тонкой пластинке кристаллического кремния прямоугольной формы площадью всего несколько квадратных миллиметров. На ней размещены схемы, реализующие все функции процессора. Кристалл-пластинка обычно помещается в пластмассовый или керамический плоский корпус и соединяется золотыми выводами с металлическими штырьками, чтобы его можно было присоединить к системной плате компьютера. [2 ]

Архитектуре присущи многие особенности. Одна из них состоит в том, что команды и данные хранятся в одном и том же запоминающем устройстве. Для большинства систем это необходимо, так как в них с помощью определенных средств разработки программ осуществляется обмен команд и данных. Например, загрузчик производит загрузку программы, хранимой во внешнем запоминающем устройстве, в память и для этого должен интерпретировать ее как данные. Однако в широко распространенных приложениях, таких, как кассовые аппараты и системы автомобильного зажигания, средства разработки резидентных программ отсутствуют и программы никогда не смешиваются с данными. Поэтому в некоторых микроконтроллерах, например MCS-48, команды и данные хранятся в разных запоминающих устройствах; команды таких микроконтроллеров не позволяют производить обращение к ячейкам памяти, в которых хранится программа, как к ячейкам с данными. [3 ]

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

В современных микропроцессорах используется, как правило, одинаковое напряжение питания. Обычно источником питания для микропроцессора является источник постоянного тока напряжением 5 В. Для подключения этого источника используются два вывода микропроцессора: на один из них подается напряжение 5 В, второй вывод заземляется. В некоторых микропроцессорах предусматриваются еще два вывода, предназначенные для подачи напряжений питания 12 и - 5 В. [5 ]

Для архитектуры современных микропроцессоров характерно наличие единого адресуемого пространства памяти, которое называется основной памятью. [6 ]

Микропроцессор КР580ИК80 является одним из самых простых среди семейства современных микропроцессоров . [7 ]

В настоящее время проявляется тенденция к усложнению стековых структур данных современных микропроцессоров . Для обеспечения их гибкости стек в общем случае должен иметь иерархическую структуру, хотя на уровне базисной системы команд целесообразно реализовать только одно -, двух - или трехстековую структуру. [8 ]

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

Скорость вращения дисков, достигающая 10000 об / м, и тактовые частоты современных микропроцессоров , составляющие 100 МГц и выше, позволяют без особых проблем справиться с формированием проверочных кодов в RAID. Шины передачи данных между процессором и устройствами хранения данных поддерживают пропускную способность на уровне 100 Мбайт / с, что также разрешает проблемы, связанные с сетевым доступом к дисковым массивам. Кроме того, некоторые шины, например, FC-AL, имеют интерфейс сетевых протоколов TCP / IP, FDDI, ATM, что позволяет подключать устройства хранения данных непосредственно к сетям. [10 ]

Вообще, период второй половины 50 - х годов был чрезвычайно интересным и богатым на фонтанирование идей, сохранившихся и в современных микропроцессорах , но чаще под другими названиями, и воспринимаемых молодым поколением как нечто совершенно новое. [11 ]

Действительно, если признанная как первая большая ЭВМ Эниак (1946 год) занимала площадь около 90 м2 и весила более 30 тонн, то современный микропроцессор , способный вместить все электронное оборудование такой машины, имеет площадь всего 1 5 - 2 см2, обеспечивая при этом такую вычислительную мощность, которая превышает суммарную вычислительную мощность всех ЭВМ, имевшихся в мире в середине 60 - х годов. Первая ЭВМ содержала около 17 тысяч электронных ламп, а сейчас такое количество электронных компонентов технологии 0 15 мкм позволяют разместить в срезе человеческого волоса. [12 ]

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

Из-за невозможности внесения в MS DOS необходимых принципиальных усовершенствований фирма Microsoft оказалась вынужденной создавать новые ОС (Windows, Windows NT, Windows 95 и др.), обеспечивающие надлежащий сервис для пользователей и разработчиков, поддерживающие одновременную работу нескольких программ, средства защиты данных и позволяющие эффективнее использовать возможности современных микропроцессоров . [1 ]

Современные микропроцессоры выполняют функции малых ЭВМ. Они применяются в автоматических устройствах цифрового контроля и управления, регуляторах, системах телемеханики и телеавтоматических комплексах. [2 ]

МП 80286 и выше имеется возможность многозадачной работы (многопро-граммность) и сопутствующая ей защита памяти. Современные микропроцессоры имеют два режима работы. [3 ]

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

Первые микропроцессоры были выполнены на р - МОП-схе-мах. Современные микропроцессоры выполняются на и - МОП-схемах, имеющих низкую стоимость и среднее быстродействие, на предельно-маломощных КМОП-схемах и на ТТЛ-схемах с высоким быстродействием. [5 ]

Глубина допустимого уровня вложения подпрограмм зависит от типа вычислительной машины и используемого языка программирования. Большинство современных микропроцессоров и языков программирования допускает многоуровневое вложение. [6 ]

Что касается операций над числами с плавающей точкой и других специальных сложных операций, то в системах на базе первых процессоров их реализовали последовательностью более простых команд, специальными подпрограммами, однако затем были разработаны специальные вычислители - математические сопроцессоры, которые заменяли основной процессор на время выполнения таких команд. Всовременных микропроцессорах математические сопроцессоры входят в структуру как составная часть. [7 ]

Рассматриваемые здесь способы адресации памяти следующие: с индексированием; относительный и способ адресации данных, хранимых в стеке, с помощью указателя стека. Во многих современных микропроцессорах используется либо первый, либо второй указанный способ. Почти каждый микропроцессор располагает стековым способом обращения к данным с помощью указателя стека. [8 ]

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

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

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

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

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

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

Какие требования предъявляются к источникам питания микропроцессоров. Укажите, какая потребляемая мощность характерна для современных микропроцессоров . [1 ]

Полупроводниковые приборы и микросхемы непрерывно совершенствуются. Улучшаются их параметры, кроме того, растет степень интеграции микросхем и усложнаются их функции. Ярким примером этой тенденции являются микропроцессорные комплекты интегральных микросхем. Современные микропроцессоры фактически представляют собой ЭВМ на кристалле. [2 ]

Несомненно, рекурсивный вариант программы более компактный, однако многократный вызов функции, использующийся в любом рекурсивном алгоритме, заметно снижает его быстродействие. Поэтому использование цикла более приемлемо с точки зрения скорости выполнения. Кроме того, благодаря оптимизации арифметических операций в большинстве современных микропроцессоров превосходство нерекурсивных алгоритмов в скорости становится все более очевидным. [3 ]

Современные достижения в области микроэлектроники позволили в настоящее время проектировать и серийно выпускать так называемые микропроцессоры. Микропроцессор по выполняемым функциям аналогичен процессору универсальной ЭВМ, реализуется он обычно на одной или нескольких больших микросхемах с высокой степенью интеграции. Функции микропроцессора задаются соответствующим набором выполняемых команд, записанных в постоянном запоминающем устройстве. Микропроцессор характеризуется также некоторым объемом регистровой памяти, разрядностью обрабатываемой информации и другими параметрами. Имеются микропроцессоры с наращиваемой и постоянной разрядностью. Длясовременных микропроцессоров число выполняемых операций достигает 100 и более, причем предусматриваются операции с двойной длиной слова и побайтовой обработкой информации. Кроме того, микропроцессор комплектуется общим программным обеспечением, которое хранится в постоянном запоминающем устройстве на интегральных микросхемах. [4 ]

Рассмотрение материала проводится на базе некоего гипотетического микропроцессора. Это объясняется несколькими причинами, Прежде всего следует отметить, что большинство микропроцессоров, выпускаемых промышленностью, слишком сложно, чтобы служить основой для ознакомления с принципами построения и функционирования этих устройств. Однако овладевание указанными общими принципами делает доступным освоение микропроцессоров любого типа и модели. Более того, всегда есть опасность, что такой микропроцессор останется для изучающего наиболее предпочтительным. Что же касается выбранного здесь гипотетического микропроцессора, то некоторые его характеристики нельзя найти ни у одного современного микропроцессора . Прогнозировать же их у будущих моделей автор не берется, поскольку слишком быстро происходит в наше время смена техники и технологии. [5 ]

Однако когда речь идет о борьбе с детонацией, то имеют в виду форсированные режимы, при которых опасность детонации особенно велика. А правильно ли это, если более 80 % топлива сгорает во время стабильной работы двигателя, когда вовсе не нужны высокие антидетонационные характеристики и можно обойтись низкооктановым бензином. Не забиваем ли мы гвозди скрипкой. Так родилась мысль о разделении топлива на два бака: один поменьше, для высокооктановой добавки, а другой побольше, для обычного низкооктанового бензина. Весь вопрос в дозировке, в подаче этих потоков в соотношении, точно соответствующем характеру работы двигателя в данный момент. Понятно, что и дозировка, и карбюрация должны в таком двигателе регулироваться с точностью ювелирной. Эту заботу могут взять на себясовременные микропроцессоры в сочетании с ЭВМ. [6 ]

Понравилась статья? Поделитесь ей
Наверх