Типы архитектур процессоров. Возможности трехкластерных SoC-процессоров MediaTek

19.06.2019

Существует несколько подходов к классификации микропроцессоров по типу архитектуры. Так, выделяют МП с CISC (Complete Instruction Set Computer) архитектурой, характеризуемой полным набором команд, RISC (Reduce Instruction Set Computer) архитектурой, которая определяет систему с сокращенным набором команд одинакового формата, и MISC (Minimum Instruction Set Computing) вычисления с минимальным набором команд, выполняемых за один такт МП.

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

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

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

1) разрядности адресов и данных;

2) состава, имен и назначения программно-доступных регистров;

3) форматов и системы команд;

4) режимов адресации памяти;

5) способов машинного представления данных разного типа;

6) структуры адресного пространства;

7) способа адресации внешних устройств и средств выполнения операций ввода/вывода;

8) классов прерываний, особенностей инициирования и обработки прерываний.

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

Джон фон Нейман придумал схему постройки компьютера в 1946 году.

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

Этапы цикла выполнения:

Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса, и отдаёт памяти команду чтения;

Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных, и сообщает о готовности;

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

Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды;

Снова выполняется п. 1.

Данный цикл выполняется неизменно, и именно он называется процессом (откуда и произошло название устройства).

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

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

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

Гарвардская архитектура

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

Типичные операции (сложение и умножение) требуют от любого вычислительного устройства нескольких действий: выборку двух операндов, выбор инструкции и её выполнение, и, наконец, сохранение результата. Идея, реализованная Эйкеном, заключалась в физическом разделении линий передачи команд и данных. В первом компьютере Эйкена Марк I для хранения инструкций использовалась перфорированная лента, а для работы с данными — электромеханические регистры. Это позволяло одновременно пересылать и обрабатывать команды и данные, благодаря чему значительно повышалось общее быстродействие.

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

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

1) получение и декодирование инструкции (Fetch)

2) адресация и выборка операнда из ОЗУ (Memory access)

3) выполнение арифметических операций (Arithmetic Operation)

4) сохранение результата операции (Store)

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

Действительно, при отсутствии конвейера выполнение команды займёт n единиц времени (так как для выполнения команды по прежнему необходимо выполнять выборку, дешифрацию и т. д.), и для исполнения m команд понадобится единиц времени; при использовании конвейера (в самом оптимистичном случае) для выполнения m команд понадобится всего лишь n + m единиц времени.

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

  • простой конвейера, когда некоторые ступени не используются (напр., адресация и выборка операнда из ОЗУ не нужны, если команда работает с регистрами);
  • ожидание: если следующая команда использует результат предыдущей, то последняя не может начать выполняться до выполнения первой (это преодолевается при использовании внеочередного выполнения команд, out-of-order execution);
  • очистка конвейера при попадании в него команды перехода (эту проблему удаётся сгладить, используя предсказание переходов).
  • Некоторые современные процессоры имеют более 30 ступеней в конвейере, что увеличивает производительность процессора, однако приводит к большому времени простоя (например, в случае ошибки в предсказании условного перехода.)

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

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

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

Complex Instruction Set Computer — вычисления со сложным набором команд. Процессорная архитектура, основанная на усложнённом наборе команд. Типичными представителями CISC является семейство микропроцессоров Intel x86 (хотя уже много лет эти процессоры являются CISC только по внешней системе команд).

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

Reduced Instruction Set Computing (technology) — вычисления с сокращённым набором команд. Архитектура процессоров, построенная на основе сокращённого набора команд. Характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. Концепция RISC разработана Джоном Коком (John Cocke) из IBM Research, название придумано Дэвидом Паттерсоном (David Patterson).

Самая распространённая реализация этой архитектуры представлена процессорами серии PowerPC, включая G3, G4 и G5. Довольно известная реализация данной архитектуры — процессоры серий MIPS и Alpha.

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

Minimum Instruction Set Computing — вычисления с минимальным набором команд. Дальнейшее развитие идей команды Чака Мура, который полагает, что принцип простоты, изначальный для RISC процессоров, слишком быстро отошёл на задний план. В пылу борьбы за максимальное быстродействие, RISC догнал и перегнал многие CISC процессоры по сложности.

