본문 바로가기
CS/컴퓨터구조

[Computer Architecture] 컴퓨터 구성 , 하드웨어 , 중앙처리장치 (CPU) 작동 원리

by 채채씨 2022. 1. 11.
728x90
반응형

 

컴퓨터 시스템 구성

  • 하드웨어
    • 중앙처리장치(CPU)
    • 기억장치(RAM, SSD, CACHE, REGISTER)
    • 입출력장치(마우스, 키보드, 프린터, 화면)
  • 소프트웨어
    • 시스템 소프트웨어(응용체제, 컴파일러)
    • 응용 소프트웨어(워드프로세서, 스프레드시트)

 


 

하드웨어

 

1. 중앙처리장치(CPU)

 

컴퓨터에서 두뇌 역할을 담당하며 연산장치, 제어장치, 레지스터로 구성되어 있으며, 이 세 가지는 시스템버스로 서로 연결되어 있음.

  • 연산장치(=산술논리장치)
    • 연산에 필요한 데이터를 누산기 레지스터에서 가져옴 
    • 산술연산과 논리연산 수행
    • 최종 연산 결과는 메모리 버퍼 레지스터를 통해 다시 주기억장치(메모리)로 전송
  • 제어장치
    • 명령어 레지스터에 있는 명령어를 받아 해석하고 그에 따라 실행할 시스템(기억장치, 연산장치, 입출력장치)에 제어신호를 보내어 다음 수행할 동작 결정(명령어를 순서대로 실행할 수 있도록 제어)
  • 레지스터
    • CPU내부에서 데이터를 일시적으로 저장하는 저장소이며 속도가 빠름
    • 레지스터 구분 및 사이클
      • 프로그램 카운터(PC): 다음에 수행할 메모리(주기억장치) 주소
      • 메모리 주소 레지스터(MAR): 프로그램 카운터에서 수행할 주소를 받은 후, 그 주소를 찾아가 데이터 가져와 메모리 버퍼 레지스터에 저장(메모리의 데이터를 CPU로 가져옴=인출)
      • 메모리 버퍼 레지스터(MBR): 메모리 주소 레지스터가 가져온 데이터 및 명령을 일시적으로 저장하며, 연산에 사용되는 데이터는 누산기 레지스터로 전송하고 명령어 관련 데이터는 명령어 레지스터로 전송. 다음 명령어 인출을 위해 프로그램 카운터값 증가(비트에 따라 +2 또는 +4 또는 +8). 최종 연산 결과를 받아 메모리에 저장
      • 명령어 레지스터(IR): 메모리 버퍼 레지스터에 저장되는 것 중 명령어 관련 데이터를 받고 제어장치로 전송(=해석)
      • 누산기 레지스터(AC): 메모리 버퍼 레지스터에 저장되는 것 중 연산 관련 데이터를 받음. 제어장치의 신호에 따라 연산장치로 데이터 전송. 즉, 연산장치로 보내기 전의 중간 값을 저장하거나 연산장치에서 계산된 결과를 다시 받아 일시적으로 저장(최종 결과는 메모리 버퍼 레지스터를 통해 메모리로 전송)

 

※ 명령어 + 데이터

  • 명령어는 1과 0의 개수가 6개인 6비트로 이루어짐
  • 데이터는 10비트로 이루어짐
  • 명령어와 데이터를 한 줄로 나열하면 16비트가 됨
  • RAM은 8비트씩 저장되므로 명령어+데이터를 두 줄로 나누어 저장(두 줄이 프로세서가 한 번에 처리할 수 있는 하나의 언어)
  • 명령어+데이터가 32비트이면 RAM에 4줄로 저장되고, 64비트이면 8줄로 저장됨

 

CPU 동작 과정 요약 (read → process →write)
1. 주기억장치는 입력장치에서 받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어옴
2. CPU는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리한 후 결과를 다시 주기억장치에 저장
3. 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보냄
4. 제어장치는 1~3과정에서 명령이 순차적으로 수행되도록 각 장치에 지시보냄

 


 

2. 기억장치

 

프로그램의 명령어와 데이터 및 연산 결과 저장

  • 주기억장치: CPU가 직접 데이터를 읽고 저장할 수 있는 장치. 캐시메모리나 레지스터보다 용량이 큼
  • 보조기억장치: 주기억장치에 비해 속도가 느리지만 많은 데이터를 영구적으로 보관할 수 있음
  • 캐시메모리: CPU가 주기억장치에서 데이터를 가져오는 속도를 줄이기 위해 사용하는 장치. 속도는 빠르나 용량이 적으므로 자주 쓰이는 중요한 데이터만 저장
  • 레지스터: CPU내부에서 데이터를 일시적으로 저장하는 장치

※ 속도: [빠름] 레지스터 > 캐시 메모리 > 주기억장치(RAM) >>>> 보조기억장치(SSD) [느림]

 

 


 

3. 입출력장치

  • 입력장치: 컴퓨터 내부로 자료 입력 (마우스, 키보드 등)
  • 출력장치: 컴퓨터에서 외부로 자료 출력 (프린터, 화면 등)

 


 

※ 시스템버스

 

하드웨어 구성요소를 물리적으로 연결하는 선

  • 데이터버스: 기억장치 및 입출력장치의 명령어+데이터를 CPU로 보내거나, 처리 결과를 다시 기억장치 및 입출력장치로 보내는 양방향 버스
  • 주소버스
  • 제어버스

 


 

[reference]

 

728x90
반응형

댓글