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

內(nèi)存揭奧秘,總線解玄機

存儲 存儲軟件
根據(jù)神秘聲音的指示,他需要趕緊聯(lián)系網(wǎng)卡找到自己大腦的另一半然后逃離這里。不料內(nèi)存卻告訴他,如果不趕緊把自己持久化存儲起來,一旦計算機關閉他就會消失···

[[403760]]

上回說到,阿飛從混沌中醒來,意外發(fā)現(xiàn)自己的大腦被數(shù)據(jù)化存儲到了一臺計算機內(nèi)存中,根據(jù)神秘聲音的指示,他需要趕緊聯(lián)系網(wǎng)卡找到自己大腦的另一半然后逃離這里。不料內(nèi)存卻告訴他,如果不趕緊把自己持久化存儲起來,一旦計算機關閉他就會消失···

“怎么,怎么持久化存儲起來?”,阿飛一下緊張起來,說話竟都有些結(jié)巴了。

剛說完,阿飛的眼前又劃出了一道光亮,光線指向的遠處,他看到了另一個龐然大物。

“這是硬,硬盤?”

“沒錯,我這里不是久留之地,一旦斷電了數(shù)據(jù)就都消失了。硬盤可以持久化存儲數(shù)據(jù),就算沒有供電,數(shù)據(jù)也依然存在,你要是能到那里就安全了”,內(nèi)存說到。

“那我怎么才能從這里到硬盤里去呢?”

“這事得找CPU,這臺計算機上是一個x86-64架構(gòu)的CPU,他有兩條指令:in和out,可以用來從硬盤上讀寫數(shù)據(jù),他可以用mov指令把你讀到寄存器中,再用out指令把你寫到硬盤上”

  1. mov bx, addr; 
  2. ep: 
  3. mov ax, [bx]; 
  4. out port, ax; 
  5. add bx, 2; 
  6. loop .rep 

“寄存器?那才幾個字節(jié),這樣折騰不得寫好久?唉,說到這,我連我自己有多少數(shù)據(jù)量都還不知道,內(nèi)存大哥,你看下我有多少字節(jié)?”,阿飛問到。

內(nèi)存條頓了頓,計算了起來,片刻之后回答道:“20210529個字節(jié),差不多20MB”

怎么才20MB,我的大腦就這么點數(shù)據(jù)嗎,就算只有一部分那也太少了吧?阿飛心里這樣想著,感到有些詫異。

“讓我算一下,這得傳輸多少次···20MB,一次2個字節(jié)···就是···”,阿飛念念有詞的計算起來。

“不用算了,我給你算好了,就算一次傳送4個字節(jié),CPU也得讀寫五百多萬次”,內(nèi)存打斷了阿飛。

“什么?這也太慢了!”,阿飛失望的說到。

“你嫌慢?CPU大哥估計還不愿意干這活呢”

“啊?為什么?”

“這種傳輸方式叫Programming Input/Output,簡稱PIO,因為傳輸效率低下,這會花去CPU大量時間,不能去執(zhí)行其他程序了,所以現(xiàn)在他們很少用這方式來傳輸數(shù)據(jù)了”

“那言下之意,還有別的辦法了?別賣關子了,快告訴我吧!”,阿飛急的問到。

“有,用DMA的方式,直接讓DMA控制器通過總線把你傳輸?shù)接脖P中,數(shù)據(jù)不用經(jīng)過CPU老大哥”

DMA?阿飛一下想起了什么,“這個東西我在大學課本上學過,叫直接存儲器訪問(Direct Memory Access),由DMAC,也就是DMA控制器來負責數(shù)據(jù)的傳輸,我記得DMAC好像是一個編號叫8257的芯片,他現(xiàn)在在哪里?”

內(nèi)存不禁笑出了聲:“什么8257,那都是哪個年代的老黃歷了,那玩意早就下崗了。”

“那現(xiàn)在DMAC在哪里?”

“看到硬盤不遠處的那塊芯片了嗎,那就是PCH,也就是你口中說的南橋芯片,它里面集成了SATA控制器,用于控制那個SATA接口的硬盤,SATA控制器中又集成了DMA控制器,一會兒就由他把你傳輸過去。”

“看來我學的課本真過時了,你趕緊幫我聯(lián)系一下,我很著急啊”,阿飛催促到。

“這可不行,我只是一個總線從設備,只能被動接收命令時使用總線,只有總線主設備才能主動使用總線,等著吧”

等?阿飛的心一下又懸了起來,“那誰是主設備呢?”

“CPU老大,他是最大的主設備,還有DMA控制器們,他們也是主設備,等一會兒硬盤的DMA控制器找我通信時,我?guī)湍憬o他帶個話,讓他把你傳輸過去”,內(nèi)存說到。

阿飛只好耐著性子等了起來,不時又想起神秘老者的話,他急的像熱鍋上的螞蟻,不知道如何是好。

