📍1. MIPS에서 곱셈 알고리즘을 이용한 7X5 연산을 수행하는 과정을 적어보시오
반복 | 승수 | 피승수 | 곱 |
0 | 0101 | 0000 0111 | 0000 0000 |
1 | 0101 | 0000 0111 | 0000 0111 |
0101 | 0000 1110 | 0000 0111 | |
0010 | 0000 1110 | 0000 0111 | |
2 | 0010 | 0000 1110 | 0000 0111 |
0010 | 0001 1100 | 0000 0111 | |
0001 | 0001 1100 | 0000 0111 | |
3 | 0001 | 0001 1100 | 0010 0011 |
0001 | 0011 1000 | 0010 0011 | |
0000 | 0011 1000 | 0010 0011 | |
4 | 0000 | 0011 1000 | 0010 0011 |
0000 | 0111 0000 | 0010 0011 | |
0000 | 0111 0000 | 0010 0011 |
📍2. -0.75는 십진수이다. 이 수를 IEEE 754 이진 표현법에 따라 단일정밀도 표현형식으로 나타내시오
(소수부분에서 표현해야 되는 값 외 나머지 부분(0으로 채워지는 부분)은 ...으로 표기할것
- 부호 = 1
- 0.75를 이진수로 변환 → 0.11
- 정규화된 이진수로 변환 = -1.1 x 2⁻¹
- 지수 = -1 + 127 = 126 → 0111 1110
- 가수 = 100...
답 = 1 01111110 1000...
📍3. 다음은 덧셈과 뺄셈의 오버플로우에 대한 내용들이다. 잘못 설명된 것은 어느 것인가?
① 덧셈에서 피연산자가 모두 음수일때 결과 부호가 0이면 오버플로우가 발생한 것이다
② 음수 피연산자에서 양수 피연산자를 뺐을때 결과부호가 1이면 오버플로우가 발생한 것이다
③ 덧셈에서 피연산자 부호가 다를때 오버플로우가 발생하지 않는다
④ 뺄셈에서 두 개의 피연산자가 모두 음수인경우 오버플로우가 발생하지 않는다
답 = ② -> 오버플로우가 발생한 것이 아니다
📍4. 다음에 실행할 명령어가 다음 클럭 사이클에 실행될 수 없는 상황이 있다. 이러한 사건을 해저드라 부르는데 해저드 종류는 3가지가 있다. 3가지는 무엇인지 적어보시오
답 = 제어해저드, 데이터 해저드, 구조적 해저드
📍5. MIPS 파이프라인은 한 단계 당 5개의 스텝을 갖는다. 5개의 스텝 순서를 나열해 보시오(약어를 그대로 사용하면 됨)
답 = IF ID EX MEM WB
📍6. 데이터 패스에서 별도의 하드웨어를 추가하여 정상적으로는 얻을 수 없는 값을 내부 자원으로 부터 일찍 받아온것을 무엇이라 하는지 적어보시오
답 = 포워딩
📍7. MIPS를 구현하는데 데이터패스 요소는 두 가지 종류의 논리 소자들로 구성된다. 두 가지는 무엇인지 적어보시오
답 = 조합소자, 상태 소자
📍8. 다음 중 ALU 제어 입력과 기능에 대한 연결이 바르지 못한 것은 어느것인가?
① 0000 - AND
② 0001 - OR
③ 0010 - add
④ 0011 - subtract
답 = ④
📍9. 다음 제어선을 갖는 데이터패스에서 아래와 같은 R타입 명령어가 수행될때 필요없는(사용되지 않는) 소자들은 어떤 것들인지 모두 골라보시오(빨간색 번호들 중에 골라 적으면 됨)
add $t1, $t2, $t3
답 = 4,5,6,8
📍?<궁금한점>📍
🔎 MIPS에서 곱셈 알고리즘을 이용한 7/3 연산을 수행하는 과정
반복 | 몫 | 제수 | 나머지 | |
초기 | 0000 | 0011 0000 | 0000 0111 | 초기값설정 |
1 | 0000 | 0011 0000 | 1101 0111 | 나머지 - 제수 = 나머지 |
0000 | 0011 0000 | 0000 0111 | 나머지<0이므로 나머지 + 제수, 몫 왼쪽으로 1bit | |
0000 | 0001 1000 | 0000 0111 | 제수 오른쪽으로 1bit이동 | |
2 | 0000 | 0001 1000 | 1110 1111 | 나머지 - 제수 = 나머지 |
0000 | 0001 1000 | 0000 0111 | 나머지<0, 나머지 + 제수, 몫 왼쪽으로 1bit | |
0000 | 0000 1100 | 0000 0111 | 제수 오른쪽으로 1bit이동 | |
3 | 0000 | 0000 1100 | 1111 1011 | 나머지 - 제수 = 나머지 |
0000 | 0000 1100 | 0000 0111 | 나머지<0, 나머지 + 제수, 몫 왼쪽으로 1bit | |
0000 | 0000 0110 | 0000 0111 | 제수 오른쪽으로 1bit이동 | |
4 | 0000 | 0000 0110 | 0000 0001 | 나머지 - 제수 = 나머지 |
0001 | 0000 0110 | 0000 0001 | 나머지>=0, 나머지 + 제수, 몫오른쪽으로 1bit 마지막수 1 | |
0001 | 0000 0011 | 0000 0001 | 제수 오른쪽으로 1bit이동 | |
5 | 0001 | 0000 0011 | 1111 1110 | 나머지 - 제수 = 나머지 |
0010 | 0000 0011 | 0000 0001 | 나머지<0, 나머지 + 제수, 몫 왼쪽으로 1bit 마지막수0 | |
0010 | 0000 0001 | 0000 0001 | 제수 오른쪽으로 1bit이동 |
결과 = 몫: 0010, 나머지 : 0001
(제수를 0까지 이동하지 않고 몫의 유효비트를 초과하는경우 반복을 중단)
'컴퓨터구조 및 설계 > Quiz!' 카테고리의 다른 글
용어 (0) | 2024.12.11 |
---|