js 实现2的n次方计算函数_「计算机组成原理」:一文快速了解计算机原理知识点-附思维导图...
衡量一臺(tái)計(jì)算機(jī)性能的優(yōu)劣是根據(jù)多項(xiàng)技術(shù)指標(biāo)綜合確定的,既包括硬件的各種性能指標(biāo),又包括軟件的各種功能。
第一章、計(jì)算機(jī)系統(tǒng)概論
1、計(jì)算機(jī)系統(tǒng)組成及性能:
- 計(jì)算機(jī)系統(tǒng)是由“硬件”和“軟件”組成。
- 衡量一臺(tái)計(jì)算機(jī)性能的優(yōu)劣是根據(jù)多項(xiàng)技術(shù)指標(biāo)綜合確定的,既包括硬件的各種性能指標(biāo),又包括軟件的各種功能。
- 計(jì)算機(jī)系統(tǒng)由硬件和軟件兩部分組成。
- 計(jì)算機(jī)系統(tǒng)性能由硬件和軟件共同決定。
2、計(jì)算機(jī)系統(tǒng)5層層次結(jié)構(gòu):
- 為程序機(jī)器、傳統(tǒng)機(jī)器、操作系統(tǒng)機(jī)器、匯編語(yǔ)言機(jī)器、高級(jí)語(yǔ)言機(jī)器
- 微程序機(jī)器和傳統(tǒng)機(jī)器是物理機(jī),其他是虛擬機(jī)。
3、馮諾依曼機(jī)器的主要特點(diǎn):
- 計(jì)算機(jī)由運(yùn)算器、存儲(chǔ)器、控制器、輸入設(shè)備和輸出設(shè)備五大部分組成;
- 指令和數(shù)據(jù)存儲(chǔ)再存儲(chǔ)器中,并可以按地址訪問;
- 指令和數(shù)據(jù)均以二進(jìn)制表示;
- 指令由操作碼和地址碼構(gòu)成,操作碼指明操作的性質(zhì),地址碼表示操作數(shù)在存儲(chǔ)器中的位置;
- 指令在存儲(chǔ)器內(nèi)按順序存放,通常按自動(dòng)的順序取出執(zhí)行;
- 機(jī)器以運(yùn)算器為中心,I/O設(shè)備與存儲(chǔ)器交換數(shù)據(jù)也要通過運(yùn)算器。(后來有以存儲(chǔ)器為中心的計(jì)算機(jī)結(jié)構(gòu))
4、現(xiàn)代計(jì)算機(jī)組成圖:
5、計(jì)算機(jī)儲(chǔ)存單元:
- 存儲(chǔ)單元:存儲(chǔ)一個(gè)存儲(chǔ)字并具有特定存儲(chǔ)地址的存儲(chǔ)單位;
- 存儲(chǔ)字:一個(gè)存儲(chǔ)單元中存放的所有的二進(jìn)制數(shù)據(jù),按照某個(gè)地址訪問某個(gè)存儲(chǔ)單元獲取的二進(jìn)制數(shù)據(jù)。
- 存儲(chǔ)字長(zhǎng):存儲(chǔ)字中二進(jìn)制數(shù)據(jù)的位數(shù),即按照某個(gè)地址訪問某個(gè)存儲(chǔ)單元獲取的二進(jìn)制數(shù)據(jù)的位數(shù);
- 存儲(chǔ)體:由多個(gè)存儲(chǔ)單元構(gòu)成的存儲(chǔ)器件。
6、主存儲(chǔ)器中的MAR和MDR:
- MAR:存儲(chǔ)地址寄存器,保存需要訪問的存儲(chǔ)單元地址。反映存儲(chǔ)單元的個(gè)數(shù)。
- MDR:存儲(chǔ)數(shù)據(jù)寄存器,緩存讀出/寫入存儲(chǔ)單元的數(shù)據(jù)。反映存儲(chǔ)字長(zhǎng)。
- 存儲(chǔ)器的最大容量由MAR寄存器的位數(shù)和MDR寄存器的位數(shù)決定。
7、機(jī)器字長(zhǎng)和存儲(chǔ)字長(zhǎng):
- 機(jī)器字長(zhǎng):CPU一次能夠處理的二進(jìn)制數(shù)據(jù)的位數(shù)。
- 存儲(chǔ)字長(zhǎng):按照某個(gè)地址訪問某個(gè)存儲(chǔ)單元獲取的二進(jìn)制數(shù)據(jù)的位數(shù)。
第二章、計(jì)算機(jī)系統(tǒng)
- 硬件結(jié)構(gòu)主機(jī)CPUALU運(yùn)算器CU控制器存儲(chǔ)器主存(計(jì)算機(jī)的內(nèi)存條)輔存(如磁盤等虛擬存儲(chǔ))I/O輸入設(shè)備輸出設(shè)備主要技術(shù)指標(biāo)機(jī)器字長(zhǎng)CPU一次能處理的數(shù)據(jù)位數(shù)存儲(chǔ)容量存儲(chǔ)容量=存儲(chǔ)單元個(gè)數(shù)×存儲(chǔ)字長(zhǎng)運(yùn)算速度單位時(shí)間執(zhí)行指令的平均條數(shù),MIPS(每秒百萬(wàn)指令條數(shù))
- 軟件系統(tǒng)軟件用來管理整個(gè)計(jì)算機(jī)系統(tǒng)語(yǔ)言處理程序(編譯器,模擬器等)操作系統(tǒng)(windows/linux)服務(wù)性程序(網(wǎng)絡(luò)驅(qū)動(dòng),磁盤驅(qū)動(dòng)等)數(shù)據(jù)庫(kù)管理系統(tǒng)(mysql,oracle,pgsql等)網(wǎng)絡(luò)軟件(tcp/ip協(xié)議棧等)應(yīng)用軟件自己下載的普通軟件
第三章、運(yùn)算方法和運(yùn)算部件
1、數(shù)據(jù)的表示方法和轉(zhuǎn)換
- 機(jī)器數(shù)正0負(fù)1真值:符號(hào)位加絕對(duì)值符號(hào)數(shù)值化的帶符號(hào)二進(jìn)制數(shù),稱為機(jī)器數(shù)。
- 余三碼:在8421碼的基礎(chǔ)上,把每個(gè)編碼都加上0011格雷碼:任何兩個(gè)相鄰編碼只有1個(gè)二進(jìn)制位不同,而其余3個(gè)二進(jìn)制位相同當(dāng)兩個(gè)余三碼相加不產(chǎn)生進(jìn)位時(shí),應(yīng)從結(jié)果中減去0011;產(chǎn)生進(jìn)位時(shí),應(yīng)將進(jìn)位信號(hào)送入高位,本位加0011
- 8421碼權(quán)值從高到低為8、4、2、1算術(shù)運(yùn)算時(shí),需對(duì)運(yùn)算結(jié)果進(jìn)行修正。 方法:如果小于、等于(1001)2,不需要修正;否則加6修正
2、帶符號(hào)的二進(jìn)制數(shù)據(jù)在計(jì)算機(jī)中的表示方法及運(yùn)算
(1)源碼表示:
- X為正數(shù)時(shí),符號(hào)位為0;X為負(fù)數(shù)時(shí),符號(hào)位為1。
- 其他位置上與真值一樣
- 0存在兩種表示形式
- 特點(diǎn):值+0,-0的原碼分別為00000、10000,形式不唯一;正數(shù)的原碼碼值隨著真值增長(zhǎng)而增長(zhǎng),負(fù)數(shù)的原碼碼值隨著真值增長(zhǎng)而減少n+1位原碼表示定點(diǎn)整數(shù)范圍-(2n-1)——-(2n-1)n+1位原碼表示定點(diǎn)小數(shù)范圍 -(1-2-n)———(1-2-n)
- 運(yùn)算:絕對(duì)值相加減,由數(shù)值大小決定運(yùn)算結(jié)果符號(hào)
(2)反碼表示:
- 正數(shù)的反碼、補(bǔ)碼與原碼相同
- 負(fù)數(shù)的反碼,按位取反,符號(hào)位取反
- 特點(diǎn):數(shù)值零的反碼表示不唯一正數(shù)反碼碼值隨著真值增大而增大,負(fù)數(shù)反碼碼值隨著真值增大而增大n+1位反碼所表示定點(diǎn)整數(shù)范圍- (2n-1)——-2n-1,n+1位反碼所表示定點(diǎn)小數(shù)范圍-(1-2-n)——-1-2-n
- 運(yùn)算:滿足[X+Y]反=[X]反+[Y]反,[X-Y]反=[X]反+[-Y]反
(3)補(bǔ)碼表示:
- 從X求[X]補(bǔ):X為正數(shù)時(shí),[X]補(bǔ)=XX為負(fù)數(shù)時(shí),①按位求反(符號(hào)位不變),②末尾加1
- 從[X]補(bǔ)求X:[X]補(bǔ)的符號(hào)位為0(正數(shù)),[X]補(bǔ)=X[X]補(bǔ)的符號(hào)位為1(負(fù)數(shù)),①按位求反(包括符號(hào)位),②末尾加1,再在數(shù)值前面加上符號(hào)-
- 從[X]補(bǔ)求補(bǔ):按位求反(包括符號(hào)位)末尾加1
- 特點(diǎn):數(shù)值零的補(bǔ)碼表示唯一正數(shù)補(bǔ)碼碼值隨著真值增大而增大,負(fù)數(shù)補(bǔ)碼碼值隨著真值增大而增大n+1位補(bǔ)碼所表示定點(diǎn)整數(shù)范圍- 2n——2n-1,n+1位補(bǔ)碼所表示定點(diǎn)小數(shù)范圍-1—-1-2-n
- 結(jié)論:負(fù)數(shù)的補(bǔ)數(shù)=模+負(fù)數(shù)互為補(bǔ)數(shù)的絕對(duì)值相加=模在補(bǔ)數(shù)中,減法運(yùn)算即加法運(yùn)算
- 運(yùn)算: [X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ),[X–Y]補(bǔ)=[X+(–Y)]補(bǔ)=[X]補(bǔ)+[–Y]補(bǔ)
(4)移碼表示:
- left [ X ight ][X]補(bǔ)的符號(hào)位取反,即得$ left [ X ight ] $$移
- 為了從碼值直接判斷對(duì)應(yīng)真值的大小,所以引進(jìn)移碼
- 特點(diǎn):最高位是符號(hào)位,1表示正,0表示負(fù)數(shù)據(jù)0有唯一的編碼移碼碼值隨著真值增大而增大n+1位移碼所表示定點(diǎn)整數(shù)范圍-2^{n} - left { 2^{n}-1 ight } , n+1位移碼所表示定點(diǎn)小數(shù)范圍-1——1-2-n計(jì)算機(jī)中,移碼常用于表示階碼,故只執(zhí)行加、減運(yùn)算計(jì)算機(jī)中,移碼運(yùn)算公式需要對(duì)結(jié)果進(jìn)行修正
- 運(yùn)算:移碼定義:[X]移=2的n次方+X補(bǔ)碼定義:[X]補(bǔ)=2的n+1次方+Y
- 階碼求和公式[X]移+[Y]補(bǔ)=[X+Y]移 mod2的n+1次方[X]移+[-Y]補(bǔ)=[X-Y]移
(5)補(bǔ)、反、原、移碼的相互轉(zhuǎn)換
- 反碼——->原碼方法:符號(hào)位不變,正數(shù)不變,負(fù)數(shù)數(shù)值部分取反。
- 補(bǔ)碼——->原碼方法1:正數(shù)不變,負(fù)數(shù)數(shù)值部分求反加1。方法2:串行轉(zhuǎn)換從最后開始數(shù),遇到第一個(gè)“1”,除第一個(gè)“1”不變,前面數(shù)字分別取反
- 移碼——->原碼方法:移碼轉(zhuǎn)換為補(bǔ)碼,再轉(zhuǎn)換為原碼
(6)定點(diǎn)數(shù)和浮點(diǎn)數(shù)
- 定點(diǎn)數(shù):小數(shù)點(diǎn)固定在某個(gè)位置上的數(shù)據(jù)32位定點(diǎn)小數(shù)、定點(diǎn)整數(shù)補(bǔ)碼的范圍32位定點(diǎn)小數(shù)-1~1-2-3132位定點(diǎn)整數(shù)-231~231-1
- 浮點(diǎn)數(shù):根據(jù)IEEE754國(guó)際標(biāo)準(zhǔn),常用的浮點(diǎn)數(shù)有兩種格式Nmax=Mmax2的EmaxNmin=Mmin2的Emax單精度(32位)=8位階碼+24位尾數(shù)單精度浮點(diǎn)數(shù)(32位),階碼8位(含一位符號(hào)位),尾數(shù)24(含一位符號(hào)位),取值范圍:-2的127次方~(1-2的-23次方)*2的127次方雙精度(64位)=11位階碼+53位尾數(shù)雙精度浮點(diǎn)數(shù)(64位),階碼11位(含一位符號(hào)位),尾數(shù)53位(含一位符號(hào)位),取值范圍:-2的1023次方~(1-2的-52次方)*2的1023次方為了保證數(shù)據(jù)精度,尾數(shù)通常用規(guī)格化形式表示:當(dāng)R=2,且尾數(shù)值不為0時(shí),其絕對(duì)值應(yīng)大于或等于(0.5)10小數(shù)點(diǎn)位置可以浮動(dòng)的數(shù)據(jù)。左規(guī)右規(guī)表示形式:N = M · RE計(jì)算機(jī)中存儲(chǔ)形式Ms+Es+E(n位)+M(m位)階碼E,一般為整數(shù),用補(bǔ)碼或者移碼表示;尾數(shù)M,一般為規(guī)格化的定點(diǎn)小數(shù),用補(bǔ)碼表示;
3、二進(jìn)制乘法運(yùn)算
- 定點(diǎn)原碼一位乘法
- 兩個(gè)原碼數(shù)相乘,其乘積的符號(hào)為相乘兩數(shù)符號(hào)的異或值,數(shù)值則為兩數(shù)絕對(duì)值之積[X·Y]原=[X]原·[Y]原=(X0⊕Y0)|(X1X2…Xn) · (Y1Y2…Yn)
- 定點(diǎn)補(bǔ)碼一位乘法
- 表達(dá)式:[X·Y]補(bǔ)=[X]補(bǔ)·(-Y0+Y1·2-1+….Yn·2-n)
- 注意:此處為雙符號(hào)位,當(dāng)最后乘積高位為負(fù)數(shù)時(shí),需要補(bǔ)充加上[-|x|]補(bǔ)的操作
4、二進(jìn)制除法運(yùn)算
- 加減交替法:當(dāng)余數(shù)為正時(shí),商上1,求下一位商的辦法是,余數(shù)左移一位,再減去除數(shù);當(dāng)余數(shù)為負(fù)時(shí),商上0,求下一位商的辦法是,余數(shù)左移一位,再加上除數(shù)。此方法不用恢復(fù)余數(shù),所以又叫不恢復(fù)余數(shù)法。但若最后一次上商為0而又需得到正確余數(shù),則在這最后仍需恢復(fù)余數(shù)
5、浮點(diǎn)數(shù)運(yùn)算
(1)浮點(diǎn)數(shù)的加減法運(yùn)算
(2)浮點(diǎn)數(shù)的乘除法運(yùn)算
- [X+Y]移=[X]移+[Y]補(bǔ)
- [X–Y]移=[X]移+[–Y]補(bǔ)
- 先確定符號(hào),在列式子計(jì)算
6、運(yùn)算部件
- ABC寄存器作業(yè)
- 定點(diǎn)運(yùn)算部件
- 浮點(diǎn)運(yùn)算部件由階碼運(yùn)算部件和尾數(shù)運(yùn)算部件組成
7、校驗(yàn)碼
碼距:
- 任意兩個(gè)合法碼之間不相同的二進(jìn)制位數(shù)的最小值要具有差錯(cuò)能力,則碼距>1合理增大碼距,就能提高發(fā)現(xiàn)錯(cuò)誤的能力
鑒定方法:
- 有無差錯(cuò)能力
- 是否能合理增大碼距
(1)奇偶校驗(yàn)碼
- 能發(fā)現(xiàn)數(shù)據(jù)代碼中一位或奇數(shù)個(gè)位出錯(cuò)情況的編碼
- 實(shí)現(xiàn)原理是使碼距由1增加到2步驟1:在字節(jié)高位補(bǔ)充一位,即校驗(yàn)位步驟2:依據(jù)圖3.10電路形成原始數(shù)據(jù)D8…D1的校驗(yàn)位置步驟3:將9位數(shù)據(jù)寫入主存步驟4:讀出該數(shù)據(jù)時(shí),讀取數(shù)據(jù)D8…D1通過圖3.10判定合法性
- 結(jié)論:(1)奇偶校驗(yàn)碼只能發(fā)現(xiàn)一位或奇位錯(cuò),且不能確定出錯(cuò)位置(2)奇偶校驗(yàn)碼的碼距=2
(2)海明校驗(yàn)碼
- 海明碼位號(hào)和校驗(yàn)位位號(hào)的關(guān)系Pi的位置在2的i-1次方,但是除了最高位
- 海明碼碼距為4
- 糾一位錯(cuò),查一位錯(cuò)2∧r≥k+r+1
- 糾一位錯(cuò),查兩位錯(cuò)2∧(r–1)≥k+r
(3)循環(huán)冗余校驗(yàn)碼(CRC)
- CRC碼可以發(fā)現(xiàn)并糾正信息存儲(chǔ)或傳送過程中連續(xù)出現(xiàn)的多位錯(cuò)誤
- CRC碼一般是指k位信息碼之后拼接r位校驗(yàn)碼
- 模2運(yùn)算模2加減模2乘除異或邏輯
- CRC的譯碼與糾錯(cuò)更換不同的待測(cè)碼字可以證明:余數(shù)與出錯(cuò)位的對(duì)應(yīng)關(guān)系是不變,只與碼制和生成多項(xiàng)式有關(guān)
第四章、存儲(chǔ)器
1、概念
- 用來存儲(chǔ)數(shù)據(jù)和指令等的記憶部件,叫做存儲(chǔ)器。存儲(chǔ)器是由一些編號(hào)的單元所組成。單元的編號(hào)叫做地址。
計(jì)算機(jī)對(duì)存儲(chǔ)器的要求是:一要存取速度快,二要存儲(chǔ)容量大。
存儲(chǔ)器按構(gòu)造分為磁心存儲(chǔ)器、半導(dǎo)體存儲(chǔ)器、磁盤、磁帶等多種,按與中央處理器的關(guān)系可分為內(nèi)存儲(chǔ)器和外存儲(chǔ)器兩類。
2、存儲(chǔ)器分類
- 1)可以分為隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、順序存儲(chǔ)器和直接存儲(chǔ)器;
- 2)隨機(jī)存儲(chǔ)器和只讀存儲(chǔ)器屬于隨機(jī)存儲(chǔ)器,即存取時(shí)間與物理地址無關(guān);
- 3)順序存儲(chǔ)器(典型的如磁帶)和直接存儲(chǔ)器(典型的如磁盤)屬于串行存儲(chǔ)器,即存取時(shí)間與物理地址有關(guān)。
3、衡量存儲(chǔ)器使用指標(biāo)
- 1)速度、容量、位價(jià)格。
- 2)寄存器速度最快,主存最便宜
4、常見的存儲(chǔ)系統(tǒng)層次結(jié)構(gòu)
- 1)緩存-主存層次:用來緩解CPU和主存速度不匹配的問題,由硬件來完成,對(duì)所有的程序員完全透明。
- 2)主存-輔存層次:用來解決主存容量不夠的問題,由操作系統(tǒng)和硬件共同完成,對(duì)應(yīng)用程序設(shè)計(jì)者透明,對(duì)系統(tǒng)程序設(shè)計(jì)者不透明。
5、主存儲(chǔ)器的主要技術(shù)指標(biāo)
- 主存容量64×8等等計(jì)算機(jī)可尋址的最小信息單元是一個(gè)存儲(chǔ)字主存儲(chǔ)器存儲(chǔ)單元的總數(shù)
- 存取速度:由存儲(chǔ)器存取時(shí)間和存儲(chǔ)周期表示
- 存儲(chǔ)器存取時(shí)間:啟動(dòng)一次存儲(chǔ)器操作(讀/寫)到完成該操作所經(jīng)歷的時(shí)間
- 存儲(chǔ)周期:連續(xù)啟動(dòng)兩次獨(dú)立的存儲(chǔ)器操作所間隔的最小時(shí)間
6、主存儲(chǔ)器的基本操作
- CPU通過使用AR(地址寄存器)和DR(數(shù)據(jù)寄存器)和主存進(jìn)行數(shù)據(jù)傳送
- 若AR為K位字長(zhǎng),DR為n位字長(zhǎng),則允許主存包含2∧k個(gè)可尋址單元
- CPU與主存采取異步工作方式,以ready信號(hào)表示一次訪存操作的結(jié)束
7、讀/寫存儲(chǔ)器
- 隨機(jī)存儲(chǔ)器(RAM)按存儲(chǔ)元件在運(yùn)行中能否長(zhǎng)時(shí)間保存信息分為靜態(tài)存儲(chǔ)器和動(dòng)態(tài)存儲(chǔ)器
- 靜態(tài)存儲(chǔ)器,利用觸發(fā)器保存信息,只要不斷電,信息就不會(huì)丟失電路簡(jiǎn)圖MOS靜態(tài)存儲(chǔ)結(jié)構(gòu)圖
- 動(dòng)態(tài)存儲(chǔ)器,利用MOS電容存儲(chǔ)電荷來保存信息,需要不斷給電容充電才能使信息來保存信息電路簡(jiǎn)圖16K×1位動(dòng)態(tài)存儲(chǔ)器框圖
- 再生集中式分散式時(shí)間小于或等于2ms行讀出再生
8、非易失性半導(dǎo)體存儲(chǔ)器
- RAM(random access memory)即隨機(jī)存儲(chǔ)內(nèi)存,可讀可寫,斷電時(shí)將丟失其存儲(chǔ)內(nèi)容,故主要用于存儲(chǔ)短時(shí)間使用的程序。
- ROM(Read-Only Memory)即只讀內(nèi)存,只能讀不能寫,在掉電的情況下,依然保存原有的數(shù)據(jù)。
9、存儲(chǔ)器的組成與控制
- 存儲(chǔ)器容量擴(kuò)展位擴(kuò)展:用多個(gè)存儲(chǔ)器芯片對(duì)字長(zhǎng)進(jìn)行擴(kuò)充字?jǐn)U展:增加存儲(chǔ)器中字的數(shù)量,提高存儲(chǔ)器的尋址范圍字位擴(kuò)展,假設(shè)一個(gè)存儲(chǔ)器的容量為M×N位,若使用L×K位存儲(chǔ)器芯片,那么,這個(gè)存儲(chǔ)器共需要(M/L)×(N/K)個(gè)存儲(chǔ)器芯片
10、多體交叉存儲(chǔ)器
- 提高訪存速度的方式采用高速器件采用層次結(jié)構(gòu)調(diào)整主存結(jié)構(gòu)
- 計(jì)算機(jī)中大容量的主存可由多個(gè)存儲(chǔ)體組成,每個(gè)存儲(chǔ)體都具有自己的讀寫線路,地址寄存器和數(shù)據(jù)寄存器,稱為”存儲(chǔ)模塊”。這種多模塊存儲(chǔ)器可以實(shí)現(xiàn)重疊與交叉存取
- 第i個(gè)模塊M的地址編號(hào)應(yīng)按下式給出:M×j+i
- 連續(xù)地址分布在相鄰的不同模塊內(nèi),而同一模塊內(nèi)的地址都是不連續(xù)的
11、提高訪存速度的三種方式
- 1)采用高速元器件;
- 2)采用存儲(chǔ)層次結(jié)構(gòu):cache-主存結(jié)構(gòu);
- 3)調(diào)整主體結(jié)構(gòu):包括單體多字,多體并行兩種方式。
第五章、指令系統(tǒng)
1、指令系統(tǒng)的發(fā)展
20世紀(jì)70年代末人們提出了便于VLSI實(shí)現(xiàn)的精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī),簡(jiǎn)稱RISC,同時(shí)將指令系統(tǒng)越來越復(fù)雜的計(jì)算機(jī)稱為復(fù)雜指令系統(tǒng)計(jì)算機(jī),簡(jiǎn)稱CISC。
2、指令格式
(1)結(jié)構(gòu)(操作碼+地址碼)
- 操作碼
- 操作數(shù)的地址
- 操作結(jié)果的存儲(chǔ)地址
- 下一條指令的地址
(2)地址碼
- 零地址指令
- 一地址指令尋址范圍 224 = 16 M2次訪存
- 二地址指令尋址范圍 212 = 4 K4 次訪存
- 三地址指令尋址范圍 28 = 2564 次訪存
- 多地址指令-尋址范圍 26 = 644 次訪存
(3)指令字長(zhǎng)
- 取決因素操作碼的長(zhǎng)度操作數(shù)地址的長(zhǎng)度操作數(shù)地址的個(gè)數(shù)
- 指令字長(zhǎng) 固定指令字長(zhǎng) = 存儲(chǔ)字長(zhǎng)
- 指令字長(zhǎng) 可變按字節(jié)的倍數(shù)變化
- 對(duì)準(zhǔn)邊界存放不連續(xù)存放數(shù)據(jù)按字節(jié)編址a.半字地址最低位恒為0b.字地址最低兩位恒為0c.雙字地址的最低三位恒為0減少訪存次數(shù),浪費(fèi)存儲(chǔ)空間
- 不對(duì)準(zhǔn)邊界存放連續(xù)存放數(shù)據(jù)節(jié)約存儲(chǔ)器空間,但增加訪存次數(shù),對(duì)多字節(jié)數(shù)據(jù)存在調(diào)整高 低字節(jié)位置的問題
(4)尋址方式
①分類:
②指令系統(tǒng)類型:
(5)指令操作碼的擴(kuò)展技術(shù)
- 指令操作碼的長(zhǎng)度決定了指令系統(tǒng)中完成不同操作的指令數(shù)
- 若某機(jī)器的操作碼長(zhǎng)度固定為K位,則它最多只能有2^K條不同指令
- 指令操作碼兩種格式
- 固定格式優(yōu)點(diǎn):對(duì)于簡(jiǎn)化硬件設(shè)計(jì),減少指令譯碼時(shí)間非常有利缺點(diǎn):指令少,浪費(fèi)地址
- 可變格式(分散地放在字的不同字段)優(yōu)點(diǎn):指令多,縮短指令平均長(zhǎng)度,減少程序總位數(shù),增加指令字所能表示的操作信息缺點(diǎn):譯碼復(fù)雜,控制器的設(shè)計(jì)難度增大
- 拓展方法的一個(gè)重要原則使用頻度(即指令在程序中出現(xiàn)概率)高的指令應(yīng)分配短的操作碼,使用頻度低的指令相應(yīng)地分配較長(zhǎng)的操作碼
- 指令系統(tǒng)的兼容性保持系統(tǒng)向上兼容
第六章、中央處理器
1、計(jì)算機(jī)工作過程
- 加電——->產(chǎn)生reset信號(hào)——->執(zhí)行程序——->停機(jī)——->停電
- 產(chǎn)生reset信號(hào)的任務(wù)任務(wù)一:使計(jì)算機(jī)處于初始狀態(tài)任務(wù)二:從PC中取出指令地址
- 控制器作用是協(xié)調(diào)并控制計(jì)算機(jī)各部件執(zhí)行程序的指令序列
2、控制器的組成
(1)控制器的功能
- 取指令發(fā)出指令地址,取出指令的內(nèi)容
- 分析指令(1)對(duì)操作碼譯碼產(chǎn)生操作相應(yīng)部件的控制信號(hào)(2)根據(jù)尋址方式形成操作數(shù)地址
- 執(zhí)行指令(1)根據(jù)分析指令后產(chǎn)生控制信號(hào)、操作數(shù)地址信號(hào)序列,通過CPU及輸入輸出設(shè)備的執(zhí)行實(shí)現(xiàn)每條指令的功能(2)結(jié)果回送存儲(chǔ)器(3)形成下條指令的地址
- 控制程序和數(shù)據(jù)的輸入和結(jié)果輸出
- 對(duì)異常情況和某些請(qǐng)求的處理異常情況的處理:例如算術(shù)運(yùn)算的溢出、數(shù)據(jù)傳送奇偶錯(cuò)某些請(qǐng)求的處理“中斷請(qǐng)求”信號(hào)DMA請(qǐng)求信號(hào)
(2)控制器的組成
- 程序計(jì)數(shù)器(PC):即地址寄存器,用來存放當(dāng)前正在執(zhí)行的指令地址或即將要執(zhí)行的下一條指令地址
- 指令寄存器(IR):用以存放當(dāng)前正在執(zhí)行的指令,以便在指令執(zhí)行過程中控制完成一條指令的全部功能
- 指令譯碼器或操作碼譯碼器:對(duì)指令寄存器中的操作碼進(jìn)行分析解釋,產(chǎn)生相應(yīng)的控制信號(hào)
- 脈沖源及啟停線路:脈沖源參數(shù)一定頻率的脈沖作為整個(gè)機(jī)器的時(shí)鐘脈沖,是機(jī)器周期和工作脈沖的基準(zhǔn)信號(hào),在機(jī)器剛加電時(shí),還應(yīng)產(chǎn)生一個(gè)總清信號(hào)(reset)
- 時(shí)序控制信號(hào)形成部件當(dāng)程序啟動(dòng)后,在CLK時(shí)鐘作用下,根據(jù)當(dāng)前正在執(zhí)行的指令的需要,產(chǎn)生相應(yīng)的時(shí)序控制信號(hào),并根據(jù)被控制功能部件的反饋信號(hào)調(diào)整時(shí)序控制信號(hào)控制存儲(chǔ)器微指令寄存器控制字段+下址
- 周期概念指令周期:完成一條指令所需的時(shí)間,包括取指令、分析指令、執(zhí)行指令機(jī)器周期:也稱為CPU周期,是CPU從內(nèi)存中讀取一個(gè)指令的時(shí)間,通常等于取指周期時(shí)鐘周期:稱為節(jié)拍脈沖或T周期,是基準(zhǔn)脈沖信號(hào)
- 三條假設(shè)程序是存放在主存中的,當(dāng)執(zhí)行完一條指令后才從主存中取下一條指令(非流水線)指令的長(zhǎng)度是固定的,并限制了尋址方式的多樣化在程序運(yùn)行前,程序和數(shù)據(jù)都已存在主存中
(3)指令執(zhí)行過程(運(yùn)算器和控制器配合)
- 組成控制器的基本電路具有記憶功能的觸發(fā)器以及由它組成的寄存器,計(jì)數(shù)器和存儲(chǔ)單元沒有記憶功能的門電路及由它組成的加法器,算術(shù)邏輯運(yùn)算單元(ALU)和各種邏輯電路
- 舉例加法:取指令——>計(jì)算操作數(shù)地址——>取操作數(shù)——>執(zhí)行結(jié)果并運(yùn)算送結(jié)果
- 條件轉(zhuǎn)移指令:取指令——>計(jì)算地址
- 控制器的功能就是按每一條指令的要求產(chǎn)生所需的控制信號(hào)
- 產(chǎn)生控制信號(hào)的方法微程序控制硬布線控制
3、微程序控制計(jì)算機(jī)的基本工作原理
(1)基本概念
- 微指令在微程序控制的計(jì)算機(jī)中,將由同時(shí)發(fā)出的控制信號(hào)所執(zhí)行的一組微操作
- 微命令將指令分為若干條微指令,按次序執(zhí)行這些微指令。組成微指令的操作即微命令
- 微程序計(jì)算機(jī)的程序由指令序列構(gòu)成,而計(jì)算機(jī)每條指令的功能均由微指令序列解釋完成,這些微指令序列的集合就叫做微程序
- 控制存儲(chǔ)器微程序一般是存放在專門的存儲(chǔ)器中的,由于該存儲(chǔ)器主要存放控制命令(信號(hào))與下一條執(zhí)行的微指令地址(簡(jiǎn)稱下址)存儲(chǔ)單元內(nèi)容(1)微指令的控制信號(hào)——控制位(2)下條微指令的地址——下址字段存儲(chǔ)芯片:ROM執(zhí)行一條指令實(shí)際上就是執(zhí)行一段存放在控制存儲(chǔ)器中的微程序
(2)實(shí)現(xiàn)微程序控制的基本原理
- 控制信號(hào)(23條)
- 書上加法的過程
- 微指令格式:控制字段+下載字段
- 23個(gè)控制位,12個(gè)下址位——>容量為4K
- 取址微指令的操作對(duì)所有指令都是相同的,所以是一條公用的微指令,其下址由操作碼譯碼產(chǎn)生
(3)微程序控制器
- 時(shí)序信號(hào)及工作脈沖的形成
- 停機(jī)和停電的區(qū)別停機(jī)電壓:穩(wěn)定存放內(nèi)容:保持重啟PC內(nèi)容:斷點(diǎn)指令地址停電電壓:消失存放內(nèi)容:RAM的內(nèi)容消失重啟PC內(nèi)容:第一條指令地址
4、微程序設(shè)計(jì)技術(shù)
(1)如何縮短微指令字長(zhǎng)
- ①直接控制法(容量太小)編譯方法:每一位代表一個(gè)控制信號(hào),直接送往相應(yīng)的控制點(diǎn)優(yōu)點(diǎn):控制簡(jiǎn)單缺點(diǎn):微指令字長(zhǎng)過大
- ②字段直接編譯法選出互斥的微指令每個(gè)字段都要留出一個(gè)代碼,表示本段不發(fā)出任何指令(000)優(yōu)點(diǎn):節(jié)省微指令的字長(zhǎng)缺點(diǎn):增加了額外的硬件開銷
- ③字段間接編譯法指令之間相互聯(lián)系的情況舉例:A為0-7,B為0-3,如果是直接編譯——3+2=5,如果是間接編譯——3+1=4編碼方法:在字段直接編譯法中,譯碼輸出端要兼由另一字段中的某些微命令配合解釋優(yōu)點(diǎn):減少了微指令長(zhǎng)度缺點(diǎn):可能削弱微指令的并行控制能力,同時(shí)增加硬件開銷
- ④常熟源字段E(了解)
(2)如何減少微指令長(zhǎng)度
- ①現(xiàn)行微指令/微地址現(xiàn)行微指令:當(dāng)前正在執(zhí)行的指令現(xiàn)行微地址:存放現(xiàn)行微指令的控制器存儲(chǔ)單元
- ②后繼微指令/微地址后繼微指令:下一條要執(zhí)行的微指令后繼微地址:存放后繼微指令的控制器存儲(chǔ)單元
- ③增量與下址字段結(jié)合產(chǎn)生后繼微指令的方法下址字段分成:轉(zhuǎn)移控制字段BCF和轉(zhuǎn)移地址字段BAFBCF:控制微程序的轉(zhuǎn)移情況BAF:轉(zhuǎn)移后的微指令所在地址BAF有兩種情況與uPC的位數(shù)相等——轉(zhuǎn)移靈活,但增加微指令長(zhǎng)度比uPC短——轉(zhuǎn)移地址受到限制,但可縮短微指令長(zhǎng)度優(yōu)點(diǎn)微指令的下址字段很短,僅用于選擇輸入uPC計(jì)數(shù)器的某條線路有效缺點(diǎn)微程序轉(zhuǎn)移不靈活,使得微程序在控存中的物理空間分配有困難
- ④多路轉(zhuǎn)移方式一條微指令存在多個(gè)轉(zhuǎn)移分支的情況稱為多路轉(zhuǎn)移
- ⑤微中斷1.微中斷請(qǐng)求信號(hào)是由程序中斷請(qǐng)求信號(hào)引起的2.在完成現(xiàn)行指令的微程序后響應(yīng)該微中斷請(qǐng)求3.由硬件產(chǎn)生對(duì)應(yīng)微中斷處理程序在控存中的入口地址
(3)如何提高微程序的執(zhí)行速度
- ①微指令格式水平型微指令:直接控制,字段編譯(直接、間接)特點(diǎn):在一條微指令中定義并并行執(zhí)行多個(gè)微命令垂直型微指令:采用微操作碼編譯法,由操作碼規(guī)定微指令的功能特點(diǎn):不強(qiáng)調(diào)實(shí)現(xiàn)微指令的并行控制功能
- ②微程序控制存儲(chǔ)器一般采用ROM存儲(chǔ)器也可采用RAM,為防止斷電后內(nèi)容消失,則必須開機(jī)后將外存中存放的微程序調(diào)入內(nèi)存RAM,然后才能執(zhí)行程序。當(dāng)前為了能不斷擴(kuò)展指令系統(tǒng),通常采用ROM+RAM
- ③動(dòng)態(tài)微程序設(shè)計(jì)定義:能根據(jù)用戶要求改變微程序優(yōu)點(diǎn):使計(jì)算機(jī)能更靈活、有效的適應(yīng)于各種不同的應(yīng)用目標(biāo)
- ④控制存儲(chǔ)器的操作(P136)串行方式并行方式——比串行多了微指令寄存器微周期=max(取微指令時(shí)間,執(zhí)行微指令時(shí)間)由于取微指令、執(zhí)行微指令同時(shí)進(jìn)行,故對(duì)于某些后繼微地址的產(chǎn)生根據(jù)處理結(jié)果而定的微指令,則延遲一個(gè)微周期再取微指令
5、流水線工作原理
(1)結(jié)論
- 每條指令的執(zhí)行時(shí)間不變
- 每條指令處理結(jié)果的時(shí)間縮短
- 流水線處理速率最高時(shí)=流水線處于滿載的穩(wěn)定狀態(tài)
- 流水線處理速率最低時(shí)=流水線未滿載狀態(tài)
- 為了滿足在重疊時(shí)間段不同指令的機(jī)器周期能夠完成指定的操作,將時(shí)間段=操作完成的最長(zhǎng)時(shí)間
- 為了保證一個(gè)周期內(nèi)流水線的輸入信號(hào)不變,相鄰時(shí)間段之間必須設(shè)置鎖存器或寄存器
- 除了指令執(zhí)行流水線,還有運(yùn)算操作流水線
(2)相關(guān)問題
- 流水線阻塞數(shù)據(jù)相關(guān)產(chǎn)生假設(shè)第二條指令需要的操作數(shù)是第一條指令運(yùn)算的結(jié)果,那么出現(xiàn)了數(shù)據(jù)相關(guān)指令執(zhí)行時(shí)間不同產(chǎn)生程序轉(zhuǎn)移的影響異常情況響應(yīng)中斷
(3)流水線計(jì)算公式
- 公式:Nt+(K-1)t (N表示段,K表示多少指令,t表示時(shí)間)
- 流水線周期為執(zhí)行時(shí)間最長(zhǎng)的一段
第七章、存儲(chǔ)系統(tǒng)
1、存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)
- cache->主存->輔存
- cache:提高CPU數(shù)據(jù)輸入輸出的速度
2、高速緩沖存儲(chǔ)器
- ①cache的工作原理局部性原理主存地址和cache地址塊長(zhǎng):塊長(zhǎng)一般取一個(gè)主存周期所能調(diào)出的信息長(zhǎng)度(一般為16個(gè)字)cache的容量和塊的大小是影響cache的效率的重要因素命中率:CPU所要訪問的信息是否在cache中的比率,而將所要訪問的信息不在cache中的比率稱為失敗率一致性策略標(biāo)志交換方式(寫回法)通過式寫入(寫通法)寫操作直接對(duì)主存進(jìn)行,而不寫入cachecache的存取時(shí)間:平均存取時(shí)間=h*tc+(1-h)(tc+tm)最好替換策略:按照被替換的字塊是下一段時(shí)間最少使用的,由替換部件實(shí)現(xiàn)
- ②cache組織地址映像直接映像cache中許多空的位置被浪費(fèi)主存地址:主存字塊標(biāo)記+cache字塊地址+字塊內(nèi)地址全相聯(lián)映像成本太高而不能采用主存地址:主存字塊標(biāo)記+字塊內(nèi)地址優(yōu)點(diǎn):方式靈活,縮小了塊發(fā)生沖突的概率缺點(diǎn):增加了標(biāo)識(shí)位位數(shù)增加了尋找主存塊在cache中對(duì)應(yīng)塊的時(shí)間組相聯(lián)映像直接映像和全相聯(lián)映像的折衷主存地址:主存字塊標(biāo)記+組地址+塊內(nèi)地址
3、虛擬存儲(chǔ)器
- 存儲(chǔ)管理部件(MMU)現(xiàn)代計(jì)算機(jī)一般都有輔助存儲(chǔ)器,但具有輔存的存儲(chǔ)系統(tǒng)不一定是虛擬存儲(chǔ)系統(tǒng)虛擬存儲(chǔ)系統(tǒng)的特點(diǎn)允許用戶程序用比主存大的多的空間來訪問主存每次訪存都要進(jìn)行虛實(shí)地址的轉(zhuǎn)換
第八章、輔助存儲(chǔ)器
1、概述
半導(dǎo)體存儲(chǔ)器可隨機(jī)訪問任一單元,而輔助存儲(chǔ)器一般為串行訪問存儲(chǔ)器。
2、輔助存儲(chǔ)器的種類
- 磁表面存儲(chǔ)器數(shù)字式磁記錄硬盤、軟盤和磁帶模擬式磁記錄錄音、錄像設(shè)備
- 光存儲(chǔ)器光盤
3、串行存儲(chǔ)器
- 順序存取存儲(chǔ)器
- 直接存取存儲(chǔ)器
4、輔助存儲(chǔ)器的技術(shù)指標(biāo)
- 存儲(chǔ)密度定義:單位長(zhǎng)度或單位面積磁層表面磁層所存儲(chǔ)的二進(jìn)制信息量道密度:沿磁盤半徑方向單位長(zhǎng)度的磁道數(shù)稱為道密度,單位為道/英寸tpi或道/毫米tpmm位密度或線密度:單位長(zhǎng)度磁道所能記錄二進(jìn)制信息的位數(shù)叫位密度或線密度,單位為位/英寸bpi或位/毫米bpmm每個(gè)磁道所存儲(chǔ)的信息量是一樣的
- 存儲(chǔ)容量:C = n × k × s
- 尋址時(shí)間:平均尋址時(shí)間Ta=平均找到時(shí)間Ts+平均等待時(shí)間Tw
- 輔存的速度尋址時(shí)間磁頭讀寫時(shí)間
- 數(shù)據(jù)傳輸率:Dr = D × V
- 誤碼率
- 價(jià)格
5、硬磁盤存儲(chǔ)器的類型
- 固定磁頭和移動(dòng)磁頭
- 可換盤和固定盤
6、磁盤存儲(chǔ)器
- 溫徹斯特磁盤簡(jiǎn)稱溫盤
- 磁盤存儲(chǔ)器由驅(qū)動(dòng)器(HDD),控制器(HDC)和盤片組成
- 最外面的同心圓叫0磁道,最里面的同心圓假設(shè)稱為n磁道
- 驅(qū)動(dòng)器的定位驅(qū)動(dòng)系統(tǒng)實(shí)現(xiàn)快速精準(zhǔn)的磁頭定位
- 主軸系統(tǒng)的作用是帶動(dòng)盤片按額定轉(zhuǎn)速穩(wěn)定旋轉(zhuǎn)
- 數(shù)據(jù)控制系統(tǒng)的作用是控制數(shù)據(jù)的寫入和讀出,包括尋址,磁頭旋轉(zhuǎn),寫電流控制,讀出放大,數(shù)據(jù)分離
- 磁盤控制器有兩個(gè)方向的接口與主機(jī)的接口與驅(qū)動(dòng)器(設(shè)備)的接口
7、光盤
- 采用光存儲(chǔ)技術(shù)利用激光寫入和讀出第一代光存儲(chǔ)技術(shù)采用非磁性介質(zhì)不可擦寫第二代光存儲(chǔ)技術(shù)采用磁性介質(zhì)可擦寫
- 光盤的存儲(chǔ)原理只讀型和只寫一次型熱作用(物理或化學(xué)變化)可擦寫光盤熱磁效應(yīng)
第九/十章、輸入輸出(I/O)設(shè)備/系統(tǒng)
1、設(shè)備控制器(I/O)的基本功能
- 實(shí)現(xiàn)主機(jī)和外部設(shè)備之間的數(shù)據(jù)傳送
- 實(shí)現(xiàn)數(shù)據(jù)緩沖,以達(dá)到主機(jī)同外部設(shè)備之間的速度匹配
- 接受主機(jī)的命令,提供設(shè)備接口的設(shè)備,并按照主機(jī)的命令控制設(shè)備
2、I/O 編址方式
- 統(tǒng)一編址:用取數(shù)、存數(shù)指令
- 不統(tǒng)一編址:有專門的 I/O 指令
3、I/O 與主機(jī)的連接方式
- ①輻射式連接每臺(tái)設(shè)備都配有一套控制線路和一組信號(hào)線不便于增刪設(shè)備
- ②總線連接便于增刪設(shè)備
4、I/O設(shè)備
- 人機(jī)交互設(shè)備:鍵盤、鼠標(biāo)等
- 計(jì)算機(jī)信息的主流設(shè)備:硬盤、光盤等
- 機(jī)—機(jī)通信設(shè)備:MODEN等5、中斷服務(wù)程序的流程
- (1) 保護(hù)現(xiàn)場(chǎng)程序斷點(diǎn)的保護(hù)寄存器內(nèi)容的保護(hù)
- (2) 終端服務(wù)對(duì)不同的 I/O 設(shè)備具有不同內(nèi)容的設(shè)備服務(wù)
- (3) 恢復(fù)現(xiàn)場(chǎng)出棧指令
- (4) 中斷返回中斷返回指令
6、單重中斷和多重中斷
- 單重 中斷不允許中斷 現(xiàn)行的 中斷服務(wù)程序
- 多重 中斷允許級(jí)別更高 的中斷源中斷 現(xiàn)行的 中斷服務(wù)程序
7、DMA 方式
- 主存和 I/O 之間有一條直接數(shù)據(jù)通道
- CPU 和 I/O 并行工作
- DMA 第三種工作方式(1) CPU暫停方式(2) CPU周期竊取方式(3)直接訪問存儲(chǔ)器
- DMA 接口功能(1) 向 CPU 申請(qǐng) DMA 傳送(2) 處理總線 控制權(quán)的轉(zhuǎn)交(3) 管理 系統(tǒng)總線、控制 數(shù)據(jù)傳送(4) 確定 數(shù)據(jù)傳送的 首地址和長(zhǎng)度,修正 傳送過程中的數(shù)據(jù)地址和長(zhǎng)度(5) DMA 傳送結(jié)束時(shí),給出操作完成信號(hào)
- DMA 傳送過程預(yù)處理、數(shù)據(jù)傳送、后處理
8、外設(shè)接口
- 設(shè)備與主機(jī)相連時(shí),必須按照規(guī)定的物理互連特性、電氣特性等進(jìn)行連接,這些特性的技術(shù)規(guī)范稱為接口標(biāo)準(zhǔn)。
總結(jié)
以上是生活随笔為你收集整理的js 实现2的n次方计算函数_「计算机组成原理」:一文快速了解计算机原理知识点-附思维导图...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模型摆完pose怎么对称_糖分过浓警告!
- 下一篇: python标准词匹配_用 Python