自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

原來計算機1秒鐘能干這么多事兒!

開發(fā) 前端
一個 CPU 周期當做一個基本單位,和現(xiàn)實世界中的1秒做對應(yīng)關(guān)系,可以看出CPU到底有多快,而和CPU比起來,其他操作到底有多慢。即便對于CPU來說,其他操作很慢,但是現(xiàn)實世界的1秒鐘足夠計算機干很多事兒了。

大家好,我是風(fēng)箏

我們平時在開發(fā)的時候,凡涉及到時間的場景,一般就是在做性能測試和優(yōu)化的時候了。

比如說一個互聯(lián)網(wǎng)系統(tǒng),在性能方面會要求接口的平均響應(yīng)時間為1秒以內(nèi),或者幾百毫秒。在軟件項目中,最小的時間單位可能也就是毫秒了。

反正我是沒碰到過有人說毫秒以下的單位了。比如某個開發(fā)說,我把這個接口的響應(yīng)時間減少了10納秒。那我們會想,這莫不是個傻子吧。

但是,在計算機中(主要指硬件層面),1秒鐘能干的事兒簡直太多了。

計算機的主要組成

計算機的組成當然是很復(fù)雜的了,這里只說核心部件抽象出來的最簡化的一個結(jié)構(gòu),如下圖所示,主要就是這幾塊兒構(gòu)成:

輸入、輸出設(shè)備

這就不用多說了,就是什么鍵盤、鼠標、顯示器之類的。

主存儲器DRAM

也就是我們平常說說的內(nèi)存,也就是內(nèi)存條的那個內(nèi)存,比如我的電腦是 16G內(nèi)存,也就是DRAM有16個G。

中央處理器(CPU)

毋庸置疑,這是計算機的靈魂所在,計算機之說以叫計算機,是因為它主要就是為了完成運算任務(wù)的,而CPU就是干這個的。

CPU 又包括比較核心的控制器、運算器和高速緩存。

圖片圖片

主存和高速緩存的關(guān)系

主存,也就是前面說的 DRAM 。DRAM 是一種內(nèi)存類型,用于存儲程序和數(shù)據(jù),是計算機系統(tǒng)中的主要存儲器件。而高速緩存是一種臨時存儲器,用于存儲 CPU 訪問頻繁的數(shù)據(jù)和指令,以提高數(shù)據(jù)訪問速度。比如我運行IDEA要占去好幾個G的內(nèi)存,數(shù)據(jù)是存在DRAM中的,高速緩存可沒有這么大空間。

另外,高速緩存的訪問速度比 DRAM 快得多,CPU 的高速緩存是距離 CPU 最近的存儲器,速度比內(nèi)存(包括DRAM)快很多,可以與 CPU 同步工作。而DRAM的訪問速度相對較慢,通常比高速緩存慢幾個數(shù)量級。

高速緩存又分為L1、L2、L3四個級。L1 緩存是最接近 CPU 核心的一級緩存,速度最快,容量較??;L2 緩存位于 L1 緩存和主內(nèi)存之間,速度比 L1 緩存慢一些,容量較大一些;L3 緩存是最靠近主內(nèi)存的一級緩存,速度比 L1 和 L2 緩存都要慢一些,容量最大。

整個計算機有一個存儲器層級結(jié)構(gòu)劃分,如下圖所示。L0 也就是CPU運算器中的寄存器,從上到下速度越來越慢,但是容量越來越大。

圖片圖片

時鐘周期

終于開始點題了, 計算機1秒能干多少事兒,這里的事兒反應(yīng)到CPU上就是一個個的指令。比如最簡單的指令包括讀寫寄存器、訪問高速緩存、加減運算等等。

最簡單的原子指令可以在一個很短的時間段內(nèi)完成,這個時間段有一個特別的名稱,叫做時鐘周期。

我們查看電腦配置的時候有一個指標是 XXX MHz(赫茲),比如我的電腦是 2667 MHz,也就是 2.6GHz,這個指標叫做時鐘頻率。

