본문 바로가기
728x90

전체 글126

[Chapter 4.10 컴퓨터 구조 및 설계] 예외처리 datapath, Imprecise Exceptions 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. Interrupts 외부 요인에 의해 발생되는 현상이다. 외부 요인이므로 프로그램의 실행과 비동기적으로 발생한다. 명령어엔 문제가 없는 것이므로 파이프라인에 있는 명령어를 전부 완료한 후에 OS interrupt handler를 호출한다. Trap 내부 요인에 의해 발생되는 현상이다. 명령어에 의해 발생되는 오류이므로, 명령어를 중간에 멈추고 OS trap handler를 호출한다. Interrupts 까지 더불어서 Exception이라고 한번에 칭하기도 한다. Exception 예외가 일어나는 오류 종류 입출력장치 요구 - 인터럽트 사용.. 2022. 7. 23.
[Chapter 4.9 컴퓨터 구조 및 설계] Control Hazards와 Prediction 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. Control Hazards 분기 명령어 Conditional branches (beq, bne) Unconditional branches (j) 우리가 지금껏 데이터패스를 배우길 분기 명령어의 분기는 EX stage에서 판단된 후에 MEM stage에서 일어났다. 즉, 다음 3cycle 동안 오는 명령어는 모두 stall 되어야만 한다. 이 3cycle은 너무 성능을 느리게 하기 때문에 다른 방법이 필요한데, Branch decision 하드웨어를 ID stage로 옮겨오고, rs rt값을 비교해주는 compare 하드웨어를 달아서 브랜.. 2022. 7. 22.
[Chapter 4.8 컴퓨터 구조 및 설계] Structure Hazards, Data Hazard(Fowarding) 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 파이프라이닝을 하게 됨으로써 우리는 겪을 수 있는 문제들이 있다. structural hazards ( 구조 문제 ) - 같은 자원에 대한 사용을 동시에 다른 곳에서 하게 될 경우이다. ex) 두개의 명령어가 동시에 똑같은 메모리 구역을 읽게 될 경우 data hazards ( 데이터 문제 ) - 데이터가 준비되기 이전에 사용되는 문제 ex) add r1, r2, r3 이후 sub r4, r2, r1 명령어가 올 경우 r1에 데이터가 준비되기 이전에 sub 명령어가 실행되어 r1에 예상치 못한 값이 들어있게 된다. control hazar.. 2022. 7. 21.
[Chapter 4.7 컴퓨터 구조 및 설계] Pipelined Datapath, Pipelined Control 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. MIPS Pipelined Datapath MIPS의 파이프라인은 다음의 5가지 stage를 갖는다. IF: Instruction fetch from memory ID: Instruction decode & register read EX: Execute operation or calculate address MEM: Access memory operand WB: Write result back to register 이렇게 데이터패스를 구축하고 Pipeline 시켰을 때 문제가 뭐가 있을까? 단일 사이클 환경에선 한명령어가 끝난 다음 다음 .. 2022. 7. 20.
728x90