컴퓨터 구조 · CPU · 퀴즈
퀴즈: CPU
문항 7개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
파이프라인을 5단계로 나누면 무엇이 좋아지는가?
- 명령어 하나가 끝나는 데 걸리는 시간이 5분의 1이 된다
- 분기 예측이 필요 없어진다
- 단위 시간당 완료되는 명령어 수가 늘어난다
- 메모리 접근 횟수가 줄어든다
정렬된 배열을 순회하는 반복문이 정렬되지 않은 배열보다 훨씬 빠른 현상의 주된 원인은?
- 정렬된 데이터가 캐시에 더 잘 들어가서
- 정렬된 배열은 컴파일러가 벡터화하기 때문에
- 조건 분기의 결과가 규칙적이어서 분기 예측이 잘 맞아서
- 정렬 자체가 데이터를 메모리에 연속 배치하기 때문에
부동소수점 덧셈 명령어가 평소 몇 사이클이던 것이 갑자기 677사이클이 되는 상황이 보고되었다. 가장 가능성이 높은 원인은?
- CPU 클록이 자동으로 낮아졌다
- 컴파일러가 최적화를 끄고 컴파일했다
- 그 명령어가 캐시에 없어서 인출이 지연됐다
- 피연산자가 비정규 수여서 마이크로코드 보조 경로를 탔다
MMIO 로 매핑된 장치 레지스터를 읽는 mov 명령어가 DRAM 읽기보다 수십만 배 느릴 수 있는 이유는?
- MMIO 는 항상 커널 모드 전환을 수반하기 때문
- 장치 드라이버가 매번 인터럽트를 발생시키기 때문
- mov 명령어가 MMIO 주소에서는 여러 명령어로 분해되어 실행되기 때문
- MMIO 주소는 캐시에 올라가지 않고, 읽기는 응답을 기다려야 하는 논포스티드 트랜잭션이기 때문
IPC(사이클당 명령어 수)가 0.3 으로 낮게 측정되었다. 가장 먼저 의심할 것은?
- 메모리나 I/O 접근을 기다리며 파이프라인이 멈춰 있다
- CPU 클록이 낮게 설정되어 있다
- 명령어 개수가 너무 많다
- 컴파일러가 벡터 명령어를 쓰지 않았다
'CPU 사용률 100퍼센트'라는 모니터링 지표에 대한 설명으로 가장 정확한 것은?
- 연산 유닛이 쉬지 않고 계산하고 있다는 뜻이다
- 해당 코어가 비유휴 상태였다는 뜻이며, 연산 유닛은 메모리 지연 등으로 멈춰 있을 수 있다
- 클록이 최대 주파수로 동작 중이라는 뜻이다
- 그 프로세스가 CPU 바운드임을 확정하는 지표다
마이크로벤치마크 결과를 다른 사람과 공유할 때 함께 적어야 할 조건으로 가장 거리가 먼 것은?
- 캐시를 데운 상태인지 차가운 상태인지
- 같은 머신에서 동시에 돌던 다른 부하가 있었는지
- 입력 데이터의 성격(예: 비정규 수 포함 여부)
- 측정에 사용한 편집기와 셸 종류