Контрольные вопросы:

1) Дайте о пределение архитектуры микропроцессора.

2) Назовите основные типы архитектур.

3) Назовите о тличительные особенности архитектуры Джона Фон Неймана.

4) Что такое тактовая частота?

5) Дайте определение Гарвардской архитектуры.

6) Расскажите о конвейерной архитектуре. Для чего она была введена в центральный процессор?

7) Назовите факторы, снижающие эффективность конвейера.

8) Что такое суперскалярная архитектура?

9) Что характеризует RISC-процессоры?

10) Охарактеризуйте СISC-процессоры.

См. также:

Введение. Компьютерная техника развивается быстрыми темпами. Вычислительные устройства становятся мощнее, компактнее, удобнее, однако в последнее время повышение производительности устройств стало большой проблемой. В 1965 году Гордон Мур (один из основателей Intel) пришёл к выводу, что «количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается каждые 24 месяца».

Первые разработки в области создания многопроцессорных систем начались в 70-х годах. Длительное время производительность привычных одноядерных процессоров повышалась за счёт увеличения тактовой частоты (до 80% производительности определяла только тактовая частота) с одновременным увеличением числа транзисторов на кристалле. Фундаментальные законы физики остановили этот процесс: чипы стали перегреваться, технологический стал приближаться к размерам атомов кремния. Все эти факторы привели к тому, что:

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

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

Hyper-Threading Technology (HTT) или технология сверхпоточной обработки данных, позволяющая процессору на одном ядре выполнять несколько программных потоков. Именно HTT по мнению многих специалистов стала предпосылкой для создания многоядерных процессоров. Выполнение процессором одновременно несколько программных потоков называется параллелизмом на уровне потоков (TLP –thread-level parallelism).

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

1. Общие понятия

Архитектура в широком смысле – это описание сложной системы, состоящей из множества элементов.

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

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

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

Процессоры Intel, используемые в IBM – совместимых ПК, насчитывают более тысячи команд и относятся к процессорам с расширенной системой команд – CISC-процессорам (CISC –Complex Instruction Set Computing).

1.1 Высокопроизводительные вычисления. Параллелизм

Темпы развития вычислительной техники легко проследить: от ENIAC (первый электронный цифровой компьютер общего назначения) с производительностью в несколько тысяч операций в секунду до суперкомпьютера Tianhe-2 (1000 триллионов операций с плавающей запятой в секунду). Это означает, что скорость вычислений увеличилась в триллион раз за 60 лет. Создание высокопроизводительных вычислительных систем – одна из самых сложных научно-технических задач. При том, что скорость вычислений технических средств выросла всего лишь в несколько миллионов раз, общая скорость вычислений выросла в триллионы раз. Этот эффект достигнут за счёт применения параллелизма на всех стадиях вычислений. Параллельные вычисления требуют поиска рационального распределения памяти, надёжных способов передачи информации и координации вычислительных процессов.

1.2 Симметрическая мультипроцессорность

Symmetric Multiprocessing (сокращённо SMP) или симметрическое мультипроцессирование – это особая архитектура мультипроцессорных систем, в которой несколько процессоров имеют доступ к общей памяти. Это очень распространённая архитектура, достаточно широко используемая в последнее время.

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

В силу перечисленных выше особенностей, SMP-системы применяется исключительно в научной сфере, промышленности, бизнесе, крайне редко в рабочих офисах. Кроме высокой стоимости аппаратной реализации, такие системы нуждаются в очень дорогом и качественном программном обеспечении, обеспечивающем многопоточное выполнение задач. Обычные программы (игры, текстовые редакторы) не будут эффективно работать в SMP-системах, так как в них не предусмотрена такая степень распараллеливания. Если адаптировать какую-либо программу для SMP-системы, то она станет крайне неэффективно работать на однопроцессорных системах, что приводит к необходимости создание нескольких версий одной и той же программы для разных систем. Исключение составляет, например, программа ABLETON LIVE (предназначена для создания музыки и подготовка Dj-сетов), имеющая поддержку мультипроцессорных систем. Если запустить обычную программу на мультипроцессорной системе, она всё же станет работать немного быстрее, чем в однопроцессорной. Это связано с так называемым аппаратным прерыванием (остановка программы для обработки ядром), которое выполняется на другом свободном процессоре.

