티스토리 뷰
목차
컴퓨터 구조와 설계 (원리 이해, 기본 구성)
1. 컴퓨터의 기본 구성
기본적인 구성 레지스터
- AC - (누산기) 프로세서 처리용
- DR - 메모리에 읽어 온 피연산자 저장
- PC - 다음 수행할 명령 주소 값 저장
- AR - 메모리 주소 값을 나타냄
- IR - 메모리에서 읽어 온 명령어를 저장
- TR - 계산 도중 임시 데이터를 저장
- OUTR - 문자 (8bit) 출력을 송신
- INPR - 문자 (8bit) 출력을 수신
컴퓨터 구조 - Registers in the Basic Computer
명령어 형식(세 가지 명령어 코드 형식)
- 메모리 참조 명령어
- 레지스터 참조 명령어
- 입출력 명령어
컴퓨터 구조 - Instructions
2. 컴퓨터 기본 동작에 대해
컴퓨터 기본 동작의 흐름도(아래 그림 5개는 참조만)
컴퓨터 구조 - Memory reference Instruction
컴퓨터 구조 - 순서도
컴퓨터 구조 - A Terminal with a keyboard and a Printer
컴퓨터 구조 - Instruction Description
레지스터 전송문(컴퓨터 기본 동작의 기술 II (레지스터 전송 흐름))
컴퓨터 구조 - 레지스터 전송 흐름
3. 기본 컴퓨터의 설계(4096*16)
기본적인 컴퓨터의 H.W 요소
- 16비트의 4096 워드를 가진 메모리장치
- 9개의 레지스터 : AC, DR, PC, AR, IR, TR, OUTR, INPR, SC
- 7개의 플립플롭 : I, S, E, R, IEN, FGI, FGO
- 2개의 디코더 : 3 * 8동작 디코드, 4 * 16 타이밍 디코드
- 16비트 공통 버스
- 제어 논리 게이트들
- AC의 입력에 연결된 가상논리 회로(ALU)
컴퓨터 구조 - ALU 구조
컴퓨터 구조 - Control unit of basic computer
제어논리 게이트
- 레지스터와 메모리 제어
- 단일 플립플롭에 대한 제어
- 공통버스에 대한 제어
- 이런 논리회로 통해서 출력에는 제어하는 신호로 출력이 된다
AC의 입력에 연결된 가산 논리 회로
컴퓨터 구조 - Circuits associated with AC 1
컴퓨터 구조 - Circuits associated with AC 2
4. 지연 전송 제어
Berkeley RISC는 애초부터 pipelining으로 설계되었습니다.
특히나 명령어 fetch의 overlapping과 함께 실행되면서, 조건부 점프, 무조건 점프, 프로시저 호출과 같은 반환되는 형태의 전송 제어 명령어로 방해합니다.
『파이프라인에서 flushing(취소) 대신에 하나의 사이클』을 낭비하는 데 비해, RISC는 delayed-branch 구조를 사용한다는 특징이 있지요.
중요한 특징은 바로 이것인데, 컴파일러를 통해 충돌 문제를 해결하는 것으로 데이터 충돌(data hazard)을 감지하고, 의미 없는 NO-Operation(0 + 0과 같은 의미 없는 연산) 명령을 사용하여 충돌된 데이터의 참조가 지연되도록 명령어를 재배치하는 것입니다.
이로써 컴파일러는 분기 명령 전후의 명령어를 분석하여 지연된 부분에 유용한 명령어가 삽입되도록 프로그램 순서를 재배치합니다.
이런 지연 제어를 위한 명령어는 load와 store와 같은 주소 모드로 사용하며, PC의 값을 레지스터에 저장해 놓습니다.
※ 데이터 해저드 발생 이유
- 컨트롤 해저드 -> 이때 분기
- 데이터 해저드
- 리소스 해저드
컴퓨터 구조와 설계 (원리 이해, 기본 구성)