Скачиваний:
26
Добавлен:
01.05.2014
Размер:
640.51 Кб
Скачать

4.2 Формат команд

В проектируемом процессоре используется 32-х разрядный формат команд:

31

30

29

28

27

26

25

24

23

22

21

20

1

0

OP

AMD

R1

R2

Поле КОП – код операции. Т.к. всего 46 команд (64 макс), то под код операции отводится 6 бит.

Поле AMD указывает способ адресации:

  • AMD=00 – непосредственная адресация;

  • AMD=01 – относительная адресация;

  • AMD=10 или AMD=11 – косвенная адресация.

Поля R1 задаёт регистр – приёмник.

Так как в исходных данных 16 регистров, то под поле R1 выделим 4 бита.

Поле R2 задает источники данных. При непосредственной адресации в поле R2 записывается значение операнда, а при относительной в данном поле содержится адрес. При коственной адресации в первые 8 битов помещаются номера регистров, в которых храниться база и индекс соответственно, а в оставшиеся 15 байт помещается смещение.

4.3 Способы адресации

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

В соответствии с техническим заданием, требуется осуществить 3 способа адресации:

1. Непосредственная адресация

При непосредственной адресации значение операнда содержиться в команде подлежащей выполнению.

2. Косвенная адресация

Исполнительный адрес операнда находится в регистре или в памяти по адресу, заданному в команде. Т.е. в команде лишь содержится информация, на основании которой можно определить адрес операнда. Этот реальный адрес и называется исполнительным адресом операнда.

3. Относительная адресация

При относительной адресации адрес формируется путем суммирования значений базового адреса и смещения относительно него. В качестве базового адреса выступает значение регистр, заданного 4 битами R2, со смещением, указываемым оставшимся местом R2.

5. Память

5.1 Структура памяти

Поскольку модель памяти должна удовлетворять требованиям, предъявляемым ОС UNIX, то предлагается следующая модель организации виртуальной памяти.

Поскольку заданием задан размер памяти 2048 Мбайт, то предлагается разделять имеющуюся память на следующие блоки.

Память размером 512 Мбайт доступна процессам в пользовательском режиме. Страницы этой памяти являются кэшируемыми и перемещаемыми. Оставшаяся память объемом 512 Мбайт становится доступной только в режиме ядра. Предложено разделить ее на следующие блоки:

  1. 128 Мбайт под ядро ОС. Эта память является неперемещаемой (не используется переадресация через буфер TLB), но кэширование страниц разрешено.

  2. 128 Мбайт под порты ввода-вывода, так как по заданию работа с портами осуществляется как с ячейками памяти. Эта память является некэшируемой и неперемещаемой.

  3. 256 Мбайт памяти дополнительно доступно для процессов в системном режиме (режиме ядра). Эта память является кэшируемой и перемещаемой.

  4. 512 Мбайт памяти доступно для процессов в пользовательском режиме