CPU學(xué)習(xí)心得續(xù)集2
數(shù)字電路的核心就是各種各樣的門,有點(diǎn)像諸葛亮布的八卦陣,CPU自然是復(fù)雜化的數(shù)字電路,內(nèi)部充斥著海量的門。注:這里沒有艷照門,莫奈門。
本文引用地址:http://m.butianyuan.cn/article/201612/324207.htm 我在想,假如連接這些門的不是電路,而是一根根橡膠管,我在橡膠管的開始位置(震蕩電路)吹一口氣,有哪些門可以被吹開呢?
在第一個(gè)周期內(nèi),應(yīng)該只有0000H里面的門會開,假如數(shù)據(jù)為01010101,那么相應(yīng)為1的門就會打開,0的門是關(guān)閉的。而根據(jù)這些信息,假設(shè)01010101指向了001AH這個(gè)地址,好了好了,知道了,我再吹第二口氣。
這時(shí)候別的門依舊是關(guān)閉的,0000H或許保持不變,而001AH卻有門被打開,這些門的狀態(tài)是設(shè)定好的(編程),由于我的這口氣有著強(qiáng)大的力量,我吹的這個(gè)地址的八扇門(8位機(jī))會發(fā)生連鎖反應(yīng),吹開其它的門(運(yùn)算),假設(shè)001AH的數(shù)據(jù)為: MOV A,#20H,氣流會根據(jù)指令去吹累加器A的地址,然后打開相應(yīng)的門使之?dāng)?shù)據(jù)等于20H。至于為什么看到這個(gè)指令就會去吹累加器地址,是因?yàn)镸OV A 這個(gè)指令就是打開了累加器A的門,它就是打開累加器A的密碼。這個(gè)指令是唯一的,不重復(fù)的。
回到電路的思路上來,負(fù)責(zé)執(zhí)行MOV指令的門電路一直沒有閑著,它隨時(shí)掃描著各個(gè)地址中有沒有MOV字眼,有的話直接執(zhí)行,同理,其它的門電路也是如此,程序員不管它們是什么門電路,統(tǒng)稱為指令,這些指令是INTER公司設(shè)計(jì)好的,拿來用就行了。對于我這種鉆牛角尖的,它們就是一個(gè)個(gè)門的組合,它們每個(gè)周期都在內(nèi)存里掃描有沒有自己的工作,有就工作,沒有就繼續(xù)掃描。
不說那些外行的話了,很多東西是想當(dāng)然的,可能不正確。
CPU內(nèi)的各種數(shù)字電路,在每個(gè)脈沖周期都在工作,沒有接到指令也在工作,它們在干什么呢?
我們知道,CPU開發(fā)的時(shí)候,系統(tǒng)提供了很多指令,如MOV、JMP等等,我們稱之為指令集。我猜想這些不同的指令,實(shí)質(zhì)上就是對應(yīng)著CPU內(nèi)部不同的數(shù)字電路,所有的數(shù)字電路都擁有共同的特點(diǎn),就是都具有輸入和輸出端,這些輸入和輸出端是接在總線上的,輸入端每時(shí)每刻都在監(jiān)視著總線上電平的變化,輸出端每時(shí)每刻都在輸出給總線相應(yīng)的電平。
內(nèi)存同樣也是數(shù)字電路,它也在總線上接著,內(nèi)存的工作相對更簡單,就是感知總線上的電平高低,你高了我也高,你低了我也低。但是總這樣高高低低的也不行,這就像你拿起筆總在一個(gè)方格里寫字一樣,寫了擦,擦了寫,文章還是出不來,怎么辦?筆要動才行,這里就需要移位電路,每一個(gè)周期執(zhí)行完畢,移位電路就要工作一次, 這就是前面學(xué)過的指針的概念。對程序員來說是指針,對硬件開發(fā)者來說是移位電路。
大概的脈絡(luò)在腦子里基本有點(diǎn)狀態(tài)了,我們不妨先把龐大的超大規(guī)模的CPU系統(tǒng)簡化一下,這樣更好理解。假設(shè)CPU內(nèi)部只有一個(gè)數(shù)字電路,內(nèi)存只有8個(gè)字節(jié)(8位機(jī)同時(shí)傳輸8個(gè)字節(jié))。
現(xiàn)在通電開始工作,脈沖電路發(fā)出脈沖, 數(shù)字電路的8個(gè)輸入端在總線上的8條支路上分別感知電平,假設(shè)內(nèi)存的數(shù)據(jù)為00001111,那么數(shù)字電路的8個(gè)支路會檢測到低低低低高高高高8個(gè)電平,然后數(shù)字電路馬上得出運(yùn)算結(jié)果,假設(shè)為10101010,并送到總線上去。請注意,這里數(shù)字電路輸出數(shù)據(jù)的前提是00001111這個(gè)輸入值里面包含自己需要的識別碼,就像密碼一樣,如果不包含,對不起我不輸出任何數(shù)據(jù),保持原電平不變,假設(shè)密碼為0000,那么每當(dāng)它看到這個(gè)0000就會立即輸出數(shù)據(jù),這個(gè)識別的密碼是唯一的,不能和別的數(shù)字電路重復(fù)。
評論