Здесь располагается содержимое class "clearfloat" id "рамка"

Учебный комплекс "Вычислительная техника"

Основные темы
Лабораторно-практические работы
  1. Изучение команд передачи данных и работы со стеком процессора
  2. Изучение команд целочисленной арифметики процессора
  3. Изучение логических и сдвиговых операций процессора
  4. Изучение команд условного и безусловного перехода процессора
  5. Организация циклов в процессоре
  6. Исследование работы реверсивного счетчика
  7. Исследование работы JK триггера
  8. Исследование работы сдвигающего регистра
  9. Исследование работы синхронного T триггера
  10. Исследование работы синхронного D триггера
  11. Исследование работы мультиплексора
  12. Исследование работы демультиплексора
  13. Исследование работы одноразрядного полного сумматора
  14. Исследование работы логических элементов
  15. Исследование работы RS триггера
  16. Исследование работы дешифратора 2-10
  17. Исследование работы шифратора 10-2
  18. Исследование работы шифратора семисегментного индикатора
  19. Исследование работы семисегментного индикатора
  20. Исследование работы совмещенного шифратора-семисегментного индикатора
  21. Создание схемы электрической принципиальной в PCAD
  22. Вывод схемы электрической принципиальной на печать в PCAD
  23. Создание печатной платы в PCAD
  24. Вывод на печать рисунка печатной платы и сборочного чертежа в PCAD
  25. Основы визуального программирования в среде Delphi
Дополнения

Математическая модель микропроцессора.

       Чтобы понять работу микропроцессора необходимо знать его организацию с программной стороны, т.е. математическую модель. Рассмотрим организацию процессора на примере Intel 8086.  За время развития, процессоры Intel испытали ряд изменений структуры, и для обеспечения их программной совместимости были созданы различные режимы работы микропроцессора. Наиболее классическим остается режим реальной адресации памяти или просто реальный режим x86 соответствующий процессору I8086. Эквивалентом реального режима является виртуальный режим – поддержка реального режима в защищенном режиме. Поэтому, рассмотрим параллельно математическую модель процессора в режимах x86 и V86. 
Начиная с 32 разрядных, в процессорах Intel содержится 16 основных регистров для пользовательских программ и еще 11 регистров для работы с числами с плавающей запятой и мультимедийными приложениями. Помимо них доступны также регистры управления памятью, регистры управления, отладочные регистры и машинно-специфичные регистры.

Организация регистров общего назначения показана на следующем рисунке:





Регистры общего назначения. 32 битные регистры EAX (аккумулятор), EBX (база), ECX (счетчик), EDX (регистр данных) могут использоваться без ограничений для любых целей – временного хранения данных, аргументов или результатов различных операций. Названия этих регистров исходят от того, что некоторые команды используют их специальным образом: так, аккумулятор часто используется для хранения результата действий, выполняемых над двумя операндами, регистр данных в этих случаях получает старшую часть результата, если он не умещается в аккумулятор, регистр-счетчик используется как счетчик в циклах и строковых операциях, а регистр-база при так называемой адресации по базе.  Младшие 16 бит каждого из регистров могут использоваться как самостоятельные регистры и имеют имена (AX, BX, CX, DX). Базовый процессор Intel 8086 был 16 разрядным и внутренние регистры были 16 битными (AX, BX, CX, DX) . С появлением 32 разрядных процессоров регистры расширились до 32 бит (EAX, EBX, ECX, EDX).  Кроме этого, к частям 16 битных регистров можно обращаться по частям. Например, старшие байты (AH, BH, CH, DH)  и младшие байты (AL, BL, CL, DL).
Другие четыре регистра общего назначения – ESI (индекс источника), EDI (индекс приемника), EBP (указатель базы), ESP (указатель стека) – имеют конкретное назначение. Если они не используются по назначению, то могут применяться для хранения всевозможных переменных. Регистры ESI и EDI используются в строковых операциях, EBP и ESP используются при работе со стеком. К младшим частям рассмотренных регистров можно обращаться как SI, DI, BP, SP.

Сегментные регистры и регистр управления. При использовании сегментированной модели памяти, для формирования любого адреса применяется два числа – адрес начала сегмента (сегментный адрес) и смещение (смещение искомого байта относительно начала сегмента). Расположение сегментов в оперативной памяти определяется операционной системой автоматически. В процессорах Intel предусмотрено шесть 16 битных регистров – DS, ES, GS, FS (регистры сегментов данных)  и CS, SS (регистры сегмента кода и сегмента стека). Смещение следующей выполняемой команды всегда хранится в специальном регистре EIP (указатель инструкций). Шестнадцатибитная форма этого регистра IP. Все команды передачи управления (условный и безусловный переход, цикл, вызов подпрограммы и  т.д.) выполняются с использованием регистров  CS и EIP.



Стек -  это специальным образом организованный участок оперативной памяти, используемый для временного хранения переменных, для передачи параметров вызываемым подпрограммам и для хранения адреса возврата при вызове процедур и прерываний. При записи данных в стек, они копятся в виде стопки. Последняя информация всегда остается сверху. Для доступа к нижним частям записанной информации необходимо забрать все сверху расположенные данные. Стек располагается в сегменте памяти, указанном в SS, а текущее смещение вершины стека обозначает содержимое (ESP или SP).

Регистр флагов – используется для хранения всех признаков после выполнения команд. 32 битная форма регистра флагов – EFLAGS, 16 аналог – FLAGS.  В этом регистре каждый бит является флагом, т.е. устанавливается 1 при определенных условиях или наличие 1 в определенной битовой позиции может повлиять на поведение процессора. Например регистр FLAGS  фиксирует следующие признаки:



CF – флаг переноса.
PF – флаг четности.
AF – флаг полупереноса.
ZF – флаг нуля.
SF – флаг знака.
TF – флаг ловушки.
IF – флаг прерываний.
DF – флаг направления.
 OF – флаг переполнения.
IOPL, NT – применяются в защищенном режиме.

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