ISA와 어셈블리

RISC-V의 기본 명령어와 x86 명령어의 길이에 대해 올바른 것은?

  1. A둘 다 32비트 고정 길이이다
  2. BRISC-V가 가변 길이이고 x86이 32비트 고정 길이이다
  3. CRISC-V의 기본 명령어는 32비트 고정 길이이고, x86은 1~15바이트의 가변 길이이다
정답과 해설 보기

정답: C. RISC-V의 기본 명령어는 32비트 고정 길이이고, x86은 1~15바이트의 가변 길이이다

RISC-V의 기본 명령어는 모두 32비트이며 명령어의 경계를 바로 알 수 있습니다(압축 명령어인 C 확장을 사용하면 16비트 명령어가 섞입니다). x86은 1바이트 명령어에서부터 프리픽스와 즉치값을 포함해 최대 15바이트의 명령어까지 있으며, 다음 명령어의 시작은 현재 명령어를 읽어 봐야 알 수 있습니다. 그래서 x86은 여러 명령어를 동시에 해독하는 회로가 복잡해집니다.

이 분야 연습하기 분야로 돌아가기

ISA와 어셈블리의 다른 문제

  1. 명령어 길이를 고정 길이로 하는 것의 이점으로 가장 적절한 것은?
  2. RISC-V 명령어에서는 레지스터를 지정하는 필드(rd, rs1, rs2)가 각각 5비트이다. 그 이유로 올바른 것은?
  3. RISC-V addi 명령어의 즉치값은 12비트 부호 있는 정수이다. 이 즉치값으로 나타낼 수 있는 범위는?
  4. RISC-V에서 12비트 즉치값에 들어가지 않는 32비트 상수(예: 0x12345678)를 레지스터에 넣는 일반적인 방법은?
  5. RISC-V에서 상수 0x12345FFF를 lui와 addi의 2개 명령어로 만들 때 올바른 조합은?