Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Эмулятор ЦП

.txt
Скачиваний:
1
Добавлен:
20.05.2014
Размер:
4.85 Кб
Скачать
Постановка задачи:
Создать программу, симулирующую работу центрального процессора, созданного на базе архитектуры i386 (8-и разрядный), основаннвй на приципе фон Неймана. Программа должна реализовывать все основные функции этого процессора.

Теоретическое введение:
Большинство современных процессоров для персональных компьютеров в общем основаны на той или иной версии циклического процесса последовательной обработки информации, изобретённого Джоном фон Нейманом.
Д. фон Нейман придумал схему постройки компьютера в 1946 году.
Важнейшие этапы этого процесса приведены ниже. В различных архитектурах и для различных команд могут потребоваться дополнительные этапы. Напр., для арифметических команд могут потребоваться дополнительные обращения к памяти, во время которых производится считывание операндов и запись результатов. Отличительной особенностью архитектуры фон Неймана является то, что инструкции и данные хранятся в одной и той же памяти.
Этапы цикла выполнения:
1.Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса, и отдаёт памяти команду чтения;
2.Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных, и сообщает о готовности;
3.Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её;
4.Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды;
5.Снова выполняется п. 1.
Данный цикл выполняется неизменно, и именно он называется процессом (откуда и произошло название устройства).

Кэширование
Кэширование — это использование дополнительной быстродействующей памяти (кэш-памяти) для хранения копий блоков информации из основной (оперативной) памяти, вероятность обращения к которым в ближайшее время велика.
Различают кэши 1-, 2- и 3-го уровней. Кэш 1-го уровня имеет наименьшую латентность (время доступа) но малый размер, кроме того кэши первого уровня часто делаются многопортовыми. Так процессоры AMD K8 умели производить 64 бит запись+64 бит чтение либо два 64-бит чтения за такт, процессоры Intel Core могут производить 128 бит запись+128 бит чтение за такт. Кэш 2-го уровня обычно имеет значительно большие латентности доступа, но его можно сделать значительно больше по размеру. Кэш 3-го уровня самый большой по объёму и довольно медленный, но всё же он гораздо быстрее, чем оперативная память.
Общая схема архитектуры процессора
Условно микропроцессор можно разделить на две части: исполнительный блок (Execution Unit - EU) и устройство сопряжения с системной магистралью (Bus Interface Unit - ВШ).
В исполнительном блоке находятся: арифметический блок и регистры общего назначения (РОН). Арифметический блок включает арифметико-логическое устройство, вспомогательные регистры для хранения операндов и регистр флагов.
Восемь регистров исполнительного блока МП (АХ, ВХ, СХ, DX, SP, ВР, SI, DI), имеющих длину, равную машинному слову, делятся на две группы. Первую группу составляют регистры общего назначения: АХ, ВХ, СХ и DX, каждый из которых представляет собой регистровую пару, составленную из двух регистров длиной в 0.5 машинного слова: аккумулятор, или регистр АХ состоит из регистров АН и AL. Регистр базы (Base Register) ВХ состоит из регистров ВН и BL. Счетчик (Count Register) СХ включает регистры СН и CL. Регистр данных (Data Register) DX содержит регистры DH и DL. Каждый из коротких регистров может использоваться самостоятельно или в составе регистровой пары. Условные названия (аккумулятор, регистр базы, счетчик, регистр данных) не ограничивают применения этих регистров - эти названия говорят о наиболее частом использовании их или об особенности использования того или иного регистра в той иди иной команде.
Общее описание разработанной программы:

Программа реализована на языке JAVA 2. Обладает GUI (Графическим интерфейсом). Кроссплатформенная, в комплекте дан пакетный файл *.exe для запуска под ОС Windows. Для работы необходима версия JAVA Virtual Mashine версии не ниже 1.6.0.2. Выделяет под себя один системный поток. Использует объекты JAVA-классов:
jLabel (комментирующие, поясняющие надписи)
jButton (командные кнопки)
jFrame (главное окно программы)
jTextField (текстовое поле для данных используемых в работе программы)
jComboBox (выпадающее меню)
jDialog (диалоговое окно для сбора данных вводимых пользователем данных)
jPopupMenu (контекстное меню)

Комментарии к разработанной программе:

При реализации данной программы мы использовали:
4-е регистра общего назначения Ax,Bx,Cx, Dx.
5-ть “флагов”
Программа обрабатывает 7-мь основных команд языка Assembler.