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 |