Ревизии

Ревизия — одна из модификаций ядра, крайне незначительно отличающаяся от предыдущей, почему и не заслуживает звания «нового ядра». Как правило, из выпусков очередной ревизии производители процессоров не делают большого события, это происходит «в рабочем порядке». Так что даже если вы покупаете один и тот же процессор, с полностью аналогичным названием и характеристиками, но с интервалом где-то в полгода — вполне возможно, фактически он будет уже немного другой. Выпуск новой ревизии, как правило, связан с какими-то мелкими усовершенствованиями. Например, удалось чуть-чуть снизить энергопотребление, или понизить напряжение питания, или еще что-то оптимизировать, или была устранена пара мелких ошибок. С точки зрения производительности мы не помним ни одного примера, когда бы одна ревизия ядра отличалась от другой настолько существенно, чтобы об этом имело смысл говорить. Хотя чисто теоретически возможен и такой вариант — например, подвергся оптимизации один из блоков процессора, ответственный за исполнение нескольких команд. Подводя итог, можно сказать что «заморачиваться» ревизиями процессоров чаще всего не стоит: в очень редких случаях изменение ревизии вносит какие-то кардинальные изменения в процессор. Достаточно просто знать, что есть такая штука — исключительно для общего развития.

Архитектура CISC

CISC (англ. Complex Instruction Set Computing) — концепция проектирования процессоров, которая характеризуется следующим набором свойств:

- Нефиксированным значением длины команды.

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

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

Типичными представителями являются процессоры на основе x86 команд (исключая современные Intel Pentium 4, Pentium D, Core, AMD Athlon, Phenom которые являются гибридными).

Наиболее распространённая архитектура современных настольных, серверных и мобильных процессоров построена по архитектуре Intel x86 (или х86-64 в случае 64-разрядных процессоров). Формально, все х86-процессоры являлись CISC-процессорами, однако новые процессоры, начиная с Intel486DX, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC.

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

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

Архитектура RISC

RISC-архитектура широко используется во многих современных микропроцессорах и микроконтроллерах, выпускаемых различными компаниями. Первые RISC-процессоры, разработанные в Стенфордском и Калифорнийском университетах США в начале 80-х годов, выполняли относительно небольшой набор команд — 50–100 вместо 100–200, выполняемых обычными CISC (Complex Instruction Set computer — компьютер со сложным набором команд) процессорами. Эта особенность определила название данного класса процессоров — RISC (Reduced Insruction Set Computer — компьютер с сокращённым набором команд). Однако в последующих разработках RISC-процессоров набор команд значительно расширен, включая команды обработки чисел с плавающей точкой. В настоящее время определились следующие характерные особенности современных RISC-процессоров:

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

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

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

- фиксированный формат команд (обычно 4 байт) вместо переменного формата (от 1 до 15 байт), характерного для CISC-процессоров;

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

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

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

Многоядерность – развитие идей суперскалярности на более высоком уровне.

Адресация

Существуют следующие способы адресации операндов:

1. Регистровая (операнд -- в регистре данных или адреса).

2. Косвенно-регистровая (операнд -- в ячейке памяти, адресуемой содержимым регистра адреса).

3. Косвенно-регистровая с постинкрементом (операнд -- в ячейке памяти, адресуемой содержимым регистра адреса, который автоматически увеличивается после выборки операнда).

4. Косвенно-регистровая с пердинкрементом (операнд -- в ячейке памяти, адресуемое содержимым регистра адреса, которое автоматически уменьшается перед выбором операнда).

5. Косвенно-регистровая с индексированием (операнд -- в ячейке памяти, ее адрес -- сумма содержимого регистра адреса, индексного регистра и задаваемого в команде 8-ми (иногда 16-ти и 32-х) разрядного смещения).

6. Прямая (операнд -- в ячейке памяти, адрес которой задается числом, указанным в команде).

7. Относительная (операнд -- в ячейке памяти, адрес которой -- сумма текущего содержимого программного счетчика и данного в команде 16-ти (32-х) разрядного смещения).

8. Относительная со смещением (операнд --в ячейке памяти, адрес которой -- сумма содержимого программного счетчика, индексного регистра и указанного в команде 16-ти (32-х) разрядного смещения).

9. Непосредственная (операнд -- в команде).

Дополнительно введены следующие способы адресации:

10. Косвенно-регистровая с базовым смещением и ндексированием (операнд -- в ячейке памяти, адрес которой -- сумма адресного базового регистра, индексного регистра (возможно масштабированного) и 32-х разрядного смещения).

11. Косвенно-регистровая с постиндексированием (к содержимому адресного (базового) регистра прибавляется смещение, затем прибавляется содержимое индексного регистра и дополнительное смещение, и все это является адресом ячейки памяти, содержащий операнд).

12. Косвенно-регистровая с прединдексированием (операнд -- в ячейке памяти, адрес которого определяется суммированием содержимого базового регистра, индексного регистра и базового смещения, к которому впоследствии прибавляется дополнительное смещение).

13. Относительное с базовым смещением и индексированием (то же, что и 10, только вместо базового регистра используется программный счетчик).

14. Косвенно-относительная с постиндексированием (аналогична п. 11, но вместо базового регистра используется программный счетчик).

15. Косвенно-относительная с прединдексированием (аналогична п. 12, но вместо базового регистра используется программный счетчик).

Как правило, другой операнд должен присутствовать в регистре адреса или данных.

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

Во всех способах адресации с индексированием введено масштабирование индекса.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: