Program Counter (PC)
- 간단하게 클럭이 튕길 때마다 1씩 증가하는 기능을 하는 register
- CPU에 특별한 명령을 통해 PC값을 바꿀 수 있음
- 바뀌어지면 바뀌어진 값에서 1씩 증가
PC
= Accumulator + 16-bit counter + control panel
16-Bit Counter
1씩 증가하는 조합 논리회로
여러 숫자를 더할 때
- 각 숙자를 0000h 부터 순차적으로 써넣는다.
- Control Panel에 Takeover 스위치를 1로 한 후, 각 숫자를 각 주소에 써넣는다.
- Takeover 스위치를 0으로 해서, 더이상 Control Panel이 RAM을 제어하지 않도록 만든다.
- PC의 Clear 스위치가 0이 되면, PC는 0000h 부터 RAM 에서 데이터를 가져온다.
- Adder가 값을 더한다.
- 클럭(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