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

MyungHwan Kim·2022년 8월 22일
1

컴퓨터구조

목록 보기
8/12
post-thumbnail

01. PC(Program Counter)

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

16-bit counter

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

PC

  • = Accumulator + 16-bit counter + control panel

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

Automation

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

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

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

Code 와 Data

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

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

profile
Back-end 개발자가 되기 위한 개발 노트(Java)

0개의 댓글