Please enable JavaScript.
Coggle requires JavaScript to display documents.
4장: 프로세서 (파이프라이닝 (MIPS 파이프라인 (메모리에서 명령어 가져옴, 명령어 해독, 연산 수행 또는 주소 계산, 피연산자에…
4장: 프로세서
파이프라이닝
여러 명령어가 중첩되어 실행
MIPS 파이프라인
메모리에서 명령어 가져옴
명령어 해독
연산 수행 또는 주소 계산
피연산자에 접근
결과를 레지스터에 씀
명령어 처리량을 증대시켜서 성능 향상
해저드
구조적 해저드
원하는 명령어의 조합을 H/W가 지원 못 함
데이터 해저드
다른 단계를 기다리느라 피아프라인 지연
제어 해저드
실행중인 명령어의 결과에 다른 명령어가 달라짐
데이터 패스
프로세스 내에서 데이터를 연산하고 저장하는 유닛
명령어 메모리, 데이터 메모리, 레지스터파일, ALU 등
분기 목적지 주소 계산
beq $t1, $t2, offset
논리 설계
데이터패스
상태 소자
레지스터나 메모리 같은 메모리 소자
조합 소자
데이터 값에만 동작하는 소자
클러킹 방법론
신호를 언제 읽고 쓸 수 있는지 정의
예측 가능성을 보장
에지 구동 클러킹
순차논리소자에 저장된 값을 클럭 에지에서만 바꿀 수 있음
주 제어 유닛 설계
opcode의 op 필드는 항상 31:26 비트에
레지스터 2개는 항상 rs, rt 필드에 지정
rs필드는 25:21비트
rt 필드는 20:16 비트
예외
예외 프로그램 카운터
문제가 발생한 명령어의 주소를 예외프로그램 카운터에 저장
벡터 인터럽트
제어를 예외의 원인에 따라 옮김
명령어 병렬성
파이프라인의 깊이 증가
다중 내보내기
정적 다중 내보내기
내보내기 패킷
동적 다중 내보내기
해저드와 지연을 피하면서 어떤 명령어를 실행할지 결정
결과 쓰기 유닛
대기영역이라는 버퍼
재정렬 버퍼