Базовый микрокомпьютерный дизайн

Центральный процессор, отвечающий за все логические операции, содержит следующие компоненты:

  • Часы Часы синхронизируют внутренние операции компонентов друг с другом. Каждая операция с участием системной шины и процессора синхронизируется постоянно пульсирующими часами.
  • Блок управления Блок управления координирует шаги, связанные с выполнением инструкций.
  • Арифметико-логическое устройство 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 (или просто флаги) состоит из отдельных двоичных битов, которые управляют работой ЦП или отражают результат какой-либо операции ЦП. Некоторые инструкции проверяют и манипулируют отдельными флагами процессора.

Флаги управления

Флаги управления контролируют операции ЦП, такие как

  • вызывая перерыв в процессоре после каждого выполнения
  • прерывание при обнаружении арифметического потока.

Флаги состояния

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