Code.Dev_MH
DevMHK
Code.Dev_MH
전체 방문자
오늘
어제
  • 개발자의 일상 (40)
    • Language (5)
      • Java (4)
      • Kotlin (1)
      • Python (0)
    • Back-End (1)
      • Spring (1)
      • Django (0)
      • Error (0)
    • Infra (0)
      • Docker (0)
      • CI, CD (0)
      • AWS (0)
    • CS (12)
      • 컴퓨터 구조(Computer Architectur.. (12)
      • 운영 체제(OS) (0)
      • 시스템소프트웨어(SystemSoftware) (0)
      • 네트워크(Network) (0)
      • 소프트웨어공학(Software Engineerin.. (0)
      • 데이터베이스(DataBase) (0)
      • 자료구조(Data Structure) (0)
      • 알고리즘(Algorithm) (0)
    • Git (0)
    • Algorithm (21)
      • 프로그래머스 (5)
      • 백준 (16)
      • 코딩테스트 후기 (0)
    • 회고 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 백준
  • Greedy
  • Priority Queue
  • 우선순위 큐
  • java
  • 브루트포스
  • 컴퓨터구조
  • BFS
  • 다이나믹프로그래밍
  • 프로그래머스
  • 너비우선탐색
  • INT
  • 자바와비교
  • 코틀린사용이유
  • 그리디
  • computer architecture
  • dp
  • 제로베이스백엔드스쿨
  • 코틀린장점
  • cs

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Code.Dev_MH

DevMHK

[컴퓨터 구조] 컴퓨터의 CPU 기본 구조
CS/컴퓨터 구조(Computer Architecture)

[컴퓨터 구조] 컴퓨터의 CPU 기본 구조

2023. 1. 11. 18:00

1. CPU 기본 구조

  • CPU에는 레지스터(Register)라는 저장공간이 있음
    • 역할: 빠른 실행을 위해
    • PC(Program Counter): 다음 실행할 명령어 주소를 가리키는 레지스터
    • IR(Instruction Register): 가장 최근에 인출한 명령어 보관 레지스터
    • 누산기(ACC, Accumulator): 데이터 일시 보관 레지스터
    • MAR(Memory Address Register): CPU가 메모리 참조를 위해 보관하는 데이터 주소를 가진 레지스터
    • MBR(Memort Buffer Register): CPU가 메모리로부터 읽거나, 저장할 데이터 자체를 보관하는 레지스터

2. CPU 기본 실행 구조(4가지)

2.1. Instruction Fetch

  • 실행할 명령어를 메모리에서 읽어 CPU로 가져온다.
    • PC가 가리키는 주소 → MAR
    • MAR에 적힌 주소를 메모리(Memory)에서 읽어 → MBR
    • MBR에 있는 명령어 → IR 저장
    • 다음 명령어를 가리키도록 PC 주소값 증가

2.2. Instruction Decode

  • IR에 저장된 인출한 명령어를 해석을 해서 해당 명령어에 포함된 데이터를 가져오고 이 명령어(ex.10h)를 해독하는 과정
  • 여기서 "인출한 명령어에 포함된 데이터를 가져온다" 를 CPU 명령어 구조로 파악하자면,
    • 실제로 메모리에는 명령어 메모리, 주소 메모리를 따로 가지고 있지는 않다. 그냥 하나의 메모리에 명령어와 필요한 주소 데이터, 즉 인자(Argument)를 작성 해놓는다. (= 기본적으로 하나의 명령은 opcode + argument(operand)) 구조이다.
    • 그러면 실제로 이 부분은 아래 빨간 네모 박스처럼 RAM(메모리)에 저장되어 있다.
    • 위 그림에서 LOD A라는 명렁과 01h라는 주소가 00111110(OpCode)와 00000001(Operand, argument)처럼 2진수로 표현될 것이다.
    • 이것을 16진수로 표현하면 3E, 01로 표현되며, RAM에 순차적으로 저장되어 있다.

2.3. Instruction Execution : 명령어 실행

  • MBR의 데이터와 ACC(Accumulator)의 데이터로 연산 후, ACC(Accumulator)에 저장

2.4. Write Back : 실행 결과를 저장

반응형

'CS > 컴퓨터 구조(Computer Architecture)' 카테고리의 다른 글

[컴퓨터 구조] CISC vs RISC  (0) 2023.01.16
[컴퓨터 구조] 파이프라인  (0) 2023.01.13
[컴퓨터 구조] Instruction Set이란?  (0) 2023.01.09
[컴퓨터 구조] Program Counter(PC)란?  (0) 2023.01.07
[컴퓨터 구조] Accumulator란?  (0) 2023.01.04
    'CS/컴퓨터 구조(Computer Architecture)' 카테고리의 다른 글
    • [컴퓨터 구조] CISC vs RISC
    • [컴퓨터 구조] 파이프라인
    • [컴퓨터 구조] Instruction Set이란?
    • [컴퓨터 구조] Program Counter(PC)란?
    Code.Dev_MH
    Code.Dev_MH
    Back-End 개발자가 되기 위한 개발 노트(Java)

    티스토리툴바