Машинная арифметика

Архитектура СнК, разработка RISC-ядра, функциональная верификация, разработка инструментальных средств, прототипирование и отладка на FPGA

Модератор: Интегральный вычислитель

Машинная арифметика

Сообщение Интегральный вычислитель » 29 янв 2010, 19:48

В этой теме предлагаю обсуждать вопросы реализации математических блоков и алгоритмов (АЛУ, умножение и деление, FPU).

Рекомендуемая литература по теме:
  • Behrooz Parhami Computer Arithmetic: Algorithms and Hardware Designs (The Oxford Series in Electrical and Computer Engineering)
  • Israel Koren. Computer Arithmetic Algorithms
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

Re: Машинная арифметика

Сообщение Интегральный вычислитель » 29 янв 2010, 19:57

По поводу ALU:
По интерфейсу должно получиться следующее:

Входные порты:
  • clk;
  • rst;
  • op1[31:0], op2[31:0] - операнды;
  • funcode[x:0] - код операции;
  • shamt [4:0] - размер сдвига (для сдвиговых операций)

Выходные порты:
  • result [31:0] - результат операции;
  • rdy - флаг готовности результата;
  • overflow - флаг переполнения;
  • branch - флаг перехода (если 1, то переход выполняется)

Список операций из MIPS ISA, которые будут выполнятся через АЛУ во вложенном файле.

Реализаций АЛУ занимается Артём, просьба отписаться по ожидаемым срокам.

Насколько мне стало известно, у OYTIS'a есть желание поучаствовать в создании блоков умножения и деления. Просьба отписаться в этой теме, если это так.
Вложения
alu_instr.pdf
(55.7 Кб) Скачиваний: 402
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

Re: Машинная арифметика

Сообщение OYTIS » 02 фев 2010, 17:29

Истинно так! Насколько я понимаю, оно должно выполняться за несколько тактов?
OYTIS
 
Сообщения: 76
Зарегистрирован: 22 апр 2008, 12:11

Re: Машинная арифметика

Сообщение OYTIS » 07 фев 2010, 17:23

Реквестирую добавление дополнительного 32-разрядного порта результата. См. описание инструкций MULT и DIV.
OYTIS
 
Сообщения: 76
Зарегистрирован: 22 апр 2008, 12:11

Re: Машинная арифметика

Сообщение Интегральный вычислитель » 07 фев 2010, 18:40

OYTIS писал(а):Реквестирую добавление дополнительного 32-разрядного порта результата. См. описание инструкций MULT и DIV.

Зачем? Есть же:
MFHI - Move From HI Register
MFLO - Move From LO Register
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

Re: Машинная арифметика

Сообщение OYTIS » 08 фев 2010, 04:23

Ммм... Не улавливаю. При выполнении команды MULT ALU должно вернуть 64-х разрядный результат для помещения в регистры HI и LO. Куда оно будет возвращать этот результат и чем нам тут помогут указанные команды?

UPD:
Или эти регистры находятся в самом ALU? Тогда все понятно, да.
OYTIS
 
Сообщения: 76
Зарегистрирован: 22 апр 2008, 12:11

Re: Машинная арифметика

Сообщение Интегральный вычислитель » 10 фев 2010, 13:47

OYTIS писал(а):UPD:
Или эти регистры находятся в самом ALU? Тогда все понятно, да.

Да, они находятся в самом АЛУ.
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса


Вернуться в ANCILE: создание системы на кристалле

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron