計算機的儲存架構

計算機存在多個層次的儲存結構,現代計算機的儲存結構主要有寄存器,高速緩存,內存,磁盤。數據傳輸速度由前到後傳容量輸速度增加,但存儲容量變小,每單位字節的花費也更高。因爲處理器處理的速度與磁盤儲存數據速度的差距在拉大,所以需要增加這些以提高數據傳輸的速度。其中RAM分爲DRAM 與SRAM,SRAM速度較快,用作高速緩存,DRAM速度較慢,且狀態易受電壓波動等環境因素的干擾,需要定時刷新,用作主存。現在主要用的是DDRAM,其能在電壓升高與降低時各獲取一次數據,即一個時鐘週期內可以進行兩次數據傳輸。
磁盤中磁軌由由內到外半徑不同的圓構成,許多扇面區加上扇面區間的縫隙狗成了磁軌,因爲磁盤通常是多個磁片垂直組合而成,即垂直方向的扇面區組合成了柱面組。當一個磁盤要讀出數據時,通常是磁盤高速旋轉,磁頭找到對應的柱面組,再將數據讀出,計算機有個磁盤數據處理器,可以將CPU的地址指令對應到邏輯塊方便進行查找。
總線是用於計算機內進行數據傳輸的媒介,通過i/o橋將CPU,RAM,磁盤與其他鏈接設備連接起來進行數據傳輸。當CPU發出獲取磁盤上某個位置的指令時,指令通過I/O橋到達磁盤,磁盤通過DMA將數據直接傳給RAM,同時向CPU發送信號,在通過RAM將數據傳到CPU。
SSD技術能以較快的速度存儲較大的數據容量,但其寫的速度遠遠小於讀的速度,且壽命不長,仍需要改善。
我們所用的高速緩存一般有多個,在I7處理器中,每個核有L1,L2兩個高速緩存,處理器內還有1個L3高速緩存以提高數據傳輸的速度。高速緩存有命中率與不命中率,當高速緩存結構越複雜,其命中率越高,而不命中的懲罰也就越多。
我們要寫出對存儲友善的函數就要利用臨時局部性和空間局部性來進行操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章