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

太慢不能忍!CPU又拿硬盤和網(wǎng)卡開刀了!

運維 系統(tǒng)運維
當(dāng)初我們CPU工廠剛剛來到主板上建廠時,那時候主板上的單位還不多,跟我們打交道最多的就是內(nèi)存那家伙了。后來,鍵盤、鼠標(biāo)、硬盤、網(wǎng)卡、聲卡、顯卡等等設(shè)備紛紛入駐主板,這塊土地變得越來越熱鬧起來。

總線技術(shù)

我是CPU一號車間的阿Q,最近為了一件事兒搞得我挺煩的。

當(dāng)初我們CPU工廠剛剛來到主板上建廠時,那時候主板上的單位還不多,跟我們打交道最多的就是內(nèi)存那家伙了。

后來,鍵盤、鼠標(biāo)、硬盤、網(wǎng)卡、聲卡、顯卡等等設(shè)備紛紛入駐主板,這塊土地變得越來越熱鬧起來。

[[337565]]

不過,他們的到來并沒有影響我們的地位,畢竟我們是中央處理器,所有人都得聽我們指揮。

為了和主板上這些家伙們通信,我們花了重金鋪了一條線路,主板上家家戶戶都連上了這條線路,我們把它叫做總線,雖然說是一條,但實際上它包含了傳輸數(shù)據(jù)的數(shù)據(jù)總線,傳輸?shù)刂返牡刂房偩€和進(jìn)行控制管理的控制總線。

這樣一來,各單位就能一起聊天了。不過這線路是共用的,大家不能都一起傳數(shù)據(jù),那就亂套了。為了統(tǒng)一管理,我們設(shè)立了一個新的單位叫總線控制器,這個單位來統(tǒng)一管理總線,大家要通信就得找它申請,這就叫做總線仲裁。

不過啊,主板上的單位之間的速度還是千差萬別的,像內(nèi)存就比硬盤、網(wǎng)卡這些單位快多了(當(dāng)然,跟我們CPU車間的工作速度那還是不能比),不僅如此,不同單位他們的接口還千差萬別,用一套總線矛盾就日益明顯了,后來就變成了多級總線,讓慢的跟慢的玩,快的跟快的玩,最后大家再用一個東西把不同總線連接起來,這個東西就是橋!

主板上后來出現(xiàn)了兩個著名的橋,一個離我們CPU很近的叫北橋,內(nèi)存那家伙和我們通信就會經(jīng)過它,另一個離我們遠(yuǎn)一點的叫南橋,那些慢一些的I/O設(shè)備就通過南橋接進(jìn)來。再后來,隨著我們CPU工廠的壯大,直接把北橋收購了,現(xiàn)在變成了我們廠里的一個部門了。

PIO模式

現(xiàn)在我們可以和這些I/O設(shè)備通信了,就拿硬盤來說吧,它有I/O端口,我們提供了in和out兩條指令,就可以對它進(jìn)行讀寫數(shù)據(jù)了。這種通信的方式叫做可編程輸入輸出模型,Programming Input/Output Model,簡稱PIO。

我們是整個主板上的核心,俗話說得好,能力越大,責(zé)任越大,但有時候真心覺得有點累。

隨著越來越多的設(shè)備接入主板,越來越多的程序需要等待我們?nèi)?zhí)行,工作量大的壓的我們喘不過氣來。

尤其是隨著技術(shù)進(jìn)步,我們CPU工廠的速度越來越快,與硬盤的讀寫速度之間的差距越來越拉大,我們還用這種方式通信就太浪費我們的時間了。

DMA技術(shù)

這幾天,我們幾個車間的Leader私下聚在一起討論起這個事情來。

“阿Q,你不覺得現(xiàn)在我們花了太多時間再讀寫硬盤上了嗎,這家伙慢不是他的錯,扯我們后腿這就是他的錯了啊。傳輸一次數(shù)據(jù),我們要執(zhí)行好多次I/O端口讀寫,我們寶貴的時間都浪費在這上面了!”,二號車間的虎子一臉幽怨的說到。

“嗨,我最近也為這事發(fā)愁呢,程序越來越多,讀寫硬盤的時間越來越多了,尤其是那個叫MySQL的,老讓我訪問硬盤,可累死我了。”

沒想到我倆都憋了一肚子苦水呢。

這時,平日里愛拍老板馬屁的八號車間老大說了一句話:“你們說的問題確實存在,這工作太沒技術(shù)含量了,就是個體力活嘛,要不咱給老板說說,讓他外包出去吧”

我倆一聽,妙啊,要是能把這體力活外包出去,那可簡直太好了,我們就可以專心做我們的專職工作了。

“你跟老板平時走得近,這事你去說吧”,我給虎子使了個眼色,一起攛掇老八去說這事。

“行,我去就我去”。

還別說,領(lǐng)導(dǎo)立馬就同意了這個想法,畢竟能提高我們的工作效率,他自然是舉雙手歡迎。

