- •Базовая организация персонального компьютера Содержание
- •1. Многоуровневая организация и эволюция эвм
- •Уровни архитектуры эвм
- •2. Архитектурные принципы Фон-Неймана
- •Выполнение команд по программе, хранимой в эвм
- •3. Процессор. Основные компоненты и их назначение
- •4. Оперативная память (общая характеристика)
- •6. Типовая структура машинной команды
3. Процессор. Основные компоненты и их назначение
Центральный процессор (Central Processor Unit, CPU) осуществляет основные действия по выполнению команд.
В классическом варианте ЦП можно выделить следующие составляющие части:
устройство управления - control unit,
устройство для формирования (вычисления) адресов операндов- device for the formation of (computing) address operand,
арифметико-логическое устройство (АЛУ), выполняющее действия над операндами - arithmetic logic unit (ALU),
декодер команд - instruction decoder,
регистры для хранения данных, адресов и служебной информации - registers for storing data, address and service information.
Устройство управления - управляет процессом последовательной выборки, декодирования и исполнения команд программы, хранимой в памяти. Устройство управления формирует временную диаграмму работы всех узлов процессора. Часть регистров также можно отнести к устройству управления.
Устройство формирования адресов - вычисляет адрес, по которому произойдет очередное обращение к участку памяти, содержащему операнд.
АЛУ - комбинационное логическое устройство, имеющее два (многоразрядных) входа (на которые подаются два слова входных операндов), на выходе АЛУ формируется результат операций, которые процессор выполняет над операндами (сложение, умножение и т.п.)
М инимальный набор операций (машина Фон Неймана), которые должно выполнять АЛУ, включает операции сложения, инверсии и логического "И", все остальные операции можно получить на базе этих.
Регистры. Минимальный набор регистров, необходи-мый для функционирования процессора включает следую-щие регистры (Рис. 7, 8):
Рис.
7 Регистры
процессора MC68HC05
аккумулятор - хранит результаты операций;
счетчик команд - содержит адрес следующей команды;
регистр адреса - содержит адрес операнда, используется при косвенной адресации;
регистр флагов (состояния и управления) - содержит код, характеризующий результаты предыдущих операций, а также информацию о текущем состоянии процессора.
Каждый процессор имеет свой набор регистров.
Можно выделить две группы процессоров:
● с регистрами общего назначения (регистровыми файлами) и
● со специализированным набором регистров (см. пример МП Intel х86).
В первом случае все регистры регистрового файла одинаковы и их можно использовать произвольно в командах (упрощается программирование).
Во втором - за каждым регистром закреплена своя функция, и использование регистров в командах оговорено в формате каждой команды.
Однако процессоры с регистровыми файлами требуется большие аппаратные затраты на организацию связи между регистрами.
Архитектура x86 (справка)
IP (англ. Instruction Pointer) — регистр, обозначающий смещение следующей команды относительно кодового сегмента.
IP — 16-битный (младшая часть EIP), EIP — 32-битный аналог (младшая часть RIP), RIP — 64-битный аналог
Сегментные регистры — Регистры указывающие на сегменты.
CS (англ. Code Segment), DS (англ. Data Segment), SS (англ. Stack Segment), ES, FS, GS
В реальном режиме работы МП сегментные регистры содержат адрес начала 64Kb сегмента, смещенный вправо на 4 бита.
В защищенном режиме работы процессора сегментные регистры содержат селектор сегмента памяти, выделенного ОС.
CS — указатель на кодовый сегмент. Связка CS:IP (CS:EIP/CS:RIP — в защищенном/64-битном режиме) указывает на адрес в памяти следующей команды.
Регистры данных — служат для хранения промежуточных вычислений.
RAX, RCX, RDX, RBX, RSP, RBP, RSI, RDI, R8 — R15 — 64-битные
EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI, R8D — R15D — 32-битные (extended AX)
AX, CX, DX, BX, SP, BP, SI, DI, R8W — R15W — 16-битные
AH, AL, CH, CL, DH, DL, BH, BL, SPL, BPL, SIL, DIL, R8B — R15B — 8-битные (половинки 16-ти битных регистров)
например, AH — high AX — старшая половинка 8 бит, AL — low AX — младшая половинка 8 бит
RAX |
RCX |
RDX |
RBX |
||||||||||||||||
|
EAX |
|
ECX |
|
EDX |
|
EBX |
||||||||||||
|
AX |
|
CX |
|
DX |
|
BX |
||||||||||||
|
AH |
AL |
|
CH |
CL |
|
DH |
DL |
|
BH |
BL |
RSP |
RBP |
RSI |
RDI |
Rx |
|||||||||||||||||||
|
ESP |
|
EBP |
|
ESI |
|
EDI |
|
RxD |
||||||||||||||
|
SP |
|
BP |
|
SI |
|
DI |
|
RxW |
||||||||||||||
|
SPL |
|
BPL |
|
SIL |
|
DIL |
|
RxB |
где x — 8..15. Регистры RAX, RCX, RDX, RBX, RSP, RBP, RSI, RDI, Rx, RxD, RxW, RxB, SPL, BPL, SIL, DIL доступны только в 64-битном режиме работы процессора.
Регистр флагов FLAGS (16 бит) / EFLAGS (32 бита) / RFLAGS (64 бита) — содержит текущее состояние процессора.
Регистром называется функциональный узел, осуществляющий приём, хранение и передачу информации. Регистры состоят из группы триггеров, обычно D. По типу приёма и выдачи информации различают 2 типа регистров:
С последовательным приёмом и выдачей информации — сдвиговые регистры.
С параллельным приёмом и выдачей информации — параллельные регистры.
Модель процессора для программиста - набор регистров, форматы команд, способы адресации, организация памяти и др.
Можно рассматривать регистровую модель процессора - набор регистров, их форматы и способы работы с ними:
на пользовательском уровне (регистры общего назначения и флагов);
на системном уровне (регистры управления процессором и организации памяти, элементы организации прерываний и прямого доступа к памяти).
Вычислительное ядро (Core)- этим термином обозначают совокупность элементов процессора, необходимых для выполнения команды (обычно это все указанные элементы).
Периферийные устройства - устройства, внешние по отношению к связке процессор - память.
Устройства ввода-вывода - часть периферийных устройств, предназначенная для связи ЭВМ с "внешним миром" (прочие периферийные устройства обслуживают внутренние потребности ЭВМ: таймеры, контроллер прерываний и т.п.).