SMP-система (как и любая другая, основанная на параллельных вычислениях) предъявляет повышенные требования к такому параметру памяти, как полоса пропускания шины памяти. Это зачастую ограничивает количество процессоров в системе (современные SMP- системы эффективно работают вплоть до 16 процессоров).

Так как у процессоров общая память, то возникает необходимость рационального её использования и согласования данных. В мультипроцессорной системе получается так, что несколько кэшей работают для разделяемого ресурса памяти. Сache coherence (когерентность кэша) – свойство кэша, обеспечивающее целостность данных, хранящихся в индивидуальных кэшах для разделяемого ресурса. Данное понятие – частный случай понятия когерентности памяти, где несколько ядер имеют доступ к общей памяти (повсеместно встречается в современных многоядерных системах). Если описать данные понятия в общих чертах, то картина будет следующей: один и тот же блок данных может быть загружен в разные кэши, где данные обрабатываются по-разному.

Если не будут использованы какие-либо уведомления об изменении данных, то возникнет ошибка. Когерентность кэша призвана для разрешения таких конфликтов и поддержки соответствия данных в кэшах.

SMP-системы являются подгруппой MIMD (multi in-struction multi data - вычислительная система со множественным потоком команд и множественным потоком данных) классификации вычислительных систем по Флинну (профессор Стэнфордского университета, сооснователь Palyn Associates). Согласно данной классификации, практически все разновидности параллельных систем можно отнести к MIMD.

Разделение многопроцессорных систем на типы происходит на основе разделения по принципу использования памяти. Этот подход позволил различить следующие важные типы

многопроцессорных систем – multiprocessors (мультипроцессорные системы с общей разделяемой памятью) и multicomputers (системы с раздельной памятью). Общие данные, используемы при параллельных вычислениях требуют синхронизации. Задача синхронизация данных – одна из самых важных проблем, и её решение при разработке многопроцессорных и многоядерных и, соответственно, необходимого программного обеспечения является приоритетной задачей инженеров и программистов. Общий доступ к данным может быть произведён при физическом распределении памяти. Этот подход называется неоднородным доступом к памяти (non-uniform memory access или NUMA).

Среди данных систем можно выделить:

  • Системы, где только индивидуальная кэш-память процессоров используется для представления данных (cache-only memory architecture).
  • Системы с обеспечением когерентности локальных кэшей для различных процессоров (cache-coherent NUMA).
  • Системы с обеспечением общего доступа к индивидуальной памяти процессоров без реализации на аппаратном уровне когерентности кэша (non-cache coherent NUMA).

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

1.3 Одновременная многопоточность

Исходя из всех вышеперечисленных недостатков симметрической мультипроцессорности, имеет смысл разработка и развитие других способов повышения производительности. Если проанализировать работу каждого отдельного транзистора в процессоре, можно обратить внимание на очень интересный факт – при выполнении большинства вычислительных операций задействуются далеко не все компоненты процессора (согласно последним исследованиям – около 30% всех транзисторов). Таким образом, если процессор выполняет, скажем, несложную арифметическую операцию, то большая часть процессора простаивает, следовательно, её можно использовать для других вычислений. Так, если в данный момент процессор выполняет вещественные операции, то в свободную часть можно загрузить целочисленную арифметическую операцию. Чтобы увеличить нагрузку на процессор, можно создать спекулятивное (или опережающее) выполнение операций, что требует большого усложнения аппаратной логики процессора. Если в программе заранее определить потоки (последовательности команд), которые могут выполняться независимо друг от друга, то это заметно упростит задачу (данный способ легко реализуется на аппаратном уровне). Эта идея, принадлежащая Дину Тулсену (разработана им в 1955 г в университете Вашингтона), получила название одновременной многопоточности (simul-taneous multithreading). Позднее она была развита компанией Intel под названием гиперпоточности (hyper threading). Так, один процессор, выполняющий множество потоков, воспринимается операционной системой Windows как несколько процессоров. Использование данной технологии опять-таки требует соответствующего уровня программного обеспечения. Максимальный эффект от применения технологии многопоточности составляет около 30%.

