앗! 광고가 차단되었어요!

글 내용이 방문자께 도움이 되었다면, 광고 차단 프로그램 해제를 고려해주세요 😀.

전공 정리/CSE Review

3. 컴퓨터 구조 [기출, 핵심]

this-gpa 2020. 11. 12. 10:06

 

컴퓨터 구조에서는 Pipeline, Memory Hierarchy 내용을 다룬다.

개요에서 등장하는 ISA, Microarchitecture와 같은 개념을 물어볼 수도 있다.

 

* 참고 교재: Computer Organization and Design: The Hardware/Software Interface, 5th Edition (David Patterson)

 

[기출편]

Q. 메모리 계층 구조를 간단히 설명하라. 외부(blackbox)에서 봤을 때 이상적인 메모리의 성능은 무엇인가?

기출+: 캐시가 필요한 이유는?

 

Q. Hit time, Miss penalty, AMAT에 대해 정의하라.

기출+: Cache Hit Ratio에 대해 설명하시오.

기출+: 메모리 접근하는데 x 사이클이 걸리고, 캐시에 접근하는데 y 사이클이 걸리며 cache hit rate가 h%라면 effective access time은?

 

Q. cache의 3가지 매핑 방법: Direct Mapping, Set Associative Mapping, Fully Associative Mapping 방법에 대해 간단히 설명하라.

기출+: cache를 구성하는 컴포넌트에는 무엇이 있는가? cache에서 태그 매칭이 무엇이고 왜 필요한가?

기출+: Direct-mapped cache와 set-associative cache의 장단점은 무엇인가?

 

Q. Block size를 크게 하면 cache의 성능이 좋아지는가?

기출+: cache에서 block line을 크게 했을 때와 작게 했을 때 어떤 장단점이 있는가?

 

Q. write-through와 write-back의 차이를 설명하라.

기출+: write-through cache와 write-back cache에 대해서 설명해보시오.

 

Q. cache(primary cache, secondary cache)의 성능을 향상시키기 위한 방법을 (1) mapping, (2) block 크기의 관점에서 설명하라.

 

KQ. cache와 main memory의 주소 지정 방식의 차이점은?

 

Q. Page fault가 처리되는 과정을 간단히 설명하라.

기출+: Page fault는 언제 발생하는가? Page fault 비율과 cache miss 비율 중 큰 것은?

 

KQ. cache에서 사용하는 replacement policy에는 어떤 것이 있는가?

 

[핵심편]

Q. ALU, Register, CU, Datapath에 대해 간단히 설명하라.

 

Q. ISA (Instruction Set Architecture) 와 Implementation(Microarchitecture)에 대해 설명하라.

 

Q. 무어의 법칙에 대해 설명하라.

 

Q. CPU Time에 대해 설명하라.

 

Q. (ARM) 프로세서 모드를 설명하라. 레지스터는 몇개가 존재하는가?

 

Q. (ARM, MIPS) 어셈블리 명령어의 종류에는 무엇이 있는가?

참고: 이 질문에서 의도한 답변은 Data Processing, Data Transfer, Branch 였음.

 

Q. (MIPS) 어셈블리 명령어의 포맷에는 무엇이 있는가? branch, jump의 경우 주소 변환을 어떻게 하는가?

 

Q. 5-stage pipeline의 각 stage에 대해 설명하라.

 

Q. 다음 각 명령어가 실행될 때, datapath에서는 어떤 일이 발생하는지 간단하게 설명하라. (single-cycle datapath 기준)

  • add $t1, $t2, $t3

  • lw $t1, offset($t2)

  • sw $t1, offset($t2)

  • beq $t1, $t2, offset

 

Q. Pipeline을 간단히 설명하라. 어떤 면에서 성능이 향상되는가? Pipeline Register의 역할은 무엇인가?

 

Q. Pipeline Hazard를 종류 별로 설명하라.

 

Q. Structural Hazard, Data Hazard 해결법을 설명하라.

 

Q. Double Data Hazard, Load-use Data Hazard의 경우 어떻게 해결하는가?

 

Q. Control Hazard 해결법을 설명하라.

 

Q. Interrupt, Exception, Trap의 차이는 무엇인가?

 

Q. (MIPS) Exception이 발생하는 경우 어떻게 처리되는지 간단하게 설명하라.

 

Q. Vectored vs Non-vectored Interrupt의 차이는 무엇인가?

 

Q. Instruction level에서 병렬화 성능을 향상하기 위한 기법: VLIW, Superscalar을 간단히 설명하라.

 

Q. Locality에 대해 설명하라.

 

Q. Virtual Memory를 왜 사용하는가?

 

Q. Paging과 Segmentation의 차이는 무엇인가?

 

Q. Page table은 어디에 위치하는가? 어떤 mapping을 사용한다고 할 수 있는가?

 

Q. TLB의 역할은 무엇인가? Page 접근 시 TLB, Cache, Main Memory가 사용되는 흐름을 설명하라.

 

Q. cache miss에서 3C와 해결법을 설명하라.