본문 바로가기

컴퓨터 구조

(6)
Speculative Tomasulo's Algorithm speculative가 아닌 기본 토마슐로 알고리즘부터 간단히 리뷰해보자. stall cycle을 줄이기 위해서 instruction을 dynamic scheduling하는 방식이다. in-order issue 후 out-of-order execution/completion 한다고 기억하면 된다. WAR를 막기위해 issue를 in-order로 해준다. MIPS 5 stage pipeline과 비교하여 달라진 점은 ID이 Issue + Read operands 의 두 단계로 갈라졌다는 것이고, 이때의 Issue가 위에서 언급한 in-order issue의 issue이다. out of order execution을 위해 reservation stations를 활용한다. (register renaming)
Dynamic Branch Prediction Overview Branch prediction은 크게 static과 dynamic으로 나눌 수 있다. static branch prediction의 경우 compile time에 compiler가 해주고, dynamic branch prediction의 경우 runtime에 Hardware가 해준다. 그 중 하드웨어에 의한 dynamic branch prediction에 대해 알아보자. BHT (Branch History Table)을 사용하는데,브랜치가 이전에 take했는지, 안했는지 과거를 기록하여 예측하는 방식이다. taken(T) / not taken(NT) 여부를 몇 비트로 기록할지,모든 브랜치의 과거 기록을 통합하여 기록할지 또는 개별 브랜치의 과거 기록을 기록할지 등에 따라몇가지 종류의 predictor가..
Data Hazard 3가지 - RAW, WAR, WAW 1. RAW (Read After Write) 쓰고 나서 읽어야 해서 생기는 stall cycle들을 말한다. ADD r1, r2, r3 SUB r4, r1, r3 r1 레지스터의 값을 ADD에서 write한 후 SUB에서 사용하는 Dependence 상황에서 발생한다. true dependent라고도 한다. 이러한 상황은 in-order processor처럼 inst의 순서를 바꾸지 않는 프로세서에서도 발생하는 hazard이다. 2. WAR (Write After Read) 읽는 inst과 쓰는 inst이 independent하기 때문에 순서를 바꿔도 되겠구나 했는데, 막상 순서를 바꾸고 나면 문제가 생긴다. 예시를 통해 이해하는 게 좋다. SUB r4, r1, r3 ADD r1, r2, r3 SUB ..
[컴퓨터 구조] Pipelined Processors 종류 0. 팹리스 vs 파운드리 팹리스는 반도체를 직접 생산하지 않고, 설계만을 전문적으로 하는 회사를 일컫는 말이다. 반대로 파운드리는 위탁 생산 전문 업체가 된다. 대표적인 회사들을 좀 알아둬야, 수업 시간에 교수님이 하는 말씀이 자연스레 이해가 될 것 같아 정리해보았다. 팹리스 : apple, 퀄컴, 엔비디아(젠슨 황), amd(리사 수), arm 파운드리 : TSMC, 삼성 cf : 나만 젠슨황, 리사수가 누군지 몰랐던 걸까...? 이제 나도 안다!!!ㅎㅎ 1. pipelined 5 stage의 효과 우선 5 stage는 IF, ID, EX, MEM, WB 의 5단계로 구성된다. 이때 inst의 각 단계를 오버랩하여 pipelined 5 stage로 업그레이드를 한다. 예를들어 pipeline되지 않았..
자주 나오는 공식 리뷰 1. 컴퓨터 구조를 배우면 항상 등장하는 식. cpu time (execution time) = IC * CPI * CCT 실행 시간은 instruction 개수, instruction 하나당 cycle 수, 1cycle당 걸리는 시간(sec)의 곱이라는 의미이다. 보통 CCT의 경우, clock rate (clock frequency)로 표현이 되는데, 이는 CCT의 역수이다. 즉 clock frequency는 1초당 몇 cycle인지를 의미하며, Hz 단위를 보고 이 숫자가 clock frequency임을 파악하게 된다. CPI = ideal CPI + stall CPI stall CPI = data hazard s.CPI + control hazard s.CPI + structural hazard ..
[Cache] Cache의 종류와 Memory System 1. Cache의 종류 1) Fully Associated Cache entry가 cache의 어느 곳에 들어가든 상관 없다. 속도 slow, 충돌 ↓ 2) Direct Mapped Cache entry가 cache에서 갈 수 있는 위치가 하나로 정해져 있다. 속도 fast, 충돌 ↑ (idx가 가리키는 위치가 1개) 3) Set Associative Cache 1)과 2)의 중간. n-way set associative cache는 entry가 n개의 가능한 위치를 갖는다. 2. Cache의 principle of locality 1) Temporal Locality 2) Spatial Locality 3. Cache Miss 발생원인 (3C's models) 1) Compulsory miss (Col..