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)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Code.Dev_MH

DevMHK

[컴퓨터 구조] Program Counter(PC)란?
CS/컴퓨터 구조(Computer Architecture)

[컴퓨터 구조] Program Counter(PC)란?

2023. 1. 7. 18:00

1. PC(Program Counter)

  • 간단하게 클럭이 튕길 때마다 1씩 증가하는 기능을 하는 register
  • CPU에 특별한 명령을 통해 PC값을 바꿀 수 있음
  • 바뀌어지면 바뀌어진 값에서 1씩 증가

1.1. 16-bit counter

  • 1씩 증가하는 조합논리회로

1.2. PC

  • = Accumulator + 16-bit counter + control panel

1.3. 여러 숫자를 더하고 싶을 경우(예)

1.4. Automation

  • 0000h 주소부터 데이터가 저장되어 있음
    • h 는 Hex(16진수)를 의미
  • 네 수를 더하고, 두 수를 더한다고 가정

  • 0000h부터 네 수를 하나씩 할당한다.
  • 첫번째 네 수를 더한 값을 저장 후 두번째 시작할 때 clear 한다음에 0005h부터 다시 시작한다.
  • 그리고 두번째 더한 값도 저장한다.
  • 이러한 순차적인 과정을 메모리에만 넣으면 자동으로 할 수 있다.
  • 그러면 폰노이만 구조에 의해 하나씩 CPU에서 가져가서 실행을 하게 된다.

1.5. Programming

  • Load 0000h address
  • Add 0001h address
  • Add 0002h address
  • Add 0003h address
  • Store 값 in 0004h
  • Load 0005h address
  • Add 0006h address
  • Store 값 in 0007h

1.5.1. Code 와 Data

  • 명령을 가져오는 가장 간단한 방법은 메모리(RAM) 공간을 분리하는 것이다.
  • PC 주소 값이 동일한 주소로 명령을 가지고 있는 즉, Code 를 가지고 있는 메모리, Data 를 가지고 있는 메모리에 동일한 주소에 접근하도록 한다.
  • Data와 Code를 RAM 으로 분리해서도 원하는 기재가 가능

  • Load, Add, Store를 CPU한테 명령을 내려주어야 한다.
  • CPU가 만들어놓은 각각의 기능에 해당하는 회로가 동작하도록 만들어주어야 한다.
  • CPU와 의사소통하기 위해 CPU에서 각각의 명령들이 어떤 의미를 가지는지를 번호를 붙여놓는다.
  • 이러한 명령 숫자를 Instruction Code, Operation Code, opcode라고 한다.

반응형

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

[컴퓨터 구조] 컴퓨터의 CPU 기본 구조  (0) 2023.01.11
[컴퓨터 구조] Instruction Set이란?  (0) 2023.01.09
[컴퓨터 구조] Accumulator란?  (0) 2023.01.04
[컴퓨터 구조] RAM이란?  (0) 2023.01.02
[컴퓨터 구조] latch 란?  (1) 2022.12.31
    'CS/컴퓨터 구조(Computer Architecture)' 카테고리의 다른 글
    • [컴퓨터 구조] 컴퓨터의 CPU 기본 구조
    • [컴퓨터 구조] Instruction Set이란?
    • [컴퓨터 구조] Accumulator란?
    • [컴퓨터 구조] RAM이란?
    Code.Dev_MH
    Code.Dev_MH
    Back-End 개발자가 되기 위한 개발 노트(Java)

    티스토리툴바