1. 덧셈과 뺄셈을 수행하는 하드웨어로 AND와 OR 같은 논리 연산을 수행한다
산술논리 연산장치(ALU)
2. 인터럽트라고 하는 컴퓨터도 많이 있다. 프로그램 수행을 방해하는 계획되지 않은 사건, 예를 들면 오버플로가 탐지에 사용된다.
예외(exception)
3. 프로세서 외부에서 발생하는 예외(어떤 구조에서는 모든 예외를 인터럽트라고 부른다.)
- 인터럽트(interrupt):
4. 소수점의 왼쪽에는 한 자릿수만이 나타나게 한 표기법.
과학적 표기법
5. 선행하는 0이 없는 부동소수점 표기법
정규화된 수
6. 양수값을 갖는 지수가 지수 부분에 표현될 수 없을 만큼 큰 상황
오버플로
7. 음수값을 갖는 지수가 지수 부분에 표현될 수 없을 만큼 큰 상황.
언더플로
8. 2개의 32비트 워드로 표현된 부동 소수점 값
2배 정밀도
9. 1개의 32비트 워드로 표현된 부동 소수점 값.
단일 정밀도
10. 큰 워드 내부에 병렬성이 있다고 할 때 이러한 확장을 의미. 더 일반적인 용어를 사용하여 데이터 수준 병렬성이라고 분류하기도 하고 벡터 또는 SIMD(Single Instruction Multiple Data)라고 하기도 한다.
서브워드 병렬성
11. AND 게이트나 ALU 같은 연산형 소자
조합소자
12. 레지스터나 메모리 같은 기억 소자
상태소자
13. 클럭을 기준으로 해서 데이터가 언제 유효한 값을 가지고 언제 안정되는지를 결정하는 데 사용하는 방법
클러킹 방법론
14. 모든 상태 변화가 클럭 에지에서 일어나는 클러킹 방법.
에지 구동 클러킹
15. 멀티플렉서의 입력을 선택하거나 기능 유닛의 연산을 지시하기 위해 사용되는 신호. 기능 유닛이 연산에 사용할 정보를 가지고 있는 데이터 신호와 대비된다.
제어신호
16. 프로세서 안에서 데이터를 가지고 연산하거나 데이터를 저장하는 기능 유닛, MIPS 구현에서는 명령어 메모리, 데이터 메모리, 레지스터 파일, ALU, 덧셈기 등이 데이터패스 구성요소에 포함된다.
데이터패스 구성요소
17. 실행 중인 명령어의 주소를 가지고 있는 레지스터.
프로그램 카운터
18. 접근할 레지스터 번호를 지정함으로써 읽고 쓸 수 있는 레지스터들의 집합으로 구성된 상태 소자.
레지스터 파일
19. 데이터의 크기를 증가시키기 위해 원래 데이터 값의 최상위 부호 비트를 폭이 더 큰 목적지 데이터의 상위 비트들에 복사하는 것.
부호확장
20. 분기 명령어에 의해 지정되는 주소로서 분기가 일어난다면 새로운 PC값이 된다. MIPS 구조에서 분기 목적지는 명령어의 변위 필드 값에 분기 명령어 다음 명령어의 주소를 더한 값이 된다
분기 목적지 주소
21. 단일 클럭 사이클 구현이라고도 한다. 명령어 하나를 한 클럭 사이클에 실행하는 구현. 이해하기는 쉬우나 실제 사용하기에는 너무 느리다.
단일 사이클 구현
22. 조립 라인처럼 여러 명령어의 실행이 중첩되는 구현 기술.
파이프라이닝
23. 주어진 클럭 사이클에 실행되도록 되어 있는 명령어 조합을 하드웨어가 지원하지 못해서 계획된 명령어가 적절한 클럭 사이클에 실행될 수 없는 사건.
구조적 해저드
24. 파이프라인 데이터 해저드라고도 한다. 명령어를 실행하는데 필요한 데이터가 아직 준비되지 않아서 계획된 명령어가 적절한 클럭 사이클에 실행될 수 없는 사건
데이터해저드
25. 우회전달(bypassing)이라고도 한다. 프로그래머가 볼 수 있는 레지스터나 메모레이 데이터가 도착할 때까지 기다리지 않고 내부 버퍼에서 가져옴으로써 데이터 해저드를 해결하는 방법
전방전달
26. 적재 명령어에 의해 적재된 데이터를 다른 명령어가 필요로 하는데, 필요한 시점까지 이 데이터가 도착하지 않아서 생기는 특별한 형태의 데이터 해저드
적재 사용 데이터해저드
27. 거품(bubble)이라고도 부른다. 해저드를 해결하지 위해 만드는 지연.
파이프라인 지연
28. 실제 분기 결과가 확인될 때까지 기다리는 대신, 분기 결과를 가정하고 그 가정하에 파이프라인을 진행해 나가는 분기 해저드 해결 방법
분기예측
29. 분기 해저드(branch hazard)라고도 한다. 인출한 명령어가 필요한 명령어가 아니기 때문에 적절한 명령어가 적절한 클럭 사이클에 실행될 수 없는 사건. 명령어 주소의 흐름이 파이프라인이 기대한 것과 다르기 때문에 발생한다.
제어 해저드
30. 상태를 바꾸는 연산을 전혀 하지 않는 명령어
nop
31. 파이프라인에 있는 명령어들을 버리는 것. 보통 예상하지 않았던 사건 때문에 시행한다
쓸어낸다 (flush)
32. 실행 정보를 이용하여 실행 중에 분기를 예측하는 것.
동적 분기예측
33. 분기 이력표(branch history table)라고도 한다. 분기 명령어의 하위 주소에 의해 인덱스되는 조그만 메모리인데, 분기 명령어의 최근 분기 여부를 나타내는 하나 이상의 비트를 가지고 있다
분기 예측 버퍼
34. 제어를 넘길 주소가 예외의 원인에 의해 결정되는 인터럽트.
벡터 인터럽트
35. 명령어 사이의 병렬성.
명령어 수준 병렬성
36. 한 클럭 사이클에 여러 명령어가 시작되는 기법.
다중 내보내기
37. 많은 결정들이 실행 전에 컴파일러에 의해 이루어지는 다중 내보내기 프로세서 구현 방법.
정적 다중 내보내기
38. 많은 결정들이 실행 중에 프로세서에 의해 이루어지는 다중 내보내기 프로세서 구현 방법.
동적 다중 내보내기
39. 주어진 클럭 사이클에서 명령어들이 내보내질 수 있는 위치. 비유를 들자면 단거리 선수를 위한 출발선 블록의 위치와 같다.
내보내기 슬롯
40. 컴파일러나 프로세서가 어떤 명령어의 결과를 예측하여 다른 명령어들과의 종속성을 제거하도록 하는 기법
추정
41. 한 클럭 사이클에 같이 내보내지는 명령어들의 집합. 패킷은 컴파일러에 의해 정적으로 결정될 수도 있고 프로세서에 의해 동적으로 결정될 수도 있다.
내보내기 패킷
42. 여러 opcode 필드가 있는 긴 명령어 하나에 독립적인 연산 여러 개를 정의하고 이들을 한꺼번에 내보내는 명령어 구조 집합 종류
VLIW
43. 파이프라인을 지연시키지 않기 위해 필요한 적재 명령어와 적재 결과를 사용하는 명령어 사이의 최소 간격
사용지연
44. 배열에 접근하는 순환문에서 더 좋은 성능을 얻기 위한 기술. 순환문 몸체를 여러 벌 복사해서 서로 다른 반복에 속한 명령어들을 같이 스케줄링 한다
순환문 펼치기
45. 반종속성을 없애기 위해 컴파일러나 하드웨어가 레지스터 이름을 다시 붙이는 것.
레지스터 재명명
46. 이름 종속성(name dependence)이라고도 한다. 두 명령어 사이에 값이 전달되는 진정한 종속성 때문에 지켜야 되는 순서가 아니라 같은 이름(레지스터)을 재사용하기 때문에 강요되는 순서.
반 종속성
47. 프로세서가 실행 중에 명령어를 선택하여 한 클럭 사이클에 2개 이상의 명령어를 실행할 수 있도록 해주는 고급 파이프라이닝 기법.
수퍼스칼라
48. 지연을 피할 수 있도록 명령어 실행 순서를 바꾸는 재정렬을 하드웨어가 지원하는 것.
동적 파이프라인 스케줄링
49. 동적 파이프라인 혹은 비순차 실행 파이프라인에서 연산의 결과를 프로그래머가 볼 수 있는 레지스터나 메모리에 언제 보내는 것이 안전할지를 결정하는 유닛.
결과 쓰기 유닛
50. 연산자와 피연산자를 가지고 있는 기능 유닛 내의 버퍼.
대기 영역
51. 동적 스케줄 프로세서에서 결과값을 메모리나 레지스터에 저장해도 안전할 때까지 보관하고 있는 버퍼.
재정렬 버퍼
52. 실행할 수 없는 명령어 때문에 뒤의 명령어들이 기다리지 않게 하는 파이프라인 실행의 상황
비순차 진행
53. 파이프라인 실행의 결과를 명령어 인출과 같은 순서로 프로그래머가 볼 수 있는 상태 소자에 쓰는 결과 쓰기 방식.
순차 결과 쓰기
'컴퓨터구조 및 설계 > Quiz!' 카테고리의 다른 글
퀴즈📝 (0) | 2024.11.20 |
---|