Современные микропроцессоры компании АМD. Современные микропроцессоры Особенности процессоров с архитектурой SPARC компании Sun Microsystems

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

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

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

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

Сейчас на рынке наблюдается интересная тенденция: с одной стороны, компании-производители стараются как можно быстрее внедрить новые техпроцессы и технологии в свои новинки, с другой же, наблюдается искусственное сдерживание роста частот процессоров. Во-первых, сказывается ощущение маркетологами неполной готовности рынка к очередной смене семейств процессоров, а фирмы еще не получили достаточно прибыли с объема продаж производящихся сейчас 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 это был период усовершенствования нового техпроцесса, отладки для увеличения выхода годных кристаллов.

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

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

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

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

Рисунок 1 - МОП-транзистор

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

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

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


Рисунок 2 - Формирование одного молекулярного слоя за один цикл

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

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

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

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

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

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

регистры 64-256 слов со временем доступа 1 такт процессора;

кэш 1-го уровня – 8 к слов со временем доступа 1–2 такта ;

кэш 2-го уровня – 256 кслов с временем доступа 3–5 тактов .

RISC-процессоры . В практике используется ограниченный набор простых команд форматов «регистр, регистр®регистр» и «регистр«память» . Компиляторы не в состоянии эффективно использовать сложные команды. Это способствовало формированию концепции процессоров с сокращённым набором команд , или RISC -процессоров .

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

сокращения количества регистров, содержимое которых сохраняется в памяти;

аппаратной поддержкой сохранения регистров ;

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

3.3.2.1 Разновидности архитектур современных микропроцессоров



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

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

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

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

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

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

Транспьютеры. Концепция параллелизма позволяет повысить производительность и надёжность вычислительных систем, используя построение массово-параллельных систем на базе БИС . Транспьютер (транзистор + компьютер) – это микрокомпьютер с собственной внутренней памятью и линками (каналами) для соединения с другими транспьютерами. Часто этот термин трактуется как обобщённое название микропроцессоров со встроенными межпроцессорными интерфейсами. Транспьютеры имеют высокую степень «функциональной самостоятельности», просты в интеграции и обладают периферийными устройствами.

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

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

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

Построение вычислительных систем, интерпретирующих нейросетевые алгоритмы, осуществляется на традиционной элементной базе . Принятой в нейрокомпьютерном мире единицей измерения производительности является «число соединений в секунду»CPS (connections per second ). Под соединением понимается умножение входа на вес и сложение с накопленной суммой. Другой показатель – число изменённых значений весов в секунду CUPS (connections update per second ).

Цифровые нейроБИС , как и аналоговые и гибридные, реализуют нейроалгоритмы , могут включать схемы настройки весов при обучении , предусматривать внешнюю загрузку весов . Цифровые БИС для систолических систем и систем с одним потоком команд представляют собой близкие к обычным RISC-процессарам устройства, обычно 16- или 32-разрядные процессоры.

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

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

Микропроцессор К5

В течение ряда лет AMD, отставая от Intel по крайней мере на одно поколение микропроцессоров, полагалась в основном на лицензированную технологию и вносила незначительные конструктивные изменения в выпускаемые микропроцессоры. Появление микропроцессора Pentium создало лля AMD прямую угрозу вытеснения с рынка, что стимулировало компанию к интенсификации работ по созданию нового семейства х86-совместимых микропроцессоров. Работы над К5 были начаты, когда еще не были известны подробности о процессоре Pentium. Инженерам AMD пришлось разрабатывать собственную микроархитектуру, обеспечивая при этом совместимость с существующим программным обеспечением для процессоров х86.

Первоначально AMD планировала начать поставки своего микропроцессора с тактовой частотой 100--120 МГц в 1995 году, однако было выпущено лишь несколько тысяч таких процессоров, а их тактовая частота составила всего 75 МГц. Основные поставки К5 начались в первом квартале 1996 года, после того как компания перешла на 0,35 мкм технологию, разработанную совместно с Hewlett-Packard. Это позволило довести число транзисторов до 4,2 млн на кристалле площадью 167 мм 2 .

