数据库工程师基础学习1----计算机硬件基础知识,计算机体系结构与存储系统
1,教材(數(shù)據(jù)庫(kù)系統(tǒng)工程師教程(第四版))
重點(diǎn),
7,8,12
2,計(jì)算機(jī)硬件基礎(chǔ)知識(shí)
其中運(yùn)算器運(yùn)算分為:算術(shù)運(yùn)算與邏輯運(yùn)算
算術(shù)邏輯單元:負(fù)責(zé)具體計(jì)算,如做的是1+1=2的事
累加寄存器:主要是提供一個(gè)工作區(qū).將1,1從內(nèi)存中取出來(lái).并將算術(shù)邏輯單元的計(jì)算結(jié)果,也存在里面,方便計(jì)算1+1+1.變成了2+1
數(shù)據(jù)緩沖寄存器:主要是解決,cpu與內(nèi)存,外設(shè)操作速度上的差異,起到緩沖作用.
psw就主要負(fù)責(zé)結(jié)果的狀態(tài).
這里注意指令寄存器中存放的是指令,而pc寄存器存放的是一個(gè)地址.控制器也不僅僅由這四部分組成
如上圖,cpu開(kāi)始工作時(shí),pc中存放第一條指令的地址001,如果程序順序執(zhí)行,那么cpu在取出001地址之后,就會(huì)自動(dòng)+1,pc中值為010,所以pc中要么是第一條指令的地址,要么是下一條指令的地址.
ar存放的是當(dāng)前訪問(wèn)的內(nèi)存單元的地址.內(nèi)存可以存儲(chǔ)指令與數(shù)據(jù).
id,指令譯碼器,主要翻譯指令寄存器中的這條指令的操作碼部分,這決定了要進(jìn)行什么樣的操作(如:加減乘除)
注意在運(yùn)算器與控制器中出現(xiàn)的寄存器,是用寄存器.功能特定.
例子:注意小數(shù)點(diǎn)前的一位權(quán)值為0.
首先,寫出權(quán)值,再對(duì)應(yīng)相加.
100轉(zhuǎn)換為二進(jìn)制,有兩個(gè)注意點(diǎn)
(1),除到0為止
(2),余數(shù)需要倒過(guò)來(lái)寫.
100轉(zhuǎn)8進(jìn)制,同時(shí),只要把2換為8就好了
數(shù)據(jù)總線是雙向的,因?yàn)閏pu可以寫入內(nèi)存數(shù)據(jù),內(nèi)存也可以傳入數(shù)據(jù)給cpu.
地址總線是單向的,因?yàn)閏pu知道內(nèi)存地址就可以了.
而控制總線其中的每一條都是單向的,但是總體呈現(xiàn)的是雙向的.如上圖.
第一種的例子是:鼠標(biāo)鍵盤,無(wú)條件的隨時(shí)準(zhǔn)備就緒
第二種的例子是:打印機(jī),需要先確定打印機(jī)是否準(zhǔn)備好.不能同時(shí)多個(gè)任務(wù).
這種方式中需要cpu等待外設(shè)準(zhǔn)備好
第三種方法:外設(shè)準(zhǔn)備好之后,發(fā)出一個(gè)中斷,cpu可以去進(jìn)行別的任務(wù),收到中斷后,先保存現(xiàn)場(chǎng),再去處理中斷,之后再在原本的現(xiàn)場(chǎng),繼續(xù)執(zhí)行.
第四種方式,為直接內(nèi)存存取.由dmac控制器直接完成,從而節(jié)約cpu的使用.
首先,第一題選c,而不是選a,因?yàn)閍只是告訴了中斷的地點(diǎn),而并沒(méi)有告訴cpu要做什么事情.
第四題選d,很好理解.
其中第八題,首先機(jī)械硬盤是外存.其次硬盤是由很多的盤片組成,并且每個(gè)盤片上有很多磁道,有一個(gè)磁頭.在硬盤尋找數(shù)據(jù)的時(shí)候,要先從磁頭,找到對(duì)應(yīng)的磁道數(shù),這就是平均尋道時(shí)間,之后,在該磁道上,需要磁盤旋轉(zhuǎn),找到對(duì)應(yīng)的數(shù)據(jù),這就是磁盤轉(zhuǎn)速.
所以性能指標(biāo),不包含磁盤數(shù)與磁道數(shù).選b
其中第14題,選b.需要占用一個(gè)總線周期.
3,計(jì)算機(jī)體系結(jié)構(gòu)與存儲(chǔ)系統(tǒng)
這一部分了解.教材(14-16)
這里流水線技術(shù),就是第一步結(jié)束后,不再等待第二步和第三步,而直接取第二條指令.
這樣,執(zhí)行100條指令的時(shí)間,主要取決于三個(gè)步驟中耗時(shí)最長(zhǎng)的一步.時(shí)間節(jié)約在,第一步第二步的時(shí)間被壓縮在第三步執(zhí)行時(shí)間中,所以采用流水線技術(shù),以該例子說(shuō)明,總時(shí)間為第一步,加第二步(在第一條時(shí)執(zhí)行)再加100倍的第三步.
在上面的例子中,實(shí)際吞吐率為100/303(單位時(shí)間內(nèi)執(zhí)行的指令數(shù)),而根據(jù)定義,得到的是最大吞吐率.
題目中,首選最大吞吐率.
教材4-7,選擇性閱讀.
cpu可能會(huì)等待內(nèi)存存取數(shù)據(jù).
這個(gè)高速緩存cache區(qū)域,可以理解為縮小的內(nèi)存區(qū)域,所以只能存儲(chǔ)內(nèi)存區(qū)域的部分?jǐn)?shù)據(jù),當(dāng)cpu沒(méi)有查詢到想要數(shù)據(jù)時(shí),就需要用替換算法把cache中的某些數(shù)據(jù)替換為需要的數(shù)據(jù).并且用到了地址映射.注意cpu給的是主存中的地址.
程序的局部性原理是指:程序可能會(huì)反復(fù)調(diào)用同一數(shù)據(jù).
注意:主存每個(gè)區(qū)與cache大小相同.還有1kb=1024b.
如果要同時(shí),訪問(wèn)主存中第0區(qū)和第1區(qū)第0塊的內(nèi)容,就無(wú)法同時(shí)調(diào)入到cache中,這就是塊沖突.
主存與cache容量相同.
全相聯(lián)映象的缺點(diǎn)就是,需要額外存儲(chǔ)內(nèi)存與cache的塊的對(duì)應(yīng)關(guān)系.并不簡(jiǎn)單明了.
組相聯(lián)映象是指:在分塊的基礎(chǔ)上,將幾塊分為一組.
對(duì)于組采用直接映象方式,每一組中的塊用全相聯(lián)映象.
如第0區(qū)和第一區(qū)到第63區(qū)的第一組都必須放在cache中的第一組,但是可以將第0區(qū)的第一組的第一塊和第1區(qū)的第一組的第一塊,放在同一個(gè)cache區(qū)域.
上圖內(nèi)容為了解內(nèi)容.
數(shù)據(jù)的存儲(chǔ)方式,如上,一般來(lái)說(shuō),一個(gè)字節(jié)就說(shuō)8比特
這是32位與64系統(tǒng)的區(qū)別
在內(nèi)存中,每一個(gè)字節(jié)需要給一個(gè)地址,而不是每一個(gè)比特都分配一個(gè)地址.8字節(jié)用3位就可以表示其地址.4096字節(jié)(4kb)用12位2進(jìn)制表示其地址.
那么例子中存儲(chǔ)一個(gè)主存地址,需要多少位呢?(注意大寫的B表示字節(jié),b表示比特.)
就說(shuō)6+5+9=20位,那么就會(huì)發(fā)現(xiàn)1mb也等于2的20次方,可以說(shuō),這種方法并沒(méi)有節(jié)約地址存儲(chǔ)位數(shù).
第一題選b,先算出字節(jié)數(shù).
在這里,第一題和第三題是記憶點(diǎn),第二題可以將存儲(chǔ)空間寫為2000H或者用二進(jìn)制位數(shù)表示為1444=13,13-10=3,所以為8k大小.
第二道題是一個(gè)記憶點(diǎn).類似于cache一樣的地址映射,而擴(kuò)大邏輯存儲(chǔ)空間,其實(shí)物理上并不存在.
第三題需要4片.
注意第四題,選擇c通用寄存器,因?yàn)榧拇嫫鞔蠖鄶?shù)位于cpu內(nèi)部,接下來(lái)才是cache.
第五題選a
注意第一題答案是超長(zhǎng)指令字.
第三題,應(yīng)該選擇c,這道題最后得到104ffH的大小,將其轉(zhuǎn)化為2進(jìn)制再計(jì)算.
1表示2的16次,所以最后結(jié)果為64+1.
第四題選a.這道題的c選項(xiàng)問(wèn)題在于不是線性提高的.
其中第四題,risc為精簡(jiǎn)指令集,cisc為復(fù)雜指令集.
risc使用的是超流水線技術(shù),所以a錯(cuò)誤,b選項(xiàng)相反.
c選項(xiàng),risc使用大量的寄存器,所以才會(huì)使用優(yōu)化編譯技術(shù).
d是正確的.
總結(jié)
以上是生活随笔為你收集整理的数据库工程师基础学习1----计算机硬件基础知识,计算机体系结构与存储系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 中心滤波与均值滤波MATLAB
- 下一篇: 智能门锁解决方案