CPU와 아키텍처

마이컴 등에서 주변기기의 레지스터를 메모리와 같은 주소 공간에 할당하고 일반적인 메모리 읽기/쓰기 명령어로 조작하는 방식은?

  1. A가상 메모리
  2. B메모리 맵 I/O
  3. C캐시 코히런시
정답과 해설 보기

정답: B. 메모리 맵 I/O

메모리 맵 I/O에서는 타이머나 UART 등 주변기기의 제어 레지스터에 특정 주소를 할당하고 일반적인 로드/스토어 명령어로 조작합니다. 입출력 전용 명령어를 마련하는 방식(x86의 IN/OUT 등 포트 맵 I/O)에 비해 명령어 세트를 단순하게 할 수 있어 ARM과 RISC-V 마이컴에서 표준적입니다. 주변 레지스터는 캐시하지 않고, 컴파일러가 최적화하지 못하게 하는(volatile) 등의 주의가 필요합니다.

  • A. 가상 메모리는 가상 주소와 물리 주소를 대응시키는 구조입니다.
  • B. 정답입니다. 주변기기를 메모리 공간에 할당해 조작합니다.
  • C. 캐시 코히런시는 여러 캐시 내용의 일관성을 유지하는 구조입니다.
이 분야 연습하기 분야로 돌아가기

CPU와 아키텍처의 다른 문제

  1. 마이컴에 탑재되는 워치독 타이머의 역할로 올바른 것은?
  2. 프로그램에서 서브루틴(함수)을 호출할 때 복귀 주소 등을 일시적으로 저장하기 위해 일반적으로 사용되는 영역은?
  3. 캐시 미스 분류인 「3C」에 포함되는 것의 조합으로 올바른 것은?
  4. 비순차 실행 CPU에서 순서를 바꿔 실행한 명령어의 결과를 프로그램 본래의 순서대로 확정(리타이어)시키기 위한 구조는?
  5. 비순차 실행 CPU에서 사용되는 레지스터 리네이밍의 주된 목적은?

이 분야의 비교