К5 ]68] -- это первый микропроцессор AMD, при создании которого не использовалась никакая интеллектуальная собственность Intel (за исключением микрокода), в то же время, он обладает лучшей по сравнению с процессорами Intel производительностью. Многие приложения, такие как Microsoft Excel, Word, CorelDRAW, работали на процессорах серии К5 на 30% быстрее, чем на Pentium с той же тактовой частотой. Такая производительность достигалась в основном за счет увеличенного объема кэш-памяти и более прогрессивной суперскалярной архитектуры. Используемая в микропроцессорах AMD архитектура RISC86 .

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

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

В отличие от Pentium, вместо двух конвейеров для параллельного выполнения двух целочисленных операций, К5 имеет шесть параллельно функционирующих блоков. Одновременно с целочисленными операциями могут выполняться инструкции с плавающей точкой, загрузки/сохранения или перехода. Блок загрузки/сохранения может за один цикл выбирать из памяти две инструкции. Другим отличием от Pentium является то, что К5 может изменять последовательность выполняемых команд.

Блок выполнения операций с плавающей точкой (FPU) отвечает стандартам х86, однако по производительности несколько уступает FPU процессора Pentium.

Использованное в архитектуре К5 сочетание принципов CISC и RISC позволило преодолеть ограничения набора команд х86. Ценой увеличения сложности процессора AMD удалось повысить его производительность, сохранив совместимость с системой команд х86. Последнее весьма важно с учетом широкой распространенности программного обеспечения для этой микропроцессорной архитектуры.

Микропроцессор К6

Микропроцессор К6 был выпушен в 1997 году по технологии КМОП 0,35 мкм с пятислойной металлизацией, содержал 8,8 млн транзисторов на кристалле площадью 162 мм 2 , работал с тактовыми частотами 166, 200 и 233 МГц и устанавливался в разъем Socket 7.

Как и в К5, в К6 была применена суперскалярная архитектура RISC86 с раздельным декодированием/исполнением команд, обеспечивающая преемственность с системой команд х86 и достижение высокой производительности, свойственной микропроцессорам шестого поколения. К6 был оснащен мультимедийным расширением системы команд-- ММХ. По производительности К6 при одной и той же тактовой частоте существенно превосходил Pentium ММХ и был сравним с Pentium Pro. В отличие от Pentium Pro, К6 одинаково успешно работал как с 32-разрядными, так и с 16-разрядными приложениями.

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

· В процессоре выполняется преддекодирование команд х86 при их выборке в кэш-памяти. Каждая команда в кэш-памяти первого уровня снабжается битами преддекодирования, указывающими смещение начала следующей команды в кэш-памяти (от I до 15 байт).

· К6 содержит внутреннюю раздельную кэш-память первого уровня по 32 Кбайт для данных и команд.

· В процессоре реализован высокопроизводительный блок вычислений с плавающей точкой.

· Имеется высокопроизводительный блок мультимедийных операций стандарта ММХ.

· Используется множественное декодирование х86-инструкций в однотактовые RISC-операции (ROP).

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

· В процессоре используется спекулятивное исполнение с изменением последовательности команд, предварительная посылка данных, переименование регистров.

В начале 1998 года были выпущены варианты процессора по технологии 0,25 мкм с пятью слоями металлизации для тактовых частот 266 МГц и 300 МГц.

Микропроцессор К7

Микропроцессор следующего поколения -- К7 (кодовое имя Athlon) был выпущен в июне 1999 года. К7 содержит более 22 млн транзисторов на кристалле площадью 184 мм 2 и изначально производился по технологии 0,25 мкм с 6 слоями металлизации* для тактовых частот 500, 550, 600 и 650 МГц. Впоследствии, с переходом на технологию 0,18 мкм, частота была увеличена до 1 ГГц и выше. Напряжение питания микропроцессора составляет 1,6 В.

