INEL 4215: Computer Architecture and Organization

Fall 2004

Nayda G. Santiago

 

Homework 1: INEL 4215

THIS IS AN INDIVIDUAL HWK

Due November 15, 2004

10 points

 

The following piece of code was extracted from an application in the area of applied electromagnetics. It was written in Fortran and it is the basic kernel of the code (kernel here means the subroutine more essential or most time consuming) Convert the code to the assembler of the EASY 1 computer and simulate it using Active VHDL:

 

      Subroutine BiMATVECCav(vector,product)

      Complex Y(*), vector(*),product(*)

      Integer row, col, index, EndPoint(*)

      Complex matEntry

      Do row = 1, Unk

         Do  col = 1, Unk

            If(row .LT. col) Then

                index = EndPoint(row)+col

            Else

                index = EndPoint(col)+row

            EndIf

            matEntry = Y(index)

            product(row) = product(row) + matEntry*vector(col)

         EndDo

      EndDo

      Return

      End

 

Turn in timing diagrams showing the contents of the accumulator and the values of the registers.