1.4 Многоядерность

Технология многопоточности – реализация многоядерности на программном уровне. Дальнейшее увеличение производительности, как всегда, требует изменений в аппаратной части процессора. Усложнение систем и архитектур не всегда оказывается действенным. Существует обратное мнение: «всё гениальное – просто!». Действительно, чтобы повысить производительность процессора вовсе необязательно повышать его тактовую частоту, усложнять логическую и аппаратную составляющие, так как достаточно лишь провести рационализацию и доработку существующей технологии. Такой способ весьма выгоден – не нужно решать проблему повышения тепловыделения процессора, разработку нового дорогостоящего оборудования для производства микросхем. Данный подход и был реализован в рамках технологии многоядерности – реализация на одном кристалле нескольких вычислительных ядер. Если взять исходный процессор и сравнить прирост производительности при реализации нескольких способов повышения производительности, то очевидно, что применение технологии многоядерности является оптимальным вариантом.

Если сравнивать архитектуры симметричного мультипроцессора и многоядерного, то они окажутся практически идентичными. Кэш-память ядер может быть многоуровневой (локальной и общей, причём данные из оперативной памяти могут загружаться в кэш-память второго уровня напрямую). Исходя из рассмотренных достоинств многоядерной архитектуры процессоров, производители делают акцент именно на ней. Данная технология оказалась достаточно дешёвой в реализации и универсальной, что позволило вывести её на широкий рынок. Кроме того, данная архитектура внесла свои коррективы в закон Мура: «количество вычислительных ядер в процессоре будет удваиваться каждые 18 месяцев».

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

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

Что такое архитектура процессора?

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

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



За всё время существования микропроцессорной техники, было множество различных видов архитектур. Наиболее популярными являются CISC, MISC, VLIW и RISC. Отличия между ними заключаются лишь в том, как они взаимодействуют с данными, которые поступают к процессору, и которые из него исходят.

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

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



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

Одной из самых известных серий архитектур, считается «Cortex». В первых смартфонах присутствовала архитектура Cortex А7, которая сегодня считается устаревшей. Наиболее производительными сегодня считаются Cortex А72 и А73. Компания Apple в своих устройствах использует модифицированную архитектуру ARMv8.

План
1. Архитектуры процессоров.
1.1. RISC.
1.2. CISC.
1.3. Параметры процессоров.
1.4. Процесс производства.