Процессор размешен в картридже и соединяется с платой через Slot А, разработанный AMD. Athlon и Slot А используют шинный протокол Digital Alpha EV6, который имеет ряд преимуществ по сравнению с GTL+, используемым Intel. Так, EV6 предусматривает возможность использования топологии "point to point" для мультипроцессорных систем. Кроме этого, EV6 работает по переднему и заднему фронту тактирующего сигнала, что при частоте 100 МГц дает эффективную частоту передачи данных 200 МГц и пропускную способность интерфейса 1,6 Гбайт/с. В последующих моделях процессора частота работы шины (эффективная частота) достигла значений 133 (266), а затем и 200 (400) МГц.

Архитектура, реализованная в Athlon, получила название QuantiSpeed™, она определяет суперскалярное, суперконвейерное выполнение команд, конвейерный блок вычислений с плавающей точкой, аппаратную предвыборку данных в кэш-память и усовершенствованную технологию предсказания ветвлений.

Athlon имеет девять исполнительных блоков: три для обработки целочисленных данных (IEU), три для вычисления адреса (AGU) и три блока для вычислений с плавающей точкой и обработки мультимедийных данных (один для загрузки/сохранения данных с плавающей точкой (FSTORE) и два конвейерных блока для исполнения команд FPU/MMX/3DNOW).

Athlon может декодировать три команды х86 в шесть RISC-операций. После декодирования ROP попадают в буфер, где ожидают своей очереди на выполнение в одном из функциональных блоков процессора. Буфер К7 содержит 72 операции (в три раза больше чем у Кб) и выдает 9 ROP для 9 исполнительных устройств.

Athlon имеет 128 Кбайт кэш-памяти первого уровня (64 Кбайт для данных и 64 Кбайт для команд). Для взаимодействия с кэш-памятью второго уровня предусмотрена специальная шина (как у архитектуры Р6 Intel), Кэш-память второго уровня размером 512 Кбайт расположена вне процессорного ядра, в процессорном картридже, и работает на половинной частоте ядра.

Следующим микропроцессором с архитектурой К7 на ядре Thunderbird стал Duron -- бюджетный вариант микропроцессора, ориентированный на дешевые ПК. Основным его отличием является уменьшенная до 64 Кбайт кэшпамять второго уровня. Duron содержит 25 млн транзисторов на кристалле 100 мм 2 и рассчитан на частоты от 600 до 1200 МГц.

Размещение кэш-памяти на кристалле позволило разработчикам отказаться от использования картриджа и вернуться к разъему типа soket (462-контактный разъем Socket А). В процессорах Athlon и Duron работа кэшпамяти осуществляется по алгоритму, обеспечивающему эксклюзивность представления данных в кэшах (данные не дублируются в кэш-памяти первого и второго уровней), что увеличивает эффективный объем кзширован-ных данных.

Благодаря примененным в К7 новым архитектурно-техническим решениям микропроцессорам AMD удалось на 7--10% превысить производительность Pentium III при равных тактовых частотах.

Дальнейшее совершенствование архитектуры и технологии производства микропроцессоров в рамках семейства К7 привело к появлению двух новых версий Athlon: Athlon XP й Athlon MP.

Основное отличие процессора AMD Athlon MP от AMD Athlon XP -- использование технологии Smart MP, которая представляет собой совокупность высокоскоростной двойной системной шины и протокола когерентного кэша MOESI, управляющего пропускной способностью памяти, что необходимо для достижения оптимального баланса работы процессоров в многопроцессорных системах. Пропускная способность шины составляет 2,1 Гбайт/с, в расчете на каждый процессор.

Процессор выпускается с тактовыми частотами от I ГГц (технология 0,18 мкм) до 2,133 ГГц (технология 0,13 мкм, ядро Thoroughbred).

ТЕМА 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 команд.