Как называется процессор с сокращенным набором команд

Обновлено: 07.07.2024

Процессор ЭВМ

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

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

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

АЛУ – компонента процессора, выполняющая арифметические и логические операции над данными.

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

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

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

Регистр, накапливающий данные, называется аккумулятором .

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

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

Регистры общего назначения (РОН) – общее название для регистров, которые временно содержат данные, передаваемые или принимаемые из памяти. РОН являются программно-доступными регистрами.

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

Важной функцией АЛУ является анализ полученного после выполнения команды результата. Обычно проверяется два свойства: равенство или неравенство нулю и отрицательность или неотрицательность ответа. Результаты анализа сохраняются в виде отдельных битов в регистре состояния . Данные этого регистра используются УУ для исполнения команд условных переходов.

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

u извлекать из памяти очередную команду;

u расшифровывать ее и преобразовывать в последовательность стандартных элементарных действий;

u заносить в АЛУ исходные данные;

u сохранять полученный в АЛУ результат;

u обеспечивать синхронную работу всех узлов машины.

Для выполнения этих функций служит устройство управления (УУ).

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

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

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

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

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

Как правило, в современных процессорах разрядности регистров, шины данных и шины адреса различны. Например,

Основной алгоритм работы процессора

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

При выполнении каждой команды вычислительная машина проделывает определенные стандартные действия:

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

2. Считанная в регистр команд операция расшифровывается.

3. Извлекаются необходимые данные.

4. Над ними в АЛУ выполняются требуемые действия.

5. Результат записывается в ОЗУ.

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

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

считывание очередной команды в регистр команд

формирование адреса
следующей команды

Рис 3.1 Основной алгоритм работы процессора.

Основной алгоритм работы ЭВМ позволяет шаг за шагом выполнить хранящуюся в ОЗУ линейную программу. Но для решения практических задач требуется организация разветвлений и повторений. Для изменения порядка вычислений в системе команд любой ЭВМ существуют специальные инструкции переходов, с помощью которых в счетчик команд заносится необходимый адрес. Как известно, переходы бывают безусловные , выполняемые всегда, и условные , которые совершаются только в случае истинности определенного условия. Анализ условий осуществляется в арифметико-логическом устройстве.

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

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

Оптимизация выполнения команд

Конвейеризация. Как следует из приведенной схемы (рис.3.1), обработка команды в процессоре может быть разделена на несколько основных этапов, которые можно назвать микрокомандами . Известно пять основных типов микрокоманд. Каждая операция требует для своего выполнения времени, равному такту генератора процессора.

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

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

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

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

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

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

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

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

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

Система команд процессора.

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

1. Команды передачи данных (перепись), копирующие информацию из одного места в другое.

2. Арифметические операции, которым обязана своим рождением вычислительная техника.

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

4. Сдвиги двоичного кода влево и вправо. Операции сдвига используются, например, при выполнении умножения и деления чисел.

5. Команды ввода и вывода информации для обмена с внешними устройствами.

6. Команды управления, к которым следует отнести все виды переходов. Сюда же включают операции по управлению процессором.

Процессоры RISC- и CISC- архитектуры

По способу представления команд все микропроцессоры можно разделить на две группы:

u процессоры типа CISC ( Complex Instruction Set Computing ) с полным набором команд;

u процессоры типа RISC ( Reduced ) с сокращенным набором команд. Эти процессоры нацелены на быстрое выполнение небольшого набора простых команд. При выполнении сложных команд RISC – процессоры работают медленнее, чем CISC – процессоры.

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

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

Сформулированы четыре основных принципа RISC – архитектуры:

u каждая команда независимо от её типа выполняется за один машинный цикл, длительность которого должна быть максимально короткой;

u все команды должны иметь одинаковую длину и использовать минимум адресных форматов, что резко упрощает логику управления процессором;

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

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