1. АРХИТЕКТУРЫ ПРОЦЕССОРОВ
Процессор, или более полно - микропроцессор, часто
называемый ЦПУ (CPU - central processing unit), является
центральным компонентом компьютера. Это разум, который
прямо или косвенно управляет всем происходящим внутри
компьютера.
Когда фон Нейман впервые предложил хранить после-
довательность инструкций, так называемые программы, в той
же памяти, что и данные, это была поистине новаторская идея.
Опубликована она в «First Draft of a Report on the EDVAC» в
1945 г. Этот отчет описывал компьютер состоящим из четы-
рех основных частей: центрального арифметического устрой-
ства, центрального управляющего устройства, памяти и средств
ввода/вывода.
Сегодня почти все процессоры имеют фон-неймановскую
архитектуру.
Каждый микропроцессор имеет определенное число эле-
ментов памяти, называемых регистрами, арифметико-логичес-
кое устройство (АЛУ) и устройство управления.
Регистры используются для временного хранения вы-
полняемой команды, адресов памяти, обрабатываемых дан-
ных и другой внутренней информации микропроцессора.
В АЛУ производится арифметическая и логическая, об-
работка данных.
Устройство управления реализует временную диаграм-
му и вырабатывает необходимые управляющие сигналы для
внутренней работы микропроцессора и связи его с другой ап-
паратурой через внешние шины микропроцесс ера.
На данный момент существует несколько направлений в
производстве микропроцессоров. Они различается принци-
пами построения архитектуры процессора. Накоолее распрос-
траненными являются архитектуры RISC и CISC.
1.1. RISC
Микропроцессоры с архитектурой RISC (Reduced Instruction
Set Computers) используют сравнительно ызболылой (со-
кращенный) набор наиболее употребимых ком ад, определен-
ный в результате статистического анализа большого числа про-
грамм для основных областей применения CISC-процессоров
исходной архитектуры. Все команды работают с операндами и
имеют одинаковый формат. Обращение к памяти выполняет-
ся с помощью специальных команд загрузки регистра и запи-
си. Простота структуры и небольшой набор к J панд позволя-
ют реализовать полностью их аппаратное выполнение и эф-
Процессор 269
фективный конвейер при небольшом объеме оборудования.
Арифметику RISC-процессоров отличает высокая степень
дробления конвейера. Этот прием позволяет увеличить так-
товую частоту (а значит, и производительность) компьютера;
чем более элементарные действия выполняются в каждой фазе
работы конвейера, тем выше частота его работы. RISC-про-
цессоры с самого начала ориентированы на реализацию всех
возможностей ускорения арифметических операций, поэто-
му их конвейеры обладают значительно более высоким бы-
стродействием, чем в CISC-процессорах. Поэтому RISC-про-
цессоры в 2-4 раза быстрее имеющих ту же тактовую час-
тоту CISC-процессоров с обычной системой команд и более
высокопроизводительны, несмотря на больший размер про-
грамм. RISC-архитектура построена на 4 основных прин-
ципах:
1. Любая операция должна выполняться за один такт,
вне зависимости от ее типа.
2. Система команд должна содержать минимальное коли-
чество наиболее часто используемых простейших инструкций
одинаковой длины.
3. Операции обработки данных реализуются только в
формате «регистр - регистр» (операнды выбираются из опе-
ративных регистров процессора, и результат операции запи-
сывается также в регистр; а обмен между оперативными реги-
страми и памятью выполняется только с помощью команд за-
грузки/записи).
4. Состав системы команд должен быть удобен для ком-
пиляции операторов языков высокого уровня.
Усложнение RISC-процессоров фактически приближает
их архитектуру к CISC-архитектуре.
В настоящее время число процессоров с RISC-архитек-
турой существенно возросло и все ведущие фирмы США их
производят, в том числе фирмы Intel, Motorola - производи-
тели основных семейств процессоров с CISC-архитектурой.
1.2. CISC
Микропроцессоры с архитектурой CISC (Complex
Instruction Set Computers - архитектура вычислений с полной
системой команд) реализуют на уровне машинного языка ком-
плексные наборы команд различной сложности, от простых,
характерных для микропроцессора первого поколения, до
очень сложных. Большинство современных процессоров для
персональных компьютеров построено по архитектуре CISC.
В последнее время появились гибридные процессоры,
которые имеют систему команд CISC, однако внутри преобра-
зовывают их в цепочки RISC-команд, которые и исполняются
ядром процессора.
Постепенное усложнение CISC-процессоров происходит
в направлении более совершенного управления машинными
ресурсами, а также в направлении сближения машинных язы-
ков с языками высокого уровня.
В то же время сложная система команд и переменный
формат команды процессором с CISC-архитектурой привели
к быстрому росту сложности схем. Так, процессор 8086 со-
держал 29 тыс. транзисторов, 80 386 - 275 000, Pentium -
3 100 000, Pentium 4 - 42 млн транзисторов. Для того чтобы
такие процессоры вообще могли работать с приемлемым энер-
гопотреблением и размещаться на ограниченной площади, про-
изводители работают над миниатюризацией транзисторов. Уже
достигнут уровень 0,09 мкм.
1.3. Параметры процессоров
Структуры различных типов процессоров могут существен-
но различаться, однако с точки зрения пользователя наиболее
важными параметрами являются архитектура, адресное простран-
ство памяти, разрядность шины данных, быстродействие.
Архитектуру микропроцессора (МП) определяет разряд-
ность слова и внутренней шины данных МП. Первые МП ос-
новывались на 4-разрядной архитектуре. Первые ПЭВМ ис-
пользовали МП с 8-разрядной архитектурой, а современные
МП основаны на 32- и 64-разрядной архитектуре.
Микропроцессоры с 4- и 8-разрядной архитектурой ис-
пользовали последовательный принцип выполнения команд,
при котором очередная операция начинается только после
выполнения предыдущей. В некоторых МП с 16-разрядной
архитектурой используются принципы параллельной работы,
при которой одновременно с выполнением текущей команды
производятся предварительная выборка и хранение последу-
ющих команд. В МП с 32-разрядной архитектурой использу-
ется конвейерный метод выполнения команд, при котором
несколько внутренних устройств МП работают параллельно,
производя одновременно обработку нескольких последова-
тельных команд программы.
Адресное пространство памяти определяется разряд-
ностью адресных регистров и адресной шины МП. В 8-раз-
рядных МП адресные регистры обычно составляются из
двух 8-разрядных регистров, образуя 16-разрядную шину,
адресующую 68 КБ памяти. В 16-разрядных МП, как пра-
вило, используются 20-разрядные адресные регистры, ад-
ресующие 1 МБ памяти. В 32-разрядных МП используются
24- и 32-разрядные адресные регистры, адресующие от 16 МБ
до 4 ГБ памяти.
Для выборки команд и обмена данными с памятью МП
имеют шину данных, разрядность которой, как правило, сов-
падает с разрядностью внутренней шины данных, определяе-
мой архитектурой МП. Однако для упрощения связи с внеш-
ней аппаратурой внешняя шина данных может иметь разряд-
ность меньшую, чем внутренняя шина и регистры данных.
Например, некоторые МП с 16-разрядной архитектурой име-
ют 8-разрядную внешнюю шину данных. Они представляют
собой специальные модификации обычных 16-разрядных МП
и обладают практически той же вычислительной мощностью.
Одним из важных параметров МП является тактовая
частота его работы и работы системной шины, которая обыч-
но задается внешними синхросигналами. Для современных про-
цессоров стандартными являются частоты системной шины
66, 100, 133 МГц, а собственная частота достигает 3 ГГц. Вы-
полнение простейших команд (например, сложение двух опе-
рандов из регистров или пересылка операндов в регистрах
МП) требует минимально двух периодов тактовых импуль-
сов (для выборки команды и ее выполнения). Более сложные
команды требуют для выполнения до 10-20 периодов такто-
вых импульсов. Если операнды находятся не в регистрах, а в
памяти, дополнительное время расходуется на выборки опе-
рандов в регистры и запись результата в память.
Скорость работы МП определяется не только тактовой
частотой, но и набором его команд, их гибкостью, развитой
системой прерываний.
В соответствии с законом Мура (сформулированным в
1965 г. Гордоном Муром, одним из создателей Intel), CPU
удваивает свою мощность и возможности каждые 18 месяцев.
Этот закон действует на протяжении уже почти сорока лег.
270 Информатика
Однако законы физики ограничивают разработчиков
в непосредственном увеличении частоты, и хотя частоты
растут каждый год, это не может дать того прироста произ-
водительности, что мы используем сегодня. Вот почему ин-
женеры постоянно ищут способ заставить процессор вы-
полнять больше работы за каждый тик. Развитие состоит в
расширении шины данных и регистров. Даже 4-битные про-
цессоры способны складывать 32-битные числа, правда, вы-
полнив массу инструкций; 32-битные процессоры решают
эту задачу в одну инструкцию. Большинство сегодняшних
процессоров имеют 32-разрядную архитектуру, на повестке
уже 64-разрядные.
1.4. Процесс производства
Кремний или силикон - это основной материал для про-
изводства чипов. Это полупроводник, который, будучи приса-
жен добавками по специальной маске, становится транзисто-
ром, основным строительным блоком цифровых схем. Процесс
подразумевает вытравливание транзисторов, резисторов, пере-
секающихся дорожек и т. д. на поверхности кремния.
Сперва выращивается кремневая болванка. Она должна
иметь бездефектную кристаллическую структуру, этот аспект
налагает ограничение на ее размер. В прежние дни болванка
ограничивалась диаметром в 2 дюйма, а сейчас - 8 дюймов. На
следующей стадии болванка разрезается на слои, называемые
пластинами (wafers). Они полируются до безупречной зеркаль-
ной поверхности, На этой пластине и создается чип. Обычно
из одной пластины делается много процессоров.
Электрическая схема состоит из разных материалов.
Например, диоксид кремния - это изолятор, из полисиликона
изготавливаются проводящие дорожки. Когда появляется
открытая пластина, она бомбардируется ионами для создания
транзисторов - .это и называется присадкой.
Чтобы создать все требуемые детали, на всю поверхность
пластины добавляются слои и лишние части вытравливаются
вновь. Для этого новый слой покрывается фоторезистором,
на который проектируется образ требуемых деталей. После
экспозиции проявление удаляет части фоторезистора, выстав-
ленные на свет, оставляя маску, через которую проходило
вытравливание. Оставшийся фоторезистор удаляется раство-
рителем.
Этот процесс повторяется, по слою за раз, до полного
создания всей схемы. Излишне говорить, что детали размером
в миллионную долю метра может испортить мельчайшая пылин-
ка. Такая пьиинка может быть размером от микрона до ста - а
это в 3-300 раз больше детали. Микропроцессоры произво-
дятся в сверхчистой среде, где операторы одеты в специаль-
ные защитные костюмы.
В прежние времена производство полупроводников при-
водило к удаче или неудаче с отношением успеха менее 50%
работающих чипов. Сегодня выход готовой продукции на-
много выше, но никто не ожидает 100%. Как только новый
слой добавляется на пластину, каждый чип тестируется и от-
мечается любое несоответствие. Индивидуальные чипы отде-
ляются. Плохие бракуются, а хорошие упаковываются в PGA-
корпус (Pin Grid Arrays) - керамический прямоугольник с
рядами штырьков на дне; именно такой корпус большинство
людей принимают за процессор.
Intel 4004 использовал 10-микронный процесс: наимень-
шие детали составляли одну 10-миллионную метра. По сегод-
няшним стандартам это чудовищно. Если предположить, что
Pentium II изготовлен по такой технологии, он был бы раз-
мером 14×20 см и был бы медленным - быстрые транзисто-
ры малы. Большинство процессоров сегодня используют
0.13-микрониую технологию, а на подходе уже и 0.09-мик-
ронный процесс.

