除法是CPU最慢的操作之一。傳統(tǒng)設(shè)計里,除法單元獨占24+周期,期間其他指令只能干等。流水線化讓除法也能像加法一樣流水執(zhí)行,大幅提升吞吐量。這篇...
CPU只有16個整數(shù)寄存器(x86-64),但現(xiàn)代處理器內(nèi)部有上百個物理寄存器。寄存器重命名技術(shù)把程序看到的"邏輯寄存器"動態(tài)映射到"物理寄存器...
流水線讓CPU同時執(zhí)行多條指令,但指令之間會打架。結(jié)構(gòu)冒險搶硬件,數(shù)據(jù)冒險搶數(shù)據(jù),控制冒險搶方向。這篇聊聊這三種冒險的本質(zhì)和應(yīng)對方法。 1. 結(jié)...
ROB:現(xiàn)代CPU的"指揮中心" 超標量處理器每周期發(fā)射多條指令,但程序要求順序執(zhí)行的效果。Reorder Buffer(ROB,重排序緩沖區(qū))...
流水線讓CPU同時執(zhí)行多條指令,但數(shù)據(jù)依賴會卡住流水線。轉(zhuǎn)發(fā)(Forwarding/Bypassing)技術(shù)通過把結(jié)果直接傳給需要它的指令,避免...
CPU緩存用SRAM,內(nèi)存用DRAM,這是計算機體系結(jié)構(gòu)的基本常識。但為什么不用SRAM做主存?DRAM這些年在忙什么?這篇從物理原理到產(chǎn)業(yè)現(xiàn)實...
緩存優(yōu)化是計算機體系結(jié)構(gòu)的核心課題。《計算機體系結(jié)構(gòu):量化研究方法》中總結(jié)了10種高級優(yōu)化技術(shù),每種都在性能、功耗、復(fù)雜度之間做取舍。 1. 降...
矩陣乘法是科學(xué)計算的核心,但 naive 實現(xiàn)性能慘不忍睹。問題出在緩存——三個大矩陣來回折騰,L1緩存根本裝不下。緩存分塊(Cache Blo...
CPU等內(nèi)存是最浪費時間的事。硬件預(yù)取(Hardware Prefetching)讓CPU在需要數(shù)據(jù)之前就把它從內(nèi)存抓到緩存,等真正要用的時候,...