새소식

반응형
CS 지식/컴퓨터구조

[컴퓨터구조] 8. MIPS, ARM, RISC-V, Systemverilog 비교

2023.10.10
  • -
반응형

ARM v8 instruction (from COD)

  • 64비트로 이동하면서 ARM은 전면적인 정비를 했다.
  • ARM v8은 MIPS와 닮아있다.
  • v7과 다른점?:
    • 조건부 실행 필드(conditional execution field)가 존재하지 않는다.
    • Immediate field
    • Dropped load/store multiple
    • PC가 더 이상 GPR이 아니다.
    • GPT set이 32로 확장되었다.
    • Addressing mode가 모든 word size에서 동작한다.
    • instruction을 나눈다(divide).
    • Branch if equal/branch if not equal instruction

MIPS와 거의 유사함

 

Intel x86 Register

flag register

register 수가 MIPS에 비해서 현저히 적다.

 

Intel x86 Instructions

RISC에서는 fetch할 때 32bit만 가져오면 됐는데 CISC는 위와 같이 32bit로 고정되어 있지 않다.

그래서 CISC는 고정된 bit를 fetch하는 것이 아니라. instruction buffer라는 곳에 몽땅 다 넣어서 명령어가 몇 bit인지 decode한 후에 명령어를 가져온다(fetch).

 

MIPS and RISC-V

MIPS와 비교했을 때, RISC-V는 opcode가 뒤쪽으로 가 있다는 점이 다르다.


 

RISC-V Register Set

 

Branching

  • 순서에 맞지않게 instruction을 실행한다.
  • brances 유형:
    • Conditional
      • branch if equal (beq)
      • branch if not equal (bne)
      • branch if less than (blt)
      • branch if greater than or equal (bge)
    • Unconditional
      • jump(j)
      • jump register(jr)
      • jump and link(jal)
      • jump and link register(jalr)

 

RISC-V Function Calling Conventions

  • Call Function: jump and link (jal func)
  • Return from function: jump register (jr ra)
  • Arguments: a0 – a7
  • Return value: a0

 

Preserved Registers

 

Machine Language

  • instruction을 binary로 표현한다.
  • 컴퓨터는 오직 1과 0만 이해할 수 있다.
  • 32-bit instructions
    • Simplicity favors regularity: 32-bit data & instructions
  • 4 Types of Instruction Formats:
    • R-Type
    • I-Type
    • S/B-Type
    • U/J-Typ

 

U/J-Type

  • Upper - immediate-Type
  • Jump-Type
  • Differ only in immediate encoding

 

Review: Instruction Formats

MIPS의 R,I, J와 거의 유사하다.

 

Compressed instructions

  • 16-bit RISC-V instructions
    • register 32-bit을 다 쓰지 않아 더 가볍지만 할 수 있는 명령이 제한되기 때문에 microprocessor나 embedded에 사용된다.
  • 일반적인 integer 및 floating-point 명령을 16비트 버전으로 바꿉니다.
  • 대부분의 RISC-V 컴파일러/프로세서는 32비트 명령어와 16비트 명령어를 혼합하여 사용할 수 있습니다.
  • Uses prefix: c.

 

Compressed Machine Formats

 

RISC-V Floating-Point Extensions

  • RISC-V offers three floating point extensions:
  • RVF: single-precision (32-bit)
  • 8 exponent bits, 23 fraction bits
  • RVD: double-precision (64-bit)
  • 11 exponent bits, 52 fraction bits
  • RVQ: quad-precision (128-bit)
  • 15 exponent bits, 112 fraction bits

 

Exceptions

MIPS와 마찬가지임 전 포스팅 참조.

[CS 지식/컴퓨터구조] - [컴퓨터구조] 7. MIPS assembly programming(Array etc.)

 

RISC-V Instructions

MIPS와 거의 같다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.