cpu architecture 2

[system programming] CPU 아키텍처 (pipelining hazards - stall, bypass, speculation)

본 게시글은서울대학교 데이터사이언스대학원 성효진 교수님의데이터사이언스 응용을 위한 시스템 컴퓨팅 강의를학습을 목적으로 재구성하였습니다지난 시간에는 CPU 아키텍처를 배우면서각 step별 pipelining을 배웠고이런 pipelining 과정에서 각 단계마다 이쁘게 딱딱 맞아떨어지면 좋지만실제로는 예외 상황들이 자주 발생해서각 pipeline step간에 병목이 발생한다이러한 병목을 hazard라고 하고이러한 hazard는 주로 data 혹은 control dependency에 의해 발생한다따라서 hazard를 해결하기 위해 크게 3가지 방법이 있다고 했는데1. stall2. bypass3. speculation이라고 했다 그 중 stall은 가장 단순한 방법으로dependency가 해결될 때 까지 기다..

[system programming] CPU 아키텍처 (pipelining, hazards)

본 게시글은서울대학교 데이터사이언스대학원 성효진 교수님의데이터사이언스 응용을 위한 컴퓨팅 시스템 강의를학습을 목적으로 재구성하였습니다우리가 이미 앞에서Program Representation을 배우면서다 들어봤을 내용이라고 하셨다 이전에는 프로그램의 표현을 배우기 위한 배경지식으로CPU 아키텍처에 대해서 배웠다면이번 시간에는 정말 본격적인 CPU 아키텍처에 관한 내용이라고생각하면 좋을 것 같다교수님 말씀도 너무 빠르고 진도도 너무 빨라서따라가는게 약간 벅차다 ㅠ 암튼 이번 수업 내용 정리 시작 ㅠ  컴퓨터란 무엇인가?단순히 우리가 사용하고있는 데스크탑이나 노트북 말고정말로 컴퓨터란 무엇인가? 흔히들 컴퓨터를 계산하는 기계라고 하지만그렇다면 계산기는 컴퓨터인가?보통 계산기를 컴퓨터라고 하지는 않는다   이..