# 7. 컴퓨터 구조 7일차(230920)

brand_mins·2023년 9월 20일

Computer Architecture

목록 보기
7/7

1. CPU의 작동원리

1-1 ALU와 제어장치

(1) ALU

1) ALU(산술논리연산장치)가 받아들이는 정보

  • ALU는 계산하는 부품.
  • 레지스터를 통해 피연산자를 받아들이고 제어장치로부터 받아들인 피연산자와 제어신호로 산술 연산, 논리 연산 등을 수행함.

2) ALU가 내보내는 정보

  • 연산을 수행한 결과는 숫자가 될 수 있고 문자가 될 수 있음.
  • 또한, 메모리 주소도 될 수 있다.
  • 결괏값은 메모리에 바로 저장되지 않고 일시적으로 레지스터에 저장
    • CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도보다 느림
    • 메모리에 저장하게되면 메모리에 자주 접근하게 되어 프로그램 실행 능력이 저하.
  • ALU는 계산하는 정보도 있지만 플래그를 내보낸다.
  • 플래그란? 연산 결과에 대한 추가적인 상태정보.
플래그 종류의미사용 예시
부호 플래그연산한 결과의 부호를 나타냄부호 플래그가 1일 경우 계산 결과는 음수, 0일 경우 양수
제로 플래그연산 결과가 0인지 여부제로 플래그가 1일 경우 연산 결과 0, 0일 경우 0이 아님을 증명
캐리 플래그연산 결과 올림수나 빌림수가 발생했는지캐리 플래그가 1일 경우 올림수나 빌림수가 발생, 0일 경우 그렇지 않음
오버플로우 플래그오버플로우가 발생했는지오버플로우 플래그가 1일경우 오버플로우 발생, 0이면 발생x
인터럽트 플래그인터럽트가 가능한지 나타냄.인터럽트 플래그가 1일경우 인터럽트 가능, 0이면 불가능
슈퍼바이저 플래그커널모드로 실행중인지 사용자모드로 실행중인지 나타냄슈퍼바이저 플래그가 1일경우 커널모드, 0일 경우 사용자모드
  • 플래그들은 플래그 레지스터에 저장.
  • 플래그 레지스터는 이름 그대로 플래그 값들을 저장하는 레지스터

(2) 제어장치

  • 제어장치는 제어신호를 내보내고 명령어를 해석하는 부품.
  • 제어신호는 컴퓨터 부품들을 관리하고 작동시키기 위한 전기신호

1) 제어장치가 받아들이는 정보

  • 제어장치는 클럭 신호를 받아들임.
    • 클럭은 컴퓨터가 모든 부품을 움직이게 할 수 있는 시간 단위
    • 클럭의 똑딱똑딱 소리의 주기에 맞춰 레지스터에서 다른 레지스터로 데이터가 이동되거나 연산이 수행되거나 메모리에 저장된 명령어를 읽어들일 수 있다.
    • 주의) 컴퓨터의 모든 부품이 클럭 신호에 맞춰 작동한다는 것이 한 클럭마다 움직이는 것은 아니다!
  • 제어장치는 해석해야 할 명령어를 받아들인다.
    • CPU가 해석해야할 명령어는 명령어 레지스터가 있음.
    • 이 명령어 레지스터로부터 해석할 명령어를 받아들이고 해석하고 제어신호를 발생하여 수행.
  • 제어장치는 플래그 레지스터 속 플래그 값을 받아들인다.
  • 제어장치는 시스템 버스, 그 중에서 제어버스로 전달된 제어 신호를 받아들임
    • 제어 신호는 CPU뿐만 아닌 입출력장치를 비롯한 CPU 외부장치도 발생.
    • 제어장치는 제어버스를 통해 외부로부터 전달된 제어신호를 받아들임

2) 제어장치가 내보내는 정보

  • 제어장치가 CPU외부에 제어신호를 전달한다는 말은 제어버스로 제어신호를 내보낸다.
  • 제어장치가 입출력장치의 값을 읽거나 새로운 값을 쓰고싶을때 제어신호를 내보낸다.
  • 제어장치가 CPU내부에 전달하는 제어신호에는 ALU에 전달하는 제어신호와 레지스터에 전달하는 제어신호가 있음.
  • ALU에는 수행할 연산을 지시하기 위해, 레지스터에는 레지스터간 데이터를 이동하고 명령어를 해석하기 위해 제어 신호를 내보낸다.
profile
IT 개발자가 되기 위한 기록

0개의 댓글