[대학땜에 다시하는 컴구] 6. CPU의 구성과 기능
CPU와 마이크로프로세서
마이크로프로세서란?
CPU를 칩으로 구현한 집적회로
CPU 구조는 참조 https://hoban123.tistory.com/120
하버드 구조와 폰 노이만 구조
폰 노이만 구조 프로그램과 데이터의 메모리를 공유하며, CPU와 메모리 사이에 하나의 버스만 존재한다. 이와 같은 구조로 인하여 명령어를 실행시킬때 두번의 인출 사이클이 필요하다는 단점이
hoban123.tistory.com
머신 사이클 4단계
fetch : 명령어 인출
decode : 명령어 해석
execute : 명령어 실행
store : 결과 저장
클록 (clock)
시스템 동작 타이밍의 기준 신호로, MHz 단위를 사용한다.
MIPS : 초당 처리 가능한 명령어 수
CPU 내부 구조
ALU
산술/논리 연산기, 이동기, 보수기, 상태 플래그로 이루어져 있다.
레지스터 종류
- 일반 목적 레지스터: 연산용 변수 저장
- 데이터/주소 레지스터: 메모리 데이터/주소 지정
- 조건 코드 레지스터: 연산 결과 상태 표시 (부호, 영, 오버플로 등)
스택
LIFO 구조로, push, pop, stack pointer로 제어한다.
CPU 논리회로
레지스터 설계 및 전송
직렬 전송 : 플립플롭간 1비트씩 이동한다.
병렬 전송 : 전체 비트를 동시세 이동시킨다.
전송 방식
버스 전송 : 디코더, 멀티플렉서, 디멀티플렉서 사용함
기억장치 전송 : 주소와 데이터 전달용 MAR/MBR 사용
ALU 설계
산술 연산 : 병렬 가산기 기반
논리 연산 : 논리 게이트 기반 조합 회로
이동 회로 : 좌우 이동 (곱셈/나눗셈 효과)
제어 장치 종류
하드와이어드 방식 : 논리회로만으로 제어 신호를 생성한다.
마이크로프로그래밍 방식 : 제어 메모리에 저장된 제어 명령을 사용한다.
CPU의 성능 향상 요소
클록 주파수 높을수록
워드 크기 클수록 (한번에 처리할 비트수)
캐시 메모리
명령어 집합 구조
CISC : 복잡한 명령어, 느림
RISC : 간단한 명령어, 빠름
파이프라이닝 : 여러 명령어를 분할 처리
병렬 처리 : 다중 CPU로 작업 분산
Q1. 다음 중 머신 사이클(Machine Cycle)의 올바른 순서는?
A. Decode → Fetch → Execute → Store
B. Fetch → Decode → Execute → Store
C. Fetch → Execute → Store → Decode
D. Decode → Execute → Fetch → Store
✅ 정답: B
→ 명령어 수행은 인출 → 해독 → 실행 → 저장의 4단계 순서로 진행됨
Q2. 산술논리연산장치(ALU)의 구성 요소가 아닌 것은?
A. 상태 플래그(Status Flag)
B. 이동기(Shifter)
C. 보수기(Complementer)
D. 명령어 레지스터(Instruction Register)
✅ 정답: D
→ 명령어 레지스터는 제어장치 구성 요소임
Q3. 다음 중 스택(Stack)의 특징으로 옳지 않은 것은?
A. 데이터 접근 방식은 FIFO이다
B. PUSH는 데이터를 저장하는 동작이다
C. POP은 데이터를 꺼내는 동작이다
D. 스택 포인터는 Top 위치를 가리킨다
✅ 정답: A
→ 스택은 LIFO(후입선출) 구조임
Q4. CPU의 성능 향상과 가장 직접적인 관련이 있는 요소는?
A. 하드디스크 속도
B. 마우스 응답 속도
C. 캐시 메모리 크기
D. 모니터 해상도
✅ 정답: C
→ 캐시 메모리가 클수록 CPU와 메모리 간 접근 속도가 빨라져 성능이 향상됨
Q5. RISC 구조에 대한 설명으로 옳은 것은?
A. 복잡한 명령어를 많이 포함한다
B. 속도보다 명령어 수를 줄이는 데 중점을 둔다
C. 명령어 구조가 단순하여 빠른 처리 가능
D. 범용 컴퓨터보다는 특수 목적 컴퓨터에 사용된다
✅ 정답: C
→ RISC는 단순한 명령어로 빠른 실행을 목표로 함