Базовый микрокомпьютерный дизайн
Центральный процессор, отвечающий за все логические операции, содержит следующие компоненты:
- Часы Часы синхронизируют внутренние операции компонентов друг с другом. Каждая операция с участием системной шины и процессора синхронизируется постоянно пульсирующими часами.
- Блок управления Блок управления координирует шаги, связанные с выполнением инструкций.
- Арифметико-логическое устройство ALU выполняет все арифметические операции, такие как сложение, вычитание, деление и логические операции, используя логические элементы, такие как И, НЕ, ИЛИ.
- Блок памяти MU — это место, где выполняются все функции, связанные с памятью и хранилищем, такие как перемещение данных из ОЗУ или на жесткий диск и наоборот.
- Автобусов:
- Компьютер содержит шину, которая используется для передачи данных из одной точки в другую. Есть четыре типа автобусов.
- Шина данных
- Шина управления использует двоичные сигналы для синхронизации всех действий между всеми устройствами, подключенными к системной шине.
- Шина ввода/вывода
- Адресная шина Адресная шина содержит адрес инструкций. (Помните использование DCIA (da CIA))
Циклы часов
Базовая единица времени для машинных инструкций — clock cycles
. Длина тактового цикла — это время, необходимое для завершения цикла. Например, часы 1Ghz
будут колебаться в течение 1 billion times per second
. Тактовые циклы рассчитываются путем взятия reciprocal
тактовой частоты.
Цикл выполнения инструкции
Порядок выполнения Instruction
следующий:
- Во-первых, сама инструкция извлекается из области памяти с именем
instruction queue
. - Затем инструкция считывается путем декодирования ее
binary pattern
. Расшифрованный шаблон может показать, что задействованыoperands
, что означает необходимостьinput values
, после чего они извлекаются из регистров и памяти. - После этого выполняется инструкция, и некоторые флаги, включенные
Zero , carry and overflow
, обновляются. - Наконец, результат выполнения сохраняется.
Итак, вкратце происходит следующий процесс:
- Выборка Используется адрес из адресной шины.
- Декодирование Код или алгоритм, необходимые для выполнения, помещаются в кэш кода.
- Указатель Execute Instruction определяет, в каком порядке будет выполняться инструкция. Эти инструкции декодируются и затем отправляются в блок управления, который работает совместно с ALU и MU.
Чтение по памяти
Чтение данных из памяти включало следующие шаги:
- Поместите адрес данных на адресную шину.
- Измените значение процессоров
RD
илиread pin
. - Подождите один такт, чтобы чипы памяти ответили.
- Скопируйте данные из шины данных в операнд назначения.
Загрузка и выполнение программы
Утилита, известная как program loader
, загружает требуемую программу в память. Сначала операционная система находит файл на диске и его фактический путь, после начала выполнения программа преобразуется в process
с идентификатором процесса или PID
, который используется для отслеживания процесса.
32-битные процессоры x86
К ним относятся Intel, а также процессоры AMD.
Режимы работы
x86 имеет 3 режима работы:
- защищенный режим
В этом режиме доступны все функции и инструкции. Программы выполняются в отдельных областях памяти, называемых segments
, и программы не могут работать вне своего сегмента.
- Виртуальный режим 8086
Виртуальный режим 8086 — это тип protected mode
, в котором процесс может напрямую выполнять программное обеспечение режима реального адреса, такое как MS-DOS, в safe environment
. Если программа дает сбой или пытается записать данные в область системной памяти, это не повлияет на другие программы.
- режим реального адреса
Режим Real-address
— это среда программирования ранних процессоров Intel с дополнительными функциями, такими как возможность переключения в другие режимы. Этот режим полезен, когда программе требуется прямой доступ к системной памяти и аппаратным устройствам.
- режим управления системой
System Management Mode (SMM)
реализует такие функции, как управление питанием и безопасность системы. Эти функции реализуются производителями процессоров.
Базовая среда выполнения
Регистры
Базовые регистры выполнения программы
Регистры memory locations
в ЦП предназначены для доступа на более высокой скорости, чем обычная передача памяти. Есть
- Восемь регистров общего назначения
- шесть сегментных регистров
- Регистр флага состояния процесса
- Инструкция или
EIP
Регистры общего назначения
- Регистры общего назначения используются для арифметических операций и перемещения данных.
- EAX используется для умножения и деления. Он называется
Extended accumulator register (EAX)
- ECX используется как счетчик циклов.
- ESP обращается к данным в стеке.
- EBP используется языками высокого уровня для ссылки на параметры функций и локальные переменные в стеке.
Сегментные регистры
- В режиме реальных адресов 16-битные сегментные регистры хранят адреса областей памяти, называемых сегментами.
- В защищенном режиме сегментные регистры содержат указатели на описательные таблицы сегментов.
- Некоторые сегменты содержат программные инструкции (код), в то время как другие содержат переменные.
Stack Segment
содержит локальные переменные и параметры функций.
Указатель инструкций
Указатель инструкции содержит адрес следующей выполняемой инструкции. Программа может быть перенесена в новое место, если мы манипулируем адресами в EIP.
Флаговые регистры
Флаг set
, если он равен 1
, и reset
, если он равен 0
.
ЭФЛАГС
Регистр EFLAGS (или просто флаги) состоит из отдельных двоичных битов, которые управляют работой ЦП или отражают результат какой-либо операции ЦП. Некоторые инструкции проверяют и манипулируют отдельными флагами процессора.
Флаги управления
Флаги управления контролируют операции ЦП, такие как
- вызывая перерыв в процессоре после каждого выполнения
- прерывание при обнаружении арифметического потока.
Флаги состояния
Флаг состояния показывает результат арифметических и логических операций.