圖片圖片

時鐘頻率是指計算機中央處理器CPU的工作頻率,表示每秒鐘CPU內(nèi)核工作的次數(shù)。時鐘頻率越高,CPU的工作速度越快。

每個時鐘周期,CPU可以執(zhí)行一條指令。所以說,我這臺電腦 - 2.667 GHz,相當于CPU每秒鐘可以執(zhí)行2.667億條指令。1秒執(zhí)行2.667億條指令,好家伙,確實是快呀,想想就累啊,可見CPU也是蠻辛苦的。

時鐘周期是CPU執(zhí)行指令的最基本單位。在一個時鐘周期內(nèi),CPU僅完成一個最基本的動作。

計算機一些常見操作耗時

普通計算機一秒就能執(zhí)行數(shù)以億計的指令數(shù),那對應(yīng)到一些常見操作上的耗時是多少呢?

下面這個表是摘自《性能之巔:洞悉系統(tǒng)、企業(yè)與云計算》中的一個關(guān)于系統(tǒng)延時的表格,這個表是針對 3.3GHz 時鐘頻率的計算結(jié)果。

一個 CPU 周期當做一個基本單位,和現(xiàn)實世界中的1秒做對應(yīng)關(guān)系,可以看出CPU到底有多快,而和CPU比起來,其他操作到底有多慢。即便對于CPU來說,其他操作很慢,但是現(xiàn)實世界的1秒鐘足夠計算機干很多事兒了。

事件

耗時

相對時間比例

1個CPU周期

0.3 ns

1s

L1緩存訪問

0.9 ns

3s

L2緩存訪問

2.8 ns

9s

L3緩存訪問

12.9 ns

43s

主存訪問(從CPU訪問DRAM)

120 ns

6分

固態(tài)硬盤I/O(閃存)

50-150 μs

2-6天

旋轉(zhuǎn)磁盤I/O

1-10 ms

1-12月

互聯(lián)網(wǎng):從舊金山到紐約

40 ms

4年

互聯(lián)網(wǎng):從舊金山到英國

81 ms

8年

互聯(lián)網(wǎng):從舊金山到澳大利亞

183 ms

19年

TCP包重傳

1-3 s

105-317年

OS虛擬化系統(tǒng)重啟

4s

423年

SCSI命令超時

30 s

3千年

硬件虛擬化系統(tǒng)重啟

40 s

4千年

物理系統(tǒng)重啟

5m

32千年

站在CPU的角度來看,物理重啟一次的時間要花上幾千年的時間。這比神話傳說中的天上一天,人間一年還要夸張。



責(zé)任編輯:武曉燕 來源: 古時的風(fēng)箏
相關(guān)推薦

2015-01-14 14:27:18

Docker容器鏡像

2018-06-26 15:00:24

Docker安全風(fēng)險

2021-03-18 09:06:17

函數(shù)MainJava

2021-01-14 05:08:44

編譯鏈接

2017-01-16 09:14:35

2018-10-18 14:50:52

2022-01-07 13:34:25

Java時間格式化

2023-07-26 00:32:33

注解抽象spring

2021-01-14 10:24:55

壓縮集合方式

2024-03-11 10:15:29

2017-07-12 08:20:32

閃存用途企業(yè)

2024-05-13 16:22:25

固態(tài)硬盤接口硬盤

2017-07-04 14:01:40

機房機柜

2020-05-20 16:54:47

數(shù)據(jù)分頁顯示函數(shù)

2024-08-28 08:56:24

2011-04-06 14:50:05

SQL查詢效率

2015-11-11 21:46:45

阿里巴巴雙11

2014-04-17 11:33:20

騰訊無線研發(fā)

2017-03-06 16:07:16

2020-06-30 08:12:32

VMwareKVMDocker
點贊
收藏

51CTO技術(shù)棧公眾號