Часть 2. Современные процессорные архитектуры.
2.1 CISC
CISC (англ. Complex instruction set computing, или англ. complex instruction set computer — компьютер с комплексным набором команд) — концепция проектирования процессоров, которая характеризуется следующим набором свойств:
нефиксированное значение длины команды;
арифметические действия кодируются в одной команде;
небольшое число регистров, каждый из которых выполняет строго определённую функцию.
Наиболее распространённая архитектура современных настольных, серверных и мобильных процессоров построена по архитектуре Intel x86 (или х86-64 в случае 64-разрядных процессоров). Формально, все х86-процессоры являлись CISC-процессорами, однако новые процессоры, начиная с Intel Pentium Pro, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC.
В микропроцессор встраивается аппаратный транслятор, превращающий команды x86 в команды внутреннего RISC-процессора. При этом одна команда x86 может порождать несколько RISC-команд (в случае процессоров типа P6 — до четырёх RISC-команд в большинстве случаев). Исполнение команд происходит на суперскалярном конвейере одновременно по несколько штук.
Это потребовалось для увеличения скорости обработки CISC-команд, так как известно, что любой CISC-процессор уступает RISC-процессорам по количеству выполняемых операций в секунду. В итоге, такой подход и позволил поднять производительность CPU.
Недостатки CISC архитектуры:
высокая стоимость аппаратной части;
сложности с распараллеливанием вычислений.
Методика построения системы комманд CISC противоположна другой методике - RISC. Различие этих концепций состоит в методах программирования, а не в реальной архитектуре процессора. Практически все современные процессоры эмулируют наборы команд как RISC так и CISC типа.
2.2 RISC.
RISC (англ. restricted (reduced) instruction set computer — компьютер с сокращённым набором команд) — архитектура процессора, в которой быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения — короче. Первые RISC-процессоры даже не имели инструкций умножения и деления. Это также облегчает повышение тактовой частоты и делает более эффективной суперскалярность (распараллеливание инструкций между несколькими исполнительными блоками).
Характерные особенности RISC-процессоров:
Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.
Специализированные команды для операций с памятью — чтения или записи. Операции вида «прочитать-изменить-записать» отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. архитектура load-and-store).
Большое количество регистров общего назначения (32 и более).
Отсутствие поддержки операций вида «изменить» над укороченными типами данных — байт, 16-битное слово.
Отсутствие микропрограмм внутри самого процессора. То, что в CISC-процессоре исполняется микропрограммами, в RISC-процессоре исполняется как обыкновенный (хотя и помещённый в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений.
2.3 MISC.
MISC (англ. minimal instruction set computer — «минимальный набор команд компьютера») — процессорная архитектура.
Увеличение разрядности процессоров привело к идее укладки нескольких команд в одно большое слово (связку, bound). Это позволило использовать возросшую производительность компьютера и его возможность обрабатывать одновременно несколько потоков данных.
2.4 x86 и x86-64.
x86 — архитектура процессора c одноименным набором команд, впервые реализованная в процессорах компании Intel.
Название образованно от двух цифр, которыми заканчивались названия процессоров Intel ранних моделей — 8086, 80186, 80286 (i286), 80386 (i386), 80486 (i486). За время своего существования набор команд постоянно расширялся, сохраняя совместимость с предыдущими поколениями. x86 — это CISC-архитектура. Доступ к памяти происходит по «словам». «Слова» размещаются по принципу little-endian (от младшего к старшему), известному также как Intel-формат. Современные процессоры включают в себя декодеры команд x86 для преобразования их в упрощённый внутренний формат с последующим их выполнением.
x86-64 (также x64/AMD64/Intel64/EM64T) — 64-битная аппаратная платформа (чипсет, архитектура микропроцессора и команд), разработанная компанией AMD для выполнения 64-разрядных приложений.
Это расширение архитектуры x86 с почти полной обратной совместимостью. Корпорации Microsoft и Oracle используют для обозначения этого набора инструкций термин «x64».
Процессоры архитектуры поддерживают два режима работы: Long mode («длинный» режим) и Legacy mode («наследственный», режим совместимости с x86).
Long Mode позволяет выполнять 64-битные программы; также (для обратной совместимости) предоставляется поддержка выполнения 32-битного кода, например, 32-битных приложений, хотя 32-битные программы не смогут использовать 64-битные системные библиотеки, и наоборот. Чтобы справиться с этой проблемой, большинство 64-разрядных операционных систем предоставляют два набора необходимых системных файлов: один — для родных 64-битных приложений, и другой — для 32-битных программ. (Этой же методикой пользовались ранние 32-битные системы — например, Windows 95 — для выполнения 16-битных программ.)
Legacy Mode позволяет процессору AMD64 выполнять инструкции, рассчитанные для процессоров x86, и предоставляет полную совместимость с 32-битным кодом и операционными системами. В этом режиме процессор ведёт себя точно так же, как x86-процессор, например Pentium 4, и дополнительные функции, предоставляемые архитектурой AMD64 (например, дополнительные регистры) недоступны. В этом режиме 64-битные программы и операционные системы работать не будут.
- Микропроцессоры: история развития и типы
- Часть 1. История развития микропроцессоров. 4
- Часть 2. Современные процессорные архитектуры. 10
- Введение.
- Часть 1. История развития микропроцессоров.
- 1.1 Предыстория появления микропроцессоров.
- 1.2 Первые микропроцессоры. I4004, i8008, i8086.
- 1.3 Микропроцессоры Intel 80-х годов. Архитектура iApx 432. Первые 32-битные процессоры.
- 1.4 Процессоры Intel 90-х и начала 2000-х годов. Эра Pentium.
- 1.5 Современные процессоры. Core 2, Core i7.
- Часть 2. Современные процессорные архитектуры.
- Заключение.
- Список источников.