컴퓨터 구조 - Program Counter (PC)

박근수·2024년 1월 20일
0

컴퓨터 구조

목록 보기
7/11

Program Counter (PC)

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

PC

= Accumulator + 16-bit counter + control panel

16-Bit Counter

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

여러 숫자를 더할 때

  1. 각 숙자를 0000h 부터 순차적으로 써넣는다.
  • Control Panel에 Takeover 스위치를 1로 한 후, 각 숫자를 각 주소에 써넣는다.
  1. Takeover 스위치를 0으로 해서, 더이상 Control Panel이 RAM을 제어하지 않도록 만든다.
  2. PC의 Clear 스위치가 0이 되면, PC는 0000h 부터 RAM 에서 데이터를 가져온다.
  3. Adder가 값을 더한다.
  4. 클럭(Oscillator)이 0과1로 변할 때마다, PC값이 증가

Automation

  • 0000h 주소부터 데이터가 저장되어 있음
  • 세 수를 더하고, 두 수를 더하고, 세 수를 더한다고 가정

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

Data & Code

각 주소에 대응해서 Load, Add, Store를 의미하는 값을 만들어야 함
RAM을 분리하여, 명령을 의미하는 값을 순차적으로 넣어주면, 코드를 실행할 수 있음

  • h는 Hex (16진수)를 의미함
  • 아래와 같이 각 명령을 의미하는 숫자를 만들고, 각 주소에 맞는 코드 넣기
  • 명령 숫자 : Instruction Code, Operation Code, 또는 opcode라고 함

Load 와 Store 명령

  • Load : 2-to-1 Selector로 Data를 Add 하지 않고 바로 8-bit-Latch에 넣음
  • Store : 8-bit latch의 output을 바로 64K X 8 RAM에 저장 (Write 스위를 1로 만듬)

Digital Computer

CPU, Memory, PC, Input(Switches), Output(출력전구)

  • Digital Computer : 구분된 숫자를 기반으로 동작하는 컴퓨터
  • Memory : 64KB RAM
profile
개발블로그

0개의 댓글