일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Cloud Pub/Sub
- ICPC
- REACT
- dp
- 그리디
- CI/CD
- 종만북
- Cloud Run
- r
- 고속 푸리에 변환
- 수학
- 우선순위 큐
- 삼성SW역량테스트
- BFS
- Air Table
- Bit
- 이분탐색
- 펜윅 트리
- 데이터 분석
- 삼성 SW 역량테스트
- JavaScript
- 다익스트라
- 시뮬레이션
- 다이나믹 프로그래밍
- 접미사 배열
- 컴퓨터 구조
- 백준 1753번
- jpa
- LCS
- 생활코딩
- Today
- Total
코딩스토리
Chapter 9. 파이프라이닝 연습문제 본문
# 컴퓨터 아키텍처 (저자 우종정) 7장 연습문제입니다. 제가 공부하고 이해한 방식대로 풀었기 때문에 정확하진 않습니다. 제가 배운 부분만 풀었기 때문에 모든 문제를 풀진 않았습니다.
# 구글링을 통해 나오는 다른 답들과 다를 수 있습니다.. 저도 구글링 했다가 이해가 안 돼서 직접 풀었습니다..
풀이
1. 답) 1번
파이프라이닝의 정의 : 2개 이상의 명령어를 동시에 수행할 수 있는 구조
2. 답) 3번
5단계 파이프라이닝이므로 10개의 명령어를 실행하려면 5 + 9, 즉 14us 만큼 걸림
(그림 그려서 이해하면 빨라요!)
3. 답) 4번
파이프라인 클록 사이클 시간은 최대 지연시간을 따른다. (그래야지 모든 단계를 수행 가능)
따라서 12 + 래치의 지연시간 1 = 13 us
4. 답) 3번
하나의 데이터를 처리하는 시간이 순차 모델보다 더 느리다. (래치 등 추가적 HW의 지연시간)
5. 답) 3번
구조적 해저드 : 파이프라인에서 실행 중인 2개 이상의 명령어가 동일한 하드웨어 자원을 동시에 필요로 하여 발생하는 상황 (key point는 동일한 HW 자원!!)
6. 답) 1번
전방 전달 -> 데이터 해저드 해결 방법 -> 데이터 해저드는 주로 RAW 해저드로 인해 발생
7. 답) 1번
명령어 해저드를 해결하는 방법 : 지연 분기, 분기 예측, 분기 역사 이용
8. 답) 1번
IPC를 본문에 언급하지 않았는데 그냥 CPI의 역수, Instruction per Cycle이라고 생각하면 된다.
IPC를 1보다 크게 한다 -> CPI를 1보다 작게 한다 -> 슈퍼스칼라, 슈퍼파이프라이닝, VLIW
9. 답) 4번
VLIW의 정의 : 명령어 수준의 병렬성을 하드웨어 대신에 컴파일러가 찾아주는 방식
(key point : 컴파일러!!)
10. Precise interrupt (정확한 인터럽트)
인터럽트 부분은 패스했는데 교재 보면 정확히 나와있네요..
11. 답) WAW 해저드
두 명령어를 보면 둘다 r1에 적재하는 연산이다. 이때 문제에서 힌트를 준 게 "곱셈 연산이 더 오래 걸려요"이다.
즉 곱셈 연산을 끝내고 r1에 r2*r3를 적재하기 전에 r4+r5를 적재하게 된다.
이는 후행 명령어가 먼저 Write 하고 선행 명령어가 그 이후에 Write 하므로 WAW 해저드이다.
(key point : 후행 명령어가 한 일이 앞에, 선행 명령어가 한 일이 뒤에!!)
12. 답) 1.06
사실 이 문제 때문에 이번 연습문제들을 푼 거다..
명령어의 개수를 n이라 가정하자.
기존 방식
CPI = 1 + (0.05 * 3) + (0.1 *5) = 1.65 (무조건 분기와 조건 분기의 퍼센트와 페널티에 맞게 더해줌)
실행 시간 = 명령어 개수(n) * CPI(1.65) * 클록 사이클(max(각 단계의 사이클 시간) = 10 ) = 16.5n
HW 추가 후
CPI = 1 + (0.1 * 3) = 1.3
실행 시간 = 명령어 개수(n) * CPI(1.3) * 클록 사이클(max(각 단계의 사이클 : 이때 HW 추가로 인한 지연시간 발생 = 12) = 15.6n
따라서 성능은 16.5n/15.6n = 1.057 = 1.06 배 향상했다.
'컴퓨터구조' 카테고리의 다른 글
Chapter 11. 캐시 메모리 (1) | 2020.12.18 |
---|---|
Chapter 9. 파이프라이닝 (0) | 2020.12.17 |
Chapter 7. 데이터 경로 연습문제 (0) | 2020.12.07 |
Chapter 7. 데이터 경로 (2) | 2020.12.06 |
Chapter 6. 연산장치 (0) | 2020.12.05 |