Preview

V. RV64I Base Integer Instruction Set Analysis

Good Essays
Open Document
Open Document
749 Words
Grammar
Grammar
Plagiarism
Plagiarism
Writing
Writing
Score
Score
V. RV64I Base Integer Instruction Set Analysis
V. RV64I Base Integer Instruction Set

A. Integer Computation Instructions
All the instructions which have been developed for the RV32I are fully supported in the RV64I ISA also. The instructions exclusive to 64-bit version are discussed here. All of these have suffix "w". Quite obviously, they produce answers consistent with their 32-bit counterparts meaning all the bits are equal from XLEN-1 to 31. These produce an error or exception when executed on RV32I.
 Integer Register-Immediate Instructions: ADDIW performs the addition of contents present in rs1 and the immediate data after padding the 12 sign bits upper. Only the 32 LSBs are stored of the result by sign extension overlooking the overflown ones.
The formatting of the instruction
…show more content…
The manner of operation is exactly same as explained in the Integer Register Immediate kind of instructions in the previous sub-heading. SRAW, SRLW and SLLW are the shifting instructions only for 64I which actually work 32 bits and then sign extend them to give 64.

B. Load and Store Instructions

 Load:
Being a RISC machine, it is a load and store kind of architecture and thus these instructions form an integral part of ISA. The working of LD happens as- rd is loaded with a 64-bit word from memory and then stored into rd after sign extension (if it is 64I) or without sign extension (if 32I). LW works similarly, but on a 32-bit word. LWU again works similarly but does zero extension instead of sign extension suitably. LH and LHU opearte on two bytes and LB and LBU on one byte.  Store:
The SD, SW, SH, and SB instructions store 64-bit, 32-bit, 16-bit, and 8-bit values from the low bits of register rs2 to memory. C. System Instructions
RDCYCLE is an instruction which returns the number of clock cycles into the destination register that have occurred in the processor since an arbitrary point of time. In RV64I, this will return a 64-bit unsigned integer value, which should never
…show more content…
REM and REMU provide the remainder of the corresponding division operation. However, if we need to obtain both the quotient and the remainder, it is recommended to write DIV instruction first followed by REM. At times, user might input divisor as zero, the answer of which is not defined and hence the ISA needs to have some provision for handling such exceptions. In RV, all the bits of quotient are set to one and the remainder is returned same as dividend in case of unsigned division. In case of overflow in signed division, quotient is returned same as dividend and the remainder is set to zero. The semantics have been tabulated as under:

Conclusion :

The project helped us get an insight into the ISA of a new processor, RISC-32VI. This processor has been kept open sourced in order to be useful for academic and research purposes.
The knowledge of MIPS architecture which was learnt in the previous semester had laid quite a good foundation and helped us understand the things. The instruction set for a 64-bit variant was also touched upon, which had minor modifications in the 32-bit variant. This ISA can be used to develop high end

You May Also Find These Documents Helpful

  • Satisfactory Essays

    cout << num1 << " + " << num2 << " = " << num1+num2;…

    • 426 Words
    • 2 Pages
    Satisfactory Essays
  • Satisfactory Essays

    Chapter 20 lab

    • 284 Words
    • 2 Pages

    4. What does dnl stand for in the m4 macro language; what are dnl commands used for?…

    • 284 Words
    • 2 Pages
    Satisfactory Essays
  • Good Essays

    Unit 59 Assignment 3

    • 645 Words
    • 3 Pages

    The process of how the subroutine works within an operating environment is as follows. While the main part of the program is running, there will be a call command sent to the CPU to tell it to stop wherever the program is at, store the W, Z and status along with where in the main program the CPU is at in the stack. Then the main program is cleared from memory and the subroutine is loaded for the CPU to start processing the code. Once the subroutine has finished, the subroutine code is deleted from memory and the CPU will load up the main program back on and will retrieve from stack the stored information (W, Z and status) which will allow the CPU know exactly where it needs to start from.…

    • 645 Words
    • 3 Pages
    Good Essays
  • Powerful Essays

    ● Converts the value of i to double and stores it in d. This conversion is done automatically by the compiler, because double data type is normally wider than int, there is absolutely no risk storing int in double.…

    • 2338 Words
    • 10 Pages
    Powerful Essays
  • Powerful Essays

    En1320 Unit 1 Research Paper 1

    • 27742 Words
    • 111 Pages

    in register R3. This code is simple, and it does not express all the instructions needed to…

    • 27742 Words
    • 111 Pages
    Powerful Essays
  • Satisfactory Essays

    f) Diminished radix complement arithmetic requires an additional step of adding the carry bit to the result (in 9’s compliment).…

    • 1112 Words
    • 5 Pages
    Satisfactory Essays
  • Satisfactory Essays

    Quiz Comp Archi

    • 438 Words
    • 3 Pages

    12) Please list registers and their functions in ARM. How many general purpose registers and how to use them in the program?…

    • 438 Words
    • 3 Pages
    Satisfactory Essays
  • Satisfactory Essays

    (c) Convert the following numbers into binary and perform the arithmetic operations in (i) and (ii) using signed binary numbers with 2’s complement. Use 7 bits to represent the integer part of decimal numbers and the sign bit. Use three bits to represent the fractional part.…

    • 780 Words
    • 10 Pages
    Satisfactory Essays
  • Satisfactory Essays

    Unit 1&2 Discussion

    • 379 Words
    • 2 Pages

    Access control is typically achieved by reserving a collection of bits within the general “Flag Register” to indicate the current “access control level”. Certain instructions are restricted so that they are only legal if the “access control level” is at least some minimum value; otherwise the instruction generates an “illegal operation” interrupt.…

    • 379 Words
    • 2 Pages
    Satisfactory Essays
  • Good Essays

    Figure 1: Overall Block Diagram The goal of this project is to provide you with a more practical hands-on approach to computer architecture design problems. The processor complex you will be designing is a 32-bit version of the MIPS processor; however, the instruction set will be a small subset of the actual MIPS ISA. You should implement the end to end operation of the complex utilizing the VHDL hardware descriptive language. You may use any constructs within the VHDL language, however, the design must be of your own. Copying of any form from any other student or any internal or external sources is illegal and will not be accepted. The processor supports the three instruction formats: R-format, I-format, and J-format as described in the text book and lectures. Table I Summarizes the core set of instructions for your ISA. The memory is assumed to be byte addressable and each word is 32 bits.…

    • 1082 Words
    • 5 Pages
    Good Essays
  • Good Essays

    Polygraph Test

    • 886 Words
    • 4 Pages

    In the dual-pathway model of fear, the “high road” leads to the ______ and the “low road” leads to the ______.…

    • 886 Words
    • 4 Pages
    Good Essays
  • Good Essays

    Doc. Unix

    • 1228 Words
    • 5 Pages

    b. It is used to perform division on the results of a numerical command operator.…

    • 1228 Words
    • 5 Pages
    Good Essays
  • Satisfactory Essays

    Explain the difference of “reg to mem”, “mem to reg” and “mem to mem” ISAs.…

    • 348 Words
    • 2 Pages
    Satisfactory Essays
  • Satisfactory Essays

    12. According to the rules of operator precedence, when division occurs in the same arithmetic statement as..........., the division operator always takes place first.…

    • 316 Words
    • 2 Pages
    Satisfactory Essays
  • Satisfactory Essays

    2.1 A First Verilog Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Lexical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Program Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8…

    • 4773 Words
    • 20 Pages
    Satisfactory Essays