Основоположником CISC – архитектуры можно считать фирму IBM . Стратегия CISC – архитектуры состояла в обеспечении технологической возможности перенесения «центра тяжести » обработки данных с программного уровня системы на аппаратный.

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

Центра́льный проце́ссор (ЦП; CPU, от англ. central processing unit, дословно — центральное вычислительное устройство) — процессор машинных инструкций, часть аппаратного обеспечения компьютера или программируемого логического контроллера, отвечающая за выполнение арифметических операций, заданных программами операционной системы, и координирующий работу всех устройств компьютера.

Содержание

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

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

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

Архитектура фон Неймана

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

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

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

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

  1. Процессор выставляет число, хранящееся в регистресчётчика команд, на шину адреса, и отдаёт памяти команду чтения;
  2. Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных, и сообщает о готовности;
  3. Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её;
  4. Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды;
  5. Снова выполняется п. 1.

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

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

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

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

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

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

  • получение и декодирование инструкции (Fetch)
  • адресация и выборка операнда из ОЗУ (Memory access)
  • выполнение арифметических операций (Arithmetic Operation)
  • сохранение результата операции (Store)

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

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

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

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

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

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

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

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

Complex Instruction Set Computing — вычисления со сложным набором команд. Процессорная архитектура, основанная на усложнённом наборе команд. Типичными представителями 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 процессоры по сложности. Архитектура MISC строится на стековой вычислительной модели с ограниченным числом команд (примерно 20–30 команд).

Многоядерные процессоры

Содержат несколько процессорных ядер в одном корпусе (на одном или нескольких кристаллах).

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

На данный момент массово доступны процессоры с двумя ядрами, в частности Intel Core 2 Duo на ядре Conroe и Athlon64X2 на базе микроархитектуры K8. В ноябре 2006 года вышел первый четырёхъядерный процессор Intel Core 2 Quad на ядре Kentsfield, представляющий собой сборку из двух кристаллов Conroe в одном корпусе.

10 сентября 2007 года были выпущены в продажу нативные (в виде одного кристалла) четырёхьядерные процессоры для серверов AMD Quad-Core Opteron, имевшие в процессе разработки кодовое название AMD Opteron Barсelona. 19 ноября 2007 вышел в продажу четырёхьядерный процессор для домашних компьютеров AMD Quad-Core Phenom. Эти процесоры реализуют новую микроархитектуру K8L (K10).

27 сентября 2006 года Intel продемонстрировала прототип 80-ядерного процессора. Предполагается, что массовое производство подобных процессоров станет возможно не раньше перехода на 32-нанометровый техпроцесс, а это в свою очередь ожидается к 2010 году.

Кэширование

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

Различают кэши 1-, 2- и 3-го уровней. Кэш 1-го уровня имеет наименьшую латентность (время доступа), но малый размер, кроме того кэши первого уровня часто делаются многопортовыми. Так, процессоры AMD K8 умели производить 64 бит запись+64 бит чтение либо два 64-бит чтения за такт, процессоры Intel Core могут производить 128 бит запись+128 бит чтение за такт. Кэш 2-го уровня обычно имеет значительно большие латентности доступа, но его можно сделать значительно больше по размеру. Кэш 3-го уровня самый большой по объёму и довольно медленный, но всё же он гораздо быстрее, чем оперативная память.

Параллельная архитектура

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

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

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

  • SISD — один поток команд, один поток данных;
  • SIMD — один поток команд, много потоков данных;
  • MISD — много потоков команд, один поток данных;
  • MIMD — много потоков команд, много потоков данных.

Технология изготовления процессоров

История развития процессоров

Современная технология изготовления

Файл:AMD Athlon XP2000 Plus CPU.jpg В современных компьютерах процессоры выполнены в виде компактного модуля (размерами около 5×5×0,3 см) вставляющегося в zif-сокет. Большая часть современных процессоров реализована в виде одного полупроводникового кристалла, содержащего миллионы, а с недавнего времени даже миллиарды транзисторов. В первых компьютерах процессоры были громоздкими агрегатами, занимавшими подчас целые шкафы и даже комнаты, и были выполнены на большом количестве отдельных компонентов.

