Лабораторная работа №3 Осень 2014

О найденных ошибках и опечатках просьба сообщать  на ripopov@gmail.com

1. Цель работы:

2. Рекомендуемая литература

Схема конвейерного процессора (https://docs.google.com/file/d/0B3f0QtUNvV1kUGRzZ2FaQVV6a2s/edit?usp=sharing  )

3. Порядок выполнения работы:

  1. Загрузите модель конвейерного процессора.

https://github.com/ripopov/lab_2_spring_2013

  1. Соберите тестовую программу, воспользовавшись готовым Makefile’ом
  2. Проведите симуляцию проекта с тестовой программой в  Xilinx ISIM

Тестовый вывод симулятора:

Trace register $t0

Finished circuit initialization process.

$t0 (REG8) = 00000000

$t0 (REG8) = 00000000

$t0 (REG8) = 00000000

$t0 (REG8) = 00000000

$t0 (REG8) = 00000000

$t0 (REG8) = 00000001

$t0 (REG8) = 00000001

$t0 (REG8) = 00000001

$t0 (REG8) = 00000002

$t0 (REG8) = 0000000d

$t0 (REG8) = 0000000c

$t0 (REG8) = 0000001c

$t0 (REG8) = 0000001d

$t0 (REG8) = 00000000

$t0 (REG8) = 00000001

...

  1. Доработайте модель процессора согласно варианту задания.

4. Варианты задания:

Номер варианта

Сложность

варианта

Описание задания

1.

низкая

Реализовать выполнение команд сдвига SRA, SRL, SLL

2.

высокая

Заменить память на полностью синхронную (с синхронным чтением и записью данных). Доработать процессор для работы с синхронной памятью.

3.

низкая

Реализовать выполнение команды JAL, JR

4.

высокая

Реализовать обработку внешнего сигнала прерывания

5.

высокая

Реализовать обработку исключений при переполнении

6.

средняя

Реализовать выполнение команд JR, JALR

7.

низкая

Заменить память на байт-адресуемую, реализовать команды LB, LH, SH, SB

8.

низкая

Реализовать выполнение команд CLZ, CLO.

9.

низкая

Реализовать выполнение команд BNE, BLEZ, BLZT