Документ взят из кэша поисковой машины. Адрес оригинального документа : http://uneex.mithril.cs.msu.su/FrBrGeorge/ActualEducationalTasks/ModelComputerConstructor
Дата изменения: Unknown
Дата индексирования: Sun Apr 10 07:18:09 2016
Кодировка: UTF-8
FrBrGeorge/ActualEducationalTasks/ModelComputerConstructor - UNИX

Конструктор модельных машин

В курсе ?Архитектура ЭВМ? есть такая тема: ?модельные машины?. Учебная трехадресная машина на (неофициальном) сайте практикума АЯ.

А на самом деле нужен конструктор, чтобы любые машины проектировать.

?Проект 0?

Написать на Python реализацию всех модельных машин, упомянутых в учебном пособии. Поначалу ? без использования GUI.

У УМ3 описана система команд (кажется, не полностью). Остальное надо допридумывать.

Машина должна поддерживать:

На вход машине подается образ памяти (бинарный файл). Изготавливается из программы в 16-ричных (?) кодах путем простого перевода (написать программу). Можно упростить жизнь программисту, введя формат как в пособии:

адрес

ячейка

комментарии

Адрес при этом избыточен, зато переход понятно куда писать. А программа для перевода может даже этот адрес проверять.

Впоследствии надо будет сделать еще и ассемблер.

?Проект 1?

Что можно сконструировать

В машине может быть ( /!\ TODO: выкинуть действительно лишнее, эшелонировать):

Реализация

Никакого GUI, все программируется (например, на Python) с помощью API конструктора. Причем само объектное планирование API воссоздает архитектуру ЭВМ, в этом фишка!

Например, могут быть готовые модули, соответствующие подсистемам

Получится что-то вроде такого myComputer.py:

   1 import myCPU
   2 import myRegisters
   3 import myMemory
   4 import myTerminal
   5 import myBIOS
   6 import myFPU
   7 ?

А вот какой-нибудь myFPU.py:

   1 import myRegisters
   2 ?

Означает, что смоделированный сопроцессор не работает с памятью, а работает только с регистрами

/!\ TBC

Полезные ссылки

* http://www.m5sim.org/Main_Page

FrBrGeorge/ActualEducationalTasks/ModelComputerConstructor (последним исправлял пользователь FrBrGeorge 2015-06-11 23:53:26)