728x90

💡 CPU 작동 원리 💡

🔍 CPU?

CPU는 컴퓨터에서 가장 핵심적인 역할을 수행하는 부분.
'인간의 두뇌'
연산장치, 제어장치, 레지스터 3가지로 구성됨

🔍 CPU의 구성

  • 연산장치: 산술 연산과 논리 연산을 수행
    연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보내 저장.
  • 제어장치: 명령어를 순서대로 실행할 수 있도록 제어
    주기억장치에서 프로그램 명령어를 꺼내 해독
    그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보냄.
    보낸 신호를 받아 다음에 수행할 동작 결정.
  • 레지스터: 고속기억장치로 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장
    • 범용 레지스터: 연산에 필요한 데이터나 연산 결과를 임시로 저장하는 레지스터
    • 특수 레지스터: 특별한 용도로 사용하는 레지스터. 용도와 기능에 따라 구분
    • - MAR (메모리 주소 레지스터): 읽기와 쓰기 연산을 수행할 주기억장치 주소 저장 - PC (프로그램 카운터): 다음에 수행할 명령어 주소 저장 - IR (명령어 레지스터): 현재 실행 중인 명령어 저장 - MBR(메모리 버퍼 레지스터): 주기억장치에서 읽어온 데이터 or 저장할 데이터 임시 저장 - AC (누산기): 연산 결과 임시 저장

🔍 CPU 동작

  1. 주기억장치는 입력장치에서 입력받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어온다.
  2. 중앙처리장치는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어데이터를 읽어와 처리하고
    결과를 다시 주기억장치에 저장
  3. 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보냄
  4. 제어장치는 1~3에서 명령어가 순서대로 실행되도록 각 장치 제어

인출 사이클의 마이크로연산

T0: MAR <- PC
T1: MBR <- M[MAR], PC <- PC + 1
T2: IR <- MBR

PC에 지정된 주소를 MAR로 전달.
MAR에 저장된 내용을 토대로 주기억장치의 해당 주소에서 명령어 인출
인출한 명령어를 MBR에 저장

다음 명령어 인출을 위해 PC(프로그램카운터) 값 증가

MBR(메모리 버퍼 레지스터)에 저장된 내용을 IR(명령어 레지스터)에 전달.

ADD Addr명령어 연산

T0: MAR <- IR(Addr)
T1: MBR <- M[MAR]
T2: AC <- AC + MBR

메모리에 저장된 데이터 값을 MBR에 저장
IR에 MBR의 값이 이미 저장된 상태이기 때문에 PC <- PC + 1 명령어는 필요하지 않음.
AC에 MBR을 더한 값 저장.

🔍 용어정리

중앙처리장치 CPU
인간으로 따지면 두뇌에 해당하는 부분
주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어함

  • 중앙처리장치는 비교와 연산을 담당하는 산술논리연산장치(ALU)
  • 명령어의 해석과 실행을 담당하는 제어장치,
  • 속도가 빠른 데이터 기억장소인 레지스터로 구성
    개인용 컴퓨터와 같은 소형 컴퓨터에서는 CPU를 마이크로프로세서라고 부름

연산장치
산술 연산과 논리 연산을 수행
연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보내 저장.

제어장치
명령어를 순서대로 실행할 수 있도록 제어
주기억장치에서 프로그램 명령어를 꺼내 해독
그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보냄.
보낸 신호를 받아 다음에 수행할 동작 결정.

레지스터
고속기억장치로 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장

범용 레지스터
연산에 필요한 데이터나 연산 결과를 임시로 저장하는 레지스터
특수 레지스터
특별한 용도로 사용하는 레지스터. 용도와 기능에 따라 구분

MAR (메모리 주소 레지스터)
읽기와 쓰기 연산을 수행할 주기억장치 주소 저장
PC (프로그램 카운터)
다음에 수행할 명령어 주소 저장
IR (명령어 레지스터)
현재 실행 중인 명령어 저장
MBR(메모리 버퍼 레지스터)
주기억장치에서 읽어온 데이터 or 저장할 데이터 임시 저장
AC (누산기)
연산 결과 임시 저장

728x90

'Computer Science > Computer Architecture' 카테고리의 다른 글

6. 파이프라이닝  (0) 2023.06.27
5. 패리티비트 & 해밍코드  (0) 2021.08.02
4. 고정소수점 & 부동소수점  (0) 2021.08.02
3. Cache Memory  (0) 2021.07.20
1. Structure  (0) 2021.07.14
728x90