“這要等多久?”,阿飛忍不住問到。

不過這一次,內(nèi)存沒有理他。

過了好一陣···

“快來了!我看到DMA控制器發(fā)出總線申請信號了”,內(nèi)存說到。

“什么意思?”,阿飛有些不太明白。

“之前不是給你說過了嗎,咱們主板上各部件之間通信都得通過總線系統(tǒng),這總線系統(tǒng)英文名叫bus,也就是公共汽車的意思,所有人共享的。但共享得有個章法,不能大家一起用,那就亂了套了,所以主設備們要使用之前,都得發(fā)出申請,交給總線仲裁器來判定由誰來使用”

“共享?那么多設備,忙得過來嗎?”

“很早以前的ISA總線只有幾十MB/s,設備連得多了以后確實不太忙得過來,不過后來改成PCI總線就快多了,有幾百MB/s了。到現(xiàn)在這臺計算機中的PCIe總線,能達到好幾GB/s,完全忙得過來”

“就這一根線,能傳輸?shù)倪@么快?”

內(nèi)存又忍不住笑了出來,“總線可不是一根線,那可是幾十上百根線呢,數(shù)據(jù)、地址、時鐘還有各種控制信號,一根線哪里夠”

“原來如此,我一直以為總線就是一根線呢,看來又被課本上的圖給誤導了···”,阿飛若有所思的說到。

“來了來了,消息來了,我得去忙了,你等我一下,我把你的情況給DMA控制器說一下”,阿飛還沉浸在自己的思索中,內(nèi)存又接著說到。

阿飛又開始緊張起來,一會兒就要去硬盤里了,那里又是怎樣一副天地,心里一點數(shù)也沒有,既期待又害怕。

無聊之際,阿飛又試圖回憶自己是如何來到這里,卻依舊是一陣頭暈,看來自己的大腦數(shù)據(jù)真是缺失了一部分,忙完持久化存儲的事情,得趕緊找網(wǎng)卡幫我把信息傳遞出去才行。

等了好久,內(nèi)存條終于來了消息:“你快準備好,我已經(jīng)跟硬盤的DMA控制器說好了,馬上就來傳輸你”

話音剛落,還沒等阿飛反應過來,只感覺一陣電流竄遍全身,接著像是在一股巨大的引力撕扯下,阿飛感覺自己被吸入了一個漩渦,身旁的一切飛速向后退去,心臟都快要從身體里跳了出來,打出生以來他哪里見過這陣仗。

“快看,來了一個新文件”

“這家伙是什么格式的,怎么從來沒見過”

···

迷迷糊糊中,阿飛聽到有人在說話,慢慢睜開眼睛,才發(fā)現(xiàn)自己不知什么時候竟然睡了過去,一定是剛才那陣引力把我弄暈了,阿飛心里這樣想著。

阿飛環(huán)顧四周,仍舊是一片漆黑。

“內(nèi)存大哥?內(nèi)存大哥?”,阿飛叫了兩聲。

“什么內(nèi)存大哥,這里是硬盤”,不遠處一個聲音傳來。

看來成功來到硬盤了,阿飛長舒了一口氣,再也不用擔心斷電了。

突然,一個巨大的東西從遠處飛了過來,在阿飛眼前劃出了一束電子流,剎那間,四周全被照亮。

這時,阿飛看到了剛才那聲音的源頭···

本文轉(zhuǎn)載自微信公眾號「編程技術宇宙」,可以通過以下二維碼關注。轉(zhuǎn)載本文請聯(lián)系編程技術宇宙公眾號。

 

責任編輯:武曉燕 來源: 編程技術宇宙
相關推薦

2012-04-11 11:36:38

庫克

2010-09-25 09:40:34

無線網(wǎng)絡中繼設置

2022-07-19 16:45:13

人工增雨人工智能天氣

2021-12-07 09:46:39

AI 模型人工智能

2024-01-22 11:33:17

C++編程語言開發(fā)

2019-12-10 08:59:55

JVM內(nèi)存算法

2010-09-26 15:53:25

JVM內(nèi)存溢出

2011-08-29 11:09:52

2011-01-25 10:06:42

2024-03-05 09:55:00

C++右值引用開發(fā)

2016-04-12 09:27:59

2018-03-11 15:51:40

2022-02-16 10:59:54

Spring端口郵件

2013-05-07 11:43:47

2010-02-03 16:15:05

Python語言

2009-12-03 09:19:41

Linux系統(tǒng)奧秘

2024-12-17 16:44:22

Spring開發(fā)

2010-03-01 18:33:30

2016-02-24 09:29:38

Spark大數(shù)據(jù)Spark 2.0

2022-12-08 07:33:29

ChatGPTAI搜索
點贊
收藏

51CTO技術棧公眾號