ISA와 어셈블리

RISC-V와 같은 로드-스토어 아키텍처의 특징으로 올바른 것은?

  1. A덧셈 등의 연산 명령어가 메모리 상의 값을 직접 읽어 계산하고 결과를 메모리에 다시 쓴다
  2. B메모리를 읽고 쓸 수 있는 것은 로드 명령어와 스토어 명령어뿐이며, 연산은 레지스터끼리 수행한다
  3. C레지스터를 두지 않고 모든 값을 스택에 쌓아 계산한다
정답과 해설 보기

정답: B. 메모리를 읽고 쓸 수 있는 것은 로드 명령어와 스토어 명령어뿐이며, 연산은 레지스터끼리 수행한다

로드-스토어 아키텍처에서는 메모리의 값을 먼저 로드 명령어로 레지스터에 읽어 들이고, 덧셈이나 비교 같은 연산은 레지스터끼리 수행하며, 결과가 필요하면 스토어 명령어로 메모리에 다시 씁니다. 연산 명령어가 메모리를 직접 다루지 않으므로 명령어 형태가 균일해지고 파이프라인으로 처리하기 쉬워집니다. x86의 'add eax, [mem]'처럼 연산 명령어가 메모리를 읽을 수 있는 방식과는 대조적입니다.

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

ISA와 어셈블리의 다른 문제

  1. RISC-V의 레지스터 x0(zero)의 성질로 올바른 것은?
  2. RISC-V의 RV32I(32비트 기본 정수 명령어 집합)가 가진 범용 정수 레지스터로 올바른 것은?
  3. 어셈블리 언어와 기계어의 관계로 올바른 것은?
  4. RISC-V의 의사 명령어 'nop'(아무것도 하지 않음)은 어셈블러에 의해 실제로 어떤 명령어로 치환되는가?
  5. RISC-V의 'add' 명령어와 'addi' 명령어의 차이로 올바른 것은?