Эта глава посвящена архитектурным особенностям микропроцессоров. В ней приведены общие сведения о микропроцессорах, рассматриваются принципы структурно - функциональной организации) типы данных, регистровая память, спо-собы адресации и система команд микропроцессоров. Излагаемый материал ил-люстрируется на простейших 8- и 16-разрядных процессорах.

Основные понятия

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

Микроконтроллер — это специализированный процессор, предназначен-ный для реализации функций управления (control— управление).

{xtypo_quote}Цифровой сигнальный процессор(Digital Signal Processor — DSP) — это специа-лизированный процессор, предназначенный для обработки цифровых сигналов. {/xtypo_quote}
Микропроцессорная система представляет собой функционально законченное изделие, состоящее из нескольких цифровых устройств, включая процессор. Это понятие объединяет широкий набор законченных изделий, начиная с микроконтроллеров, выполненных на интегральных микросхемах, и кон-чая компьютерными системами, представляющими собой набор отдельных конст-руктивно оформленных устройств (системный блок, клавиатура, монитор и др.). В дальнейшем рассматриваются простейшие (однокристальные) микропроцес-сорные системы, содержащие помимо процессора основную память и устройства ввода/вывода. Такие микропроцессорные системы можно отнести к классу микро-процессоров.

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

● физическую организацию в виде принципиальной схемы;

