[서론]
: 이전에 배웠던 메모리 참조 명령어 (lw, sw) / 산술논리 명령어 (add, sub, AND, OR, slt) / 분기 명령어 (Beq, j) 을 논리회로 수준에서 설명 예정
[구현에 대한 개요]
: 모든 명령어의 처음 두 단계는 동일하다.
1단계.
: 명령어 인출 : PC를 프로그램이 저장되어 있는 메모리로 보내고, 메모리에서 명령어 가져온다.
: PC = PC + 4
2단계.
: 명령어 해독
: 레지스터 읽기
3단계.
: 명령어 실행 : 명령어 종류에 따라 달라진다.
[3단계 명령어에 따른 구분 이후]
: j 명령어를 제외한 모든 명령어가 ALU 사용한다.
- 메모리 참조 명령어(lw, sw) : 주소 계산 위해 ALU 사용(I타입)
- 산술논리 명령어(add,sub,AND,OR,slt) : 연산 수행 위해 ALU 사용(R타입)
- 분기 명령어(beq) : 비교 위해 ALU 사용
: 이후 명령어 구분에 따라 마지막 단계수행한다.
- 메모리 참조 명령어
1) sw : 데이터 기록위해 메모리 접근
2) lw : 데이터 읽기위해 메모리 접근, 읽은 메모리 레지스터에 저장
- 산술 논리 명령어
: ALU 연산 결과를 레지스터에 저장
- 분기 명령어
: 비교 결과에 따라 PC 값 결정 ( beq기준 같으면 PC에 분기주소 저장, 다르면 PC + 4 )
[MIPS 부분집합 구현의 추상적 개관]
# 멀티플렉서 : 위 그림의 버스를 보면 서로 다른 근원지에 나온 데이터가 경로상 합쳐지는 경우에 멀티플렉서를 사용해 제어한다.
(이때 이 멀티플렉서를 제어하는 컨트롤 유닛이 있는데 이들에 대해선 다음장에서)
'기타 > [컴퓨터 구조]' 카테고리의 다른 글
컴퓨터 구조 4-6강. 파이프라인 데이터패스 및 제어 (3) | 2019.12.10 |
---|---|
컴퓨터구조 4-5강. 파이프라이닝(Pipelining) (1) | 2019.12.10 |
컴퓨터 구조 4-4강. 단순한 구현 (0) | 2019.12.09 |
컴퓨터구조 4-3강. 데이터패스 만들기 (0) | 2019.12.05 |