엔지니어가 되고 싶은 공돌이

16. Exception and Interrupt 본문

Computer Science/Computer Architecture

16. Exception and Interrupt

Geca 2025. 5. 5. 17:11

 

16. 1. Exception and Interrupt

 

- MIPS는 ExceptionInterrupt가 발생했을 때 이를 처리할 수 있어야 합니다.

 

- Exception이 발생하면 문제를 일으킨 Address of Instruction를 EPC에 저장하고, OS로 제어를 넘깁니다.

 

  그럼 OS가 Exception을 처리해서 프로그램을 종료할지, 계속 수행할지를 결정합니다.

 

 

- OS가 Exception이 발생하면 원인을 알기 위해서 2가지 방법을 사용합니다.

 

  1) Cause Register: Exception이 발생한 원인을 나타내는 필드가 있으며, Exception을 기록하는데 사용됩니다.

 

  2) Vectored Interrupt: 제어를 넘길 주소를 Exception의 원인에 의해 결정하는 Interrupt입니다.

 

      해당 주소에서는 각 Exception을 처리하는 방법을 가지고 있습니다.

 

 

- Pipeline에서는 Exception을 Control Hazard의 형태로 처리합니다.

 

- 만약 1개의 Clock Cycle에서 여러 개의 Exception이 동시에 발생하면,

 

  Exception에 우선순위를 매겨 처리합니다.

 

- Exception과 Interrupt는 OS에서 자세하게 서술하겠습니다.

 


 

16. 2. Memory

 

- Computer Architecture에서도 Memory를 다루고 있지만 OS에서 자세하게 서술하겠습니다.

 

 

- Memory는 빠른 접근을 위해 Locality를 사용합니다.

 

  1) Temporal Locality: 어떤 항목이 참조되면 그 항목은 다시 참조될 가능성이 높습니다.

 

  2) Spatial Locality: 어떤 항목이 참조되면 그 항목의 근처에 있는 다른 항목은 참조될 가능성이 높습니다.

 

  Locality를 이용하기 위해서 Memory Hierarchy를 사용합니다.

 

 

- DDR(Double Data Rate): Clock의 Falling Edge, Rising Edge에서 모두 데이터가 전송가능하다는 뜻.

 

- Flash Memory: EEPROM의 한 종류로, 제품을 Write 할 수록 비트가 마모되기 때문에,

 

  Write 를 분산시키기 위해서 제어기를 사용합니다.

 

  이를 Wear Leveling(마모 균등화)이라 부릅니다.


'Computer Science > Computer Architecture' 카테고리의 다른 글

15. Control Hazard  (0) 2025.05.05
14. Data Hazard  (0) 2025.05.05
13. Pipelining Datapath  (0) 2025.05.05
12. Pipelining  (0) 2025.05.05
11. Datapath Including Controls  (0) 2025.05.05
Comments