Архитектура ПК История развития компьютерной графики Память Лабораторная работа «Дисковая подсистема ПК» Архитектура системной платы. Основной цикл работы компьютера

Архитектура однопроцессорной системы: процессор, память, подсистема ввода-вывода

Сетевая среда

Процессор

Рассмотрим общую архитектуру процессора. Схематично ее можно изобразить на следующем рисунке.

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

Рис. 2.1. Архитектура процессора

1.а. Регистры процессора

Регистр процессора — сверхбыстрая память внутри процессора, предназначенная прежде всего для хранения промежуточных результатов вычисления (регистр общего назначения/регистр данных) или содержащая данные, необходимые для работы процессора — смещения базовых таблиц, уровни доступа и т. д. (специальные регистры).

Доступ к значениям, хранящимся в регистрах как правило в несколько раз быстрее чем доступ к ячейкам оперативной памяти (даже если кеш-память содержит нужные данные), но объём оперативной памяти намного превосходит суммарный объём регистров (объём среднего модуля оперативной памяти сегодня составляет 1 Гб — 4 Гб[1], суммарная «ёмкость» регистров общего назначения/данных для процессора Intel 80x86 16 битов * 4 = 64 бита (8 байт)).

Регистры подразделяют на:

Регистры общего назначения (для арифметических и логических операций):

Арифметические регистры

Индексные регистры

Сегментные регистры

Регистры управления (для управления порядком исполнения программы)

Регистры состояния (отображение состояния процессора)

Регистры специального назначения (векторные регистры, регистры MMX/SSE)

Например

EAX, EBX – название регистров общего назначения на платформе x86

IP, SP – (instruction pointer, stack pointer) – регистры счетчика команд и указатель стека

Flags (ZF, CF) – флаг нуля, флаг переноса и т.п.

MM0, MM1 – регистры MMX

1.b. Дешифратор команд и система команд

Команда – минимальное действие, которое может совершить процессор над данными в адресуемой памяти.

Различают:

Команды передачи данных (например, MOV)

Арифметические операции (ADD, SUB)

Логические операции (OR, AND)

Операции сдвига (SHL, SHR)

Операции ввода-вывода (IN, OUT)

Команды управления (JMP, CALL)

Команды ветвления и цикла (JC, JZ, REP)

Специальные команды (EMMS, MOVQ, управление кэшем и т.п.)

Команда состоит из кода операции и набора операндов. Различают одноадресные команды (один операнд), двух адресные команды и трехадресные команды.

Существует два подхода к конструированию процессоров. Первый состоит в том, чтобы придумать как можно больше разных команд и предусмотреть как можно больше разных режимов адресации. Процессоры такого типа называются CISC-процессорами, от слов Сomplex Instruction Set Computers. Это, в частности, Intel 80x86 и Motorola 68000. Противоположный подход состоит в том, чтобы реализовать лишь минимальное множество команд и режимов адресации, процессоры такого типа называются RISC-процессорами, от слов Reduced Instruction Set Computers. Примеры RISC-процессоров: DEC Alpha, Power PC, Intel Itanium.

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

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

значительно поднимается тактовая частота процессора;

намного увеличивается количество регистров процессора и объем кэш-памяти;

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

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

Пункты 3 и 4 по достоинству оценят те, кому пришлось программировать на Ассемблере Intel 80x86, имеющем ряд ограничений на использование регистров и режимы адресации, к тому же и регистров в нем очень мало.

RISC-архитектуры обладают неоспоримыми преимуществами по сравнению с CISC-архитектурами — быстродействием, низкой стоимостью, удобством программирования и т.д. — и практически не имеют недостатков. Существование CISC-процессоров в большинстве случаев объясняется лишь традицией и требованием совместимости со старым программным обеспечением. Впрочем, существует и третий вариант — процессоры, которые, по сути, являются RISC-процессорами, но эмулируют внешнюю систему команд устаревших процессоров, например, современные процессоры Intel Pentium.

SATA (англ. Serial ATA) — последовательный интерфейс обмена данными с накопителями информации. SATA является развитием параллельного интерфейса ATA (IDE), который после появления SATA был переименован в PATA (Parallel ATA).

RAID (англ. redundant array of independent/inexpensive disks) избыточный массив независимых/недорогих жёстких дисков — матрица из нескольких дисков управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых как единое целое. Обеспечивает отказоустойчивость, в случае повреждения одного из дисков, восстановление данных на нём происходит автоматически.

USB-накопитель на флеш-памяти Флеш-память (англ. Flash-Memory) — разновидность твердотельной полупроводниковой энергонезависимой перезаписываемой памяти.


Изучение комплектации рабочей станции