沒過多久,就成立了一個外包團(tuán)隊,獨立出我們廠子,專門來負(fù)責(zé)這件事。和我們CPU一樣,他們也提供了幾個寄存器,傳輸數(shù)據(jù)的時候,只需要設(shè)置一下這些寄存器的內(nèi)容,告訴他們要傳輸哪里的數(shù)據(jù),從哪到哪,長度是多少,接下來的事情我們就不用操心了,交由他們來完成。我們就可以騰出功夫做其他事情,等數(shù)據(jù)傳輸完畢了,他們再用中斷的方式告訴我們,我們直接去處理就好了,省去了讓我們親自去搬運的過程,真是爽的飛起~

后來,我們給這項技術(shù)也取了一個名字,叫Direct Memory Access,直接存儲器訪問,簡稱DMA,這個外包團(tuán)隊就是DMAC,DMA控制器。

DMA全面開花

前幾天的月總結(jié)會上,領(lǐng)導(dǎo)表揚了老八,說多虧他的建議讓廠里的生產(chǎn)效率大大提升。早知道,當(dāng)初就不攛掇老八去跟老板提建議了,我自己去。

[[337570]]

正想著走神,突然想到了一個問題,這一次我打算抓住機(jī)會掙個表現(xiàn)。

“老板,這個DMA技術(shù)好是好,但現(xiàn)在只能用于硬盤哦。最近網(wǎng)卡那家伙數(shù)據(jù)包也挺多的,我花了好多時間去把數(shù)據(jù)包從網(wǎng)卡讀取到內(nèi)存中,又低效又沒有技術(shù)含量,可不可以把這技術(shù)推廣到網(wǎng)卡上啊?”,我起身說到。

老板點了點頭,若有所思。

二號車間虎子見狀也起身說到:“老板,除了硬盤和網(wǎng)卡,顯示器也有這個需求。我經(jīng)常要疲于奔波于把內(nèi)存數(shù)據(jù)傳輸?shù)斤@示器,也是勞神勞力,建議DMA技術(shù)也推廣到顯示器呢”

老板聽完,皺了皺眉頭說到,“這個不同設(shè)備之間的差別還是挺大的,沒法通用。難不成我們要為每個設(shè)備成立一個外包團(tuán)隊?這成本有點高啊···”

老板果然還是老板,還是把成本考慮在第一位。

這時,愛拍馬屁的老八又說話了,“老板說的是。我倒是有個建議,這個DMA推廣到網(wǎng)卡、顯示器這些單位也可以,不過讓他們自己掏錢來增加DMAC,按照他們各自不同的需求來做。咱們不能當(dāng)這冤大頭”

老板一聽,喜形于色,大聲叫好!

[[337571]]

就這樣,很快我們就把這項技術(shù)推廣了出去,主板上以網(wǎng)卡、顯示器、攝像頭為首的那些個單位為了不落后于人,紛紛擁抱變化,集成了DMAC。

我們得到了徹底的解放,再也不用做枯燥的搬運工了~

彩蛋

“阿Q,聽說了嗎,最近Linux帝國新成立了一個公司,居然繞過我們CPU就能把數(shù)據(jù)從網(wǎng)卡寫入硬盤中”

“不可能啊,至少得經(jīng)過我們拷貝一下吧”

“根本不用,他們號稱是零拷貝技術(shù)”

預(yù)知后事如何,請關(guān)注后續(xù)精彩······

 

責(zé)任編輯:趙寧寧 來源: 編程技術(shù)宇宙
相關(guān)推薦

2020-08-11 14:58:30

技術(shù)CPU指標(biāo)

2012-05-28 14:59:43

Facebook瀏覽器

2020-02-29 14:54:52

谷歌云計算裁員

2009-05-12 08:57:53

奧巴馬反壟斷谷歌

2020-01-08 10:47:51

硬盤內(nèi)存網(wǎng)絡(luò)

2012-05-27 11:35:15

Facebook推進(jìn)移動化進(jìn)程

2016-03-10 20:34:49

2023-03-12 19:10:05

Spring 容器自動配置

2020-08-03 09:05:48

代碼程序員案例

2020-10-29 11:08:06

CPUMySQL數(shù)據(jù)庫

2023-07-18 19:11:21

配置信令系統(tǒng)

2015-04-17 10:22:23

流量

2022-07-15 10:19:40

漏洞網(wǎng)絡(luò)攻擊

2021-09-09 18:12:22

內(nèi)存分段式網(wǎng)絡(luò)

2021-11-05 11:10:13

MyBatisSQL查詢

2022-11-07 15:29:06

UbuntuLinuxCPU

2010-06-11 10:24:35

模塊化UPS

2017-12-28 10:44:08

JavaScript瀏覽器網(wǎng)頁

2014-07-23 10:19:02

小米4

2018-05-15 09:24:19

硬盤網(wǎng)絡(luò)CPU
點贊
收藏

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