МИК-1
MIC -1 — это архитектура ЦП , изобретенная Эндрю С. Таненбаумом для использования в качестве простого, но полного примера в его учебной книге «Структурированная компьютерная организация» .
Он состоит из очень простого блока управления , который запускает микрокод из хранилища на 512 слов.
Язык Micro-Assembly (MAL) разработан для обеспечения простого написания интерпретатора , IJVM исходный код такого интерпретатора можно найти в книге.
Аппаратное обеспечение
[ редактировать ]Путь к данным
[ редактировать ]Путь передачи данных является ядром MIC-1. Он содержит 32-битные регистры, шины, АЛУ и сдвигатель.
Автобусы
[ редактировать ]Имеется 2 основные шины по 32 строки (или 32 бита) каждая:
- Шина B: подключена к выходу регистров и к входу АЛУ.
- Шина C: подключена к выходу сдвига и к входу регистров.
Регистры
[ редактировать ]Регистры выбираются по 2 линиям управления: одна для включения шины B, другая для включения шины C. Шина B может быть включена только для одного регистра одновременно, поскольку одновременная передача данных из двух регистров сделает эти данные несогласованными. Напротив, шина C может быть включена более чем одним регистром одновременно; Фактически, текущее значение, присутствующее на шине C, может быть без проблем записано более чем в 1 регистр.
Операции чтения и записи выполняются за 1 такт.
Регистр MBR доступен только для чтения и содержит две линии управления. Поскольку это 8-битный регистр, его выход подключен к младшим 8 битам шины B. Его можно настроить для вывода данных двумя способами:
- Дополнение до 2 (MBR): все оставшиеся 24 бита шины B устанавливаются в 1, если это отрицательное число, или в 0, если это положительное число (расширение знака).
- Без дополнения (MBRU): оставшиеся 24 бита (из 32) устанавливаются в 0.
ИДТИ
[ редактировать ]АЛУ (или арифметико-логическое устройство) имеет следующие линии ввода, вывода и управления:
- 2 32-битные входные линии: одна для шины B и одна для шины, подключенной непосредственно к регистру H.
- 1 32-битная выходная линия, подключенная непосредственно к сдвиговому устройству.
- 6 линий управления предназначены для выбора операции, которую следует выполнить.
- 2 другие выходные строки для флагов состояния N (отрицательный) и Z (ноль).
Переключатель
[ редактировать ]Шифтер имеет 32-битный вход и выход. Выход подключен непосредственно к шине C. Сдвигатель используется для выполнения логических и арифметических операций сдвига путем простой установки соответственно управляющего сигнала SLL8 (логический сдвиг влево) и SRA1 (арифметический сдвиг вправо).
Внешние ссылки
[ редактировать ]- Статья о реализации виртуальной машины Mic-1 в VHDL
- mic1 , с открытым исходным кодом MIC-1 симулятор MAL и IJVM. , включая ассемблеры
- emuMIC с открытым исходным кодом , бесплатный и анимированный эмулятор MIC-1, разработанный студентами Университета Катании (для Windows, Mac и Linux)
- Mic1MMV , симулятор MIC-1, включенный в 5-е издание книги Эндрю С. Таненбаума «Структурированная компьютерная организация».
- mic1 - еще один симулятор MIC-1 с открытым исходным кодом, написанный студентами UMass Lowell , который включает в себя ассемблер и компилятор микрокода.