💡 구조 💡

🔍 컴퓨터 구성 개요

🔍 컴퓨터의 구조

  • CPU: 중앙처리장치. 데이터를 처리하는 역할
  • Memory: 데이터를 저장하는 기능 수행
  • I/O: 컴퓨터와 외부 장치 사이에 데이터를 교환하는 기능 수행
  • System Bus: 위의 모든 컴퓨터 시스템 구성요소들을 연결하여 데이터 전송을 수행

🔍 컴퓨터 시스템

  • 하드웨어: 컴퓨터를 구성하는 기계적인 장치
    하드웨어는 중앙처리장치, 기억장치, 입출력장치로 구성 이들은 시스템 버스로 연결되어 있다.
    시스템 버스는 데이터와 명령 제어 신호를 각 장치로 실어 나르는 역할
    • 중앙처리장치(CPU)
    • 기억장치: RAM, HDD
    • 입출력 장치: 마우스, 프린터
  • 소프트웨어: 하드웨어의 동작을 지시하고 제어하는 명령어 집합
    • 시스템 소프트웨어: 운영체제, 컴파일러
    • 응용 소프트웨어: 워드프로세서, 스프레드시트

🔍 용어정리

중앙처리장치 CPU
인간으로 따지면 두뇌에 해당하는 부분
주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어함

  • 중앙처리장치는 비교와 연산을 담당하는 산술논리연산장치(ALU)
  • 명령어의 해석과 실행을 담당하는 제어장치,
  • 속도가 빠른 데이터 기억장소인 레지스터로 구성
    개인용 컴퓨터와 같은 소형 컴퓨터에서는 CPU를 마이크로프로세서라고 부름

기억장치
프로그램, 데이터, 연산의 중간 결과를 저장하는 장치

  • 주기억장치: ROM(Read Only Memory) 비휘발성, RAM(Random Access Memory) 휘발성 속도빠름
  • 보조기억장치: 하드디스크, CD💿, 자기테이프
    레지스터 -> 캐시기억장치 -> 주기억장치(main memory) -> 보조기억장치 (용량🔺, 단순🔺, 저렴🔻, 느림🔻)

입출력 장치

  • 입력 장치: 컴퓨터 내부로 자료를 입력하는 장치 (키보드, 마우스)
  • 출력 장치: 컴퓨터에서 외부로 표현하는 장치 (프린터, 모니터, 스피커)

시스템 버스
하드웨어 구성 요소를 물리적으로 연결하는 선
각 구성요소가 다른 구성요소로 데이터를 보낼 수 있는 통로
용도에 따라 데이터 버스, 주소 버스, 제어 버스로 나눠짐

  • 데이터 버스: 중앙처리장치와 기타 장치 사이에서 데이터를 전달하는 통로
    기억장치와 입출력장치의 명령어와 데이터를 중앙처리장치로 내보내거나,
    중앙처리장치의 연산 결과를 기억장치와 입출력장치로 보내는 '양방향' 버스
  • 주소 버스: 데이터를 정확히 실어나르기 위해서는 기억장치 '주소'를 정해주어야 함
    주소버스는 중앙처리장치가 주기억장치나 입출력장치로 기억장치 주소를 전달하는 통로이기 때문에 '단방향' 버스
  • 제어 버스: 주소버스와 데이터버스는 모든 장치에 공유되기 때문에 이를 제어할 수단이 필요함
    제어버스는 중앙처리장치가 기억장치나 입출력장치에 제어 신호를 전달하는 통로
    신호 종류: 기억장치 읽기 및 쓰기, 버스 요청 및 승인, 인터럽트 요청 및 승인, 클락, 리셋
    제어버스는 읽기 동작과 쓰기 동작을 모두 수행하기 때문에 '양방향' 버스

깃 허브 : 컴퓨터 구조 - 1. 구조

728x90

'Computer Science > Computer Architecture' 카테고리의 다른 글

6. 파이프라이닝  (0) 2023.06.27
5. 패리티비트 & 해밍코드  (0) 2021.08.02
4. 고정소수점 & 부동소수점  (0) 2021.08.02
3. Cache Memory  (0) 2021.07.20
2. CPU  (0) 2021.07.18

+ Recent posts