● логическую организацию в виде структурно-функциональной схемы.

В дальнейшем рассматривается организация микропроцессоров на логиче-ском уровне, или структурно-функциональная организация процессоров.

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

{xtypo_quote}Например, современные 32-разрядные процессоры х86 с архитектурой IA-32 (Intel Architecture — 2 bit) имеют стандарт-ный набор регистров, общую систему основных команд, одинаковые способы организации и адресации памяти, защиты памяти и обслуживания прерываний. Отметим, что понятие архитектуры в большей степени характеризует свойства системы, чем устройства. {/xtypo_quote}

Основные виды архитектур

По форматам используемых команд (инструкций) можно выделить:

● CISC-архитектуру, которая относится к процессорам (компьютерам) с полным набором команд (Complete Instruction Set Computer— CISC). Она реализова-на во многих типах микропроцессоров (например Pentium), выполняющих большой набор разноформатных команд с использованием многочисленных способов адресации.

Система команд процессоров с CISC-архитектурой может содержать не-сколько сотен команд разного формата (от 1 до 15 байт), или степени слож-ности, и использовать более 10 различных способов адресации, что позволя-ет программисту реализовать наиболее эффективные алгоритмы решения различных задач.

Развитие традиционных CISC

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

● RISC-архитектуру, которая относится к процессорам (компьютерам) с сокра-щенным набором команд (Reduced instruction Set Computer — RISC). Появле-ние RISC -архитектуры продиктовано тем, что многие CISC -команды и спо-собы адресации используются достаточно редко. Основная особенность RISC-архитектуры проявляется в том, что система команд состоит из неболь-шого количества часто используемых команд одинакового формата, которые могут быть выполнены за один командный цикл (такт) центрального процес-сора. Более сложные, редко используемые команды реализуются на про-граммном уровне. Однако за счет значительного повышения скорости испол-нения команд средняя производительность RISC-процессоров может оказать-ся выше, чем у процессоров с CISC-архитектурой.

{xtypo_quote}Большинство команд RISC -процессоров связано с операцией регистр-регистр. Для обращения к памяти оставлены наиболее простые с точки зре-ния временных затрат операции загрузки в регистры и записи в память. {/xtypo_quote}

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

Для сокращения количества обращений к внешней оперативной памяти RISC -процессоры содержат десятки-сотни регистров общего назначения (РОН), тогда как в CISC -процессорах всего 8-16 регистров. Обращение к внешней памяти в RISC-процессорах используется только в операциях за-грузки данных в РОН или пересылки результатов из РОН в память. За счет со-кращения аппаратных средств, необходимых для декодирования и выполне-ния сложных команд, достигается существенное упрощение интегральных схем RISC-процессоров и снижение их стоимости. Кроме того, значительно повышается производительность. Благодаря указанным достоинствам во многих современных
CI SC -процессорах (последние модели Pentium и К7) ис-пользуется RISC-ядро. При этом сложные CI SC-команды предварительно преобразуются в последовательность простых RISC-операций и быстро вы-полняются RISC-ядром;

● VLIW-архитектуру, которая относится к микропроцессорам с использованием очень длинных команд (Very Large Instruction Word— VLIW). Отдельные поля команды содержат коды, обеспечивающие выполнение различных операций. Одна VLIW -команда может выполнить сразу несколько операций одновремен-но в различных узлах микропроцессора. Формирование «длинных» VLIW - koманд производит соответствующий компилятор при трансляции программ, написанных на языке высокого уровня.

{xtypo_quote}VLIW -архитектура реализована в неко-торых типах современных микропроцессоров и является весьма перспектив-ной для создания нового поколения сверхвысокопроизводительных процес-соров. {/xtypo_quote}

По способу организации выборки команд и данных различа-ют два вида архитектур:

● принстонская архитектура, или архитектура фон-Неймана, особенностью которой является (рис. 2.1.1) использование:

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

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

Недостаток принстонской архитектуры

Использование общей шины для пе-редачи команд и данных ограничивает производительность цифровой системы;

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

Недостатки гарвардской архитектуры

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

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

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

Похожие статьи