В начале 70-х годов ХХ века благодаря прорыву в технологии создания БИС и СБИС (больших и сверхбольших интегральных схем), микросхем, стало возможным разместить все необходимые компоненты ЦП в одном полупроводниковом устройстве. Появились так называемые микропроцессоры. Сейчас слова микропроцессор и процессор практически стали синонимами, но тогда это было не так, потому что обычные (большие) и микропроцессорные ЭВМ мирно сосуществовали ещё по крайней мере 10-15 лет, и только в начале 80-х годов микропроцессоры вытеснили своих старших собратьев. Надо сказать что переход к микропроцессорам позволил потом создать персональные компьютеры, которые теперь проникли почти в каждый дом. Первый микропроцессор Intel 4004 был представлен 15 ноября 1971 года корпорацией Intel. Он содержал 2300 транзисторов, работал на тактовой частоте 108 кГц и стоил 300$.

За годы существования технологии микропроцессоров было разработано множество различных их архитектур. Многие из них (в дополненном и усовершенствованном виде) используются и поныне. Например Intel x86, развившаяся вначале в 32 бит IA32 а позже в 64 бит x86-64. Процессоры архитектуры x86 вначале использовались только в персональных компьютерах компании IBM (IBM PC), но в настоящее время всё более активно используются во всех областях компьютерной индустрии, от суперкомпьютеров до встраиваемых решений. Также можно перечислить такие архитектуры как Alpha, Power, SPARC, PA-RISC, MIPS (RISC — архитектуры) и IA-64 (EPIC — архитектура).

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

Будущие перспективы

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

Квантовые процессоры

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

Российские микропроцессоры

Разработкой микропроцессоров в России занимается ЗАО «МЦСТ». Им разработаны и внедрены в производство универсальные RISC-микропроцессоры с проектными нормами 130 и 350 нм. Завершена разработка суперскалярного процессора нового поколения Эльбрус. Основные потребители российских микропроцессоров — предприятия ВПК.

Если у вас есть справочные книги или статьи , или если вы знаете , качественных веб - сайтов , посвященных теме обсуждаемого здесь, пожалуйста , заполните эту статью, давая ссылки , полезные для его контролируемости и связывая их с « Notes разделе». И ссылки "

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

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

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


Резюме

Принцип

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

801 был микропроцессором RISC. Эта RISC-архитектура решает ограничить игру, но, прежде всего, формат инструкций до нескольких, налагая одинаковое время выполнения для всех. Таким образом, новая инструкция может запускаться в каждом тактовом цикле : это позволяет « конвейер ». Преимущество этого метода в том, что теперь процессор ведет себя так, как если бы за такт выполнялась одна инструкция. Кроме того, разделение каждой инструкции на несколько шагов позволяет повысить тактовую частоту, поскольку комбинаторная глубина между двумя регистрами уменьшается. Эти две характеристики приводят к разделению времени выполнения для всех основных инструкций. Они также позволяют разместить в микросхеме больший кэш и большее количество регистров , так что компиляторы иногда выполняют более эффективную работу, чем опытные программисты [недостаточный исходный код] .

Недостатки

Чтобы улучшить его, добавьте проверяемые ссылки [ как это сделать? ] или шаблон > для отрывков, требующих источника.

Это происходит за счет некоторого снижения читабельности надоедливого кода при программировании на ассемблере, особенно если он оптимизирован: инструкция MVC (MoVe Character) в System 360 все еще была более читаемой, чем последовательность инструкций, делающих то же самое. в RISC-машине. Но для тех, кто кодировал strcpy () на языке C , больше не было никакой разницы. А во время выполнения оптимизированный код C, как правило, был более эффективным по чистой скорости благодаря хитростям использования эффекта конвейера компилятором.

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

Преимущества

Чтобы улучшить его, добавьте проверяемые ссылки [ как это сделать? ] или шаблон > для отрывков, требующих источника.

Поскольку каждая инструкция была простой, декодирование и выполнение процессором должны были быть очень быстрыми, в идеале за один цикл или даже две инструкции за цикл, чего не было в случае с инструкциями CISC. На процессорах CISC инструкции обычно были реализованы в виде микрокода в микропроцессоре, каждое выполнение этого микрокода занимало цикл. Например, для Motorola 68000 самые быстрые инструкции занимали 4 цикла, а самые длинные - до 160 циклов для делений. Ситуация изменилась с выходом Motorola 68030s , некоторые инструкции которого могут выполняться только за один цикл.

Напротив, в процессорах RISC, которые использовались на более мощных компьютерах, были добавлены инструкции типа MULADD (умножение + сложение), которые наиболее часто используются в векторных и матричных вычислениях. Эти жестко запрограммированные инструкции заняли всего один цикл, чтобы умножить 2 регистра, добавить еще один регистр и сохранить результат либо в одном из этих регистров, либо в другом. Так обстоит дело, например, с архитектурой PowerPC , которой оснащался Macintosh с 1994 по 2006 год , или BeBox , который в 1995 году стал первым двухпроцессорным микрокомпьютером.

Еще одно преимущество RISC перед CISC связано с потерей энергии из-за рассеивания тепла. Ранние модели PowerPC с вычислительными возможностями, аналогичными или превосходящими возможности микропроцессоров x86 той же эпохи, не нуждались в радиаторах, поскольку на последних стали появляться комбинации радиаторов и вентиляторов.

Архитектурные характеристики процессоров RISC

Процессоры RISC полагаются на оптимизацию кода на компиляторе, в то время как инструкции легко декодируются процессором. Для этого изначально:

  • Эти процессоры имеют много «общих» регистров (не менее 16, обычно 32), все эквивалентны, чтобы облегчить их распределение компилятором;
  • Инструкции имеют фиксированный размер, часто 32 бита;
  • Арифметические инструкции обычно имеют 3 операнда: 2 регистра, служащих в качестве источника, и один регистр назначения;
  • Доступ к памяти зависит от конкретных инструкций, и значение должно быть сначала загружено в регистр, который будет использоваться: это называется архитектурой загрузки-хранения или инструкциями регистр-регистр .

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

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

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

История

Такой процессор, как Inmos Transputer (позже STMicroelectronics ), принял решение заменить регистры (чье обозначение использует биты в инструкциях) стеком. Другие машины RISC, наоборот, как IBM, RS / 6000 , умноженные регистры до такой степени , что они больше не могут быть эффективны запрограммированными на ассемблере, память программатора всегда делает хуже , чем алгоритмы оптимизации языка Си компиляторов .

Процессоры MIPS R3000 первыми на рынке реализовали архитектуру RISC, за ними последовала Alpha of Digital . MIPS Technologies также была первой компанией, которая произвела 64-битные процессоры RISC (в основном используемые на рабочих станциях Silicon Graphics ).

Семейство процессоров PowerPC , производное от RS / 6000 и использовавшееся, среди прочего, на Macintosh (до 2006 г.), приставки GameCube , Wii и Wii U от Nintendo и Xbox 360 от Microsoft имеют архитектуру RISC , а в качестве процессоров SPARC используются Sun Microsystems, в частности, для своих серверов и рабочих станций.

PC-совместимый тип микрокомпьютеры были приведены в действие до 486 генерации по Скоростные микропроцессоров типа ( NEC , STMicroelectronics , AMD , Intel, и т.д.). Начиная с поколения 586, архитектура CISC эмулируется в микросхемах архитектуры IA-32 с помощью встроенного ПО базового процессора RISC.

В мире бортовой электроники и мобильных вычислений (планшеты, смартфоны и электронные дневники) процессоры APS3 , ARM и MIPS также имеют архитектуру RISC.

Сравнительные характеристики CISC / RISC

Нам известен случай, когда одно и то же программное обеспечение работало как на микропрограммированной RISC-машине, имитирующей CISC, так и изначально: это касается AIX, работающего на IBM 9370 ( микросхема IBM 860, микропрограммирующая архитектуру 370) и, в то же время, на ПК / RT ( 6150 ), который изначально использовал тот же самый чип 860: разница в производительности при необработанных вычислениях была тогда в 2 раза в пользу PC / RT.

Классы процессоров

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

CISC (complex instruction set computer)

CISC (complex instruction set computer) есть традиционная архитектура, в которой ЦП использует микропрограммы для выполнения исчерпывающего набора команд. В течение долгих лет производители компьютеров разрабатывали и воплощали в изделиях все более сложные и полные системы команд. Однако анализ работы процессоров показал, что примерно 80 % времени выполняется лишь 20 % большого набора команд. Поэтому была поставлена задача оптимизации выполнения небольшого по числу, но часто используемых команд.

RISC (Redused Instruction Set Computer)

RISC (Redused Instruction Set Computer) - процессор, функционирующий с сокращенным набором команд. Так, в процессоре CISC для выполнения одной команды необходимо в большинстве случаев 10 и более тактов. Что же касается процессоров RISC, то они близки к тому, чтобы выполнять по одной команде в каждом такте. Первый процессор RISC был создан корпорацией IBM в 1979 году и имел шифр IBM 801. В настоящее время процессоры RISC получили широкое распространение. Современные процессоры RISC имеют следующие характеристики:

· упрощенный набор команд, имеющих одинаковую длину;

· большинство команд выполняются за один такт процессора;

· отсутствуют макрокоманды, усложняющие структуру процессора и уменьшающие скорость его работы;

· взаимодействие с оперативной памятью ограничивается операциями пересылки данных;

· уменьшено число способов адресации памяти (не используется косвенная адресация);

· создан конвейер команд, позволяющий обрабатывать несколько из них одновременно;

· используется высокоскоростная память.

Новый подход к архитектуре процессора значительно сократил площадь, требуемую для него на чипе. Это позволило резко увеличить число регистров. В современном процессоре RISC уже используется более 100 регистров. В результате процессор на 20-30 % реже обращается к оперативной памяти, что также повысило скорость обработки данных.

Начиная с процессора Pentium, корпорация Intel начала внедрять элементы RISC-технологий в свои изделия.

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

Процессор VL I W

Процессор VL I W - процессор, работающий с системой команд сверхбольшой разрядности.

Идея технологии VLIW (Very large instruction word) заключается в том, что создается специальный компилятор планирования, который перед выполнением прикладной программы проводит ее анализ и по множеству ветвей последовательности операций определяет группу команд, которые могут выполняться параллельно. Каждая такая группа образует одну сверхдлинную команду. Это позволяет решать две важные задачи: во-первых, в течение одного такта выполнять группу коротких («обычных») команд, во-вторых, упростить структуру процессора. Этим технология VLIW отличается от суперскалярности. В последнем случае отбор групп одновременно выполняемых команд происходит непосредственно в ходе выполнения прикладной программы (а не заранее), что усложняет структуру процессора и замедляет его скорость.

Процессор MISC

Процессор MISC - MISC processor, - работающий с минимальным набором длинных команд.

Увеличение разрядности процессоров привело к идее укладки нескольких команд в одно слово (связку, bound) размером 128 бит. Оперируя с одним словом, процессор получил возможность обрабатывать сразу несколько команд. Это позволило использовать возросшую производительность компьютера и его возможность обрабатывать одновременно несколько потоков данных.

Читайте также: