計算機(jī)系統(tǒng)概論:
? ? ? ? 計算機(jī)系統(tǒng)由軟件和硬件兩大部分組成,軟件又分為系統(tǒng)軟件和應(yīng)用軟件具帮。
? ??????浮點數(shù)范圍大低斋,定點數(shù)精度高。
? ??????定點運(yùn)算器中掘猿,無論采用雙符號位還是單符號位稠通,必須有溢出判斷電路买猖,一般用異或門來實現(xiàn).
存儲器篇:
? ? ? ? 存儲器在計算機(jī)中的作用分類:cache,主存飞主,輔存
? ? ? ? 主存儲器的技術(shù)指標(biāo)是:存儲容量,存取時間碾篡,存取周期筏餐,存儲器帶寬
? ? ? ? 存儲方式分類:ROM(只讀胖烛,資料并且不會因為電源關(guān)閉而消失),RAM(可讀可寫,斷電后里面的內(nèi)容消失)
????????存儲介質(zhì)分類:半導(dǎo)體存儲器众旗、磁表面存儲器趟畏、光存儲器。
????????SRAM:利用雙穩(wěn)態(tài)觸發(fā)器保存信息利朵,只要不斷電猎莲,信息不回丟失著洼。
? ? ? ? DRAM:利用MOS電容儲存電荷,來保存信息豹悬,使用時要不斷給電容充電液荸,才能使信息保持。
? ? ? ? 存儲器的擴(kuò)展:字?jǐn)U展伤柄,位擴(kuò)展响迂,字位擴(kuò)展细疚。
????????存儲器系統(tǒng)的存儲容量:M*N位? 使用芯片的存儲容量:L*K位需要存儲器芯片個數(shù):M*N/(L*K)
????????中斷向量是指中斷服務(wù)程序的入口地址;
? ? ? ? cache:介于CPU和主存之間的小容量存儲器然遏,但存取速度比主存快待侵。cache容量比主存小得多姨裸。從功能上看,他是主存的緩沖存儲器那先,由高速的SRAM組成赡艰。因為為了追求高速慷垮,包括管理在內(nèi)的全部功能由硬件實現(xiàn),因此對程序員來說是透明的汤纸。
? ? ? ? cache設(shè)置的依據(jù):CPU這次訪問過的數(shù)據(jù)芹血,下次很有極大地可能也是訪問附近的數(shù)據(jù)祟牲。
? ? ? ? CPU與cache之間是以字為單位;主存與cache是以塊為單位说贝。
? ? ? ? CPU讀內(nèi)存的步驟:讀內(nèi)存時,把地址送給cache和主存言询,cache控制邏輯依據(jù)地址判斷此字是否在cache中傲宜,如果在函卒,此字立刻傳給CPU。否則虱咧,主存讀周期把此字從主存中讀出送到CPU,與此同時玄坦,把含有這個字的整個數(shù)據(jù)塊送到cache中绘沉。
? ? ? ? 映聯(lián)方式:cache通過映射的方法確定主存塊應(yīng)該存放在哪個cache行中去车伞。
? ? ? ? 直接映射:把一個主存塊存在唯一的一個cache行中去。優(yōu)點:硬件簡單休蟹,操作容易實現(xiàn)日矫。缺點:命中率低哪轿,cache主存空間利用率低。
? ? ? ? 全相連映射:可以一個存儲塊存儲到任意一個cache行去杨耙。優(yōu)點:命中率高飘痛,cache儲存空間利用率高宣脉;缺點:線路復(fù)雜,成本高竹祷,速度低羊苟。
? ? ? ? 組相連映射:可以將一個主存塊存儲到唯一的一個cache組中的任意的一行
中央處理器篇:
?CPU的功能:指令控制蜡励、操作控制阻桅、時間控制和數(shù)據(jù)加工鳍刷、異常處理
CPU的基本結(jié)構(gòu):運(yùn)算器 (算術(shù)運(yùn)算和邏輯運(yùn)算)和控制器
(1)保存當(dāng)前正在執(zhí)行指令的寄存器是:IR(指令寄存器)
(2)保存當(dāng)前正在執(zhí)行的指令地址的寄存器是:AR(地址寄存器)
(3)算術(shù)邏輯運(yùn)算結(jié)果通常放在DR(數(shù)據(jù)緩沖寄存器)??和R0~R3?通用寄存器
(4)跟蹤指令后繼地址的寄存器:PC(程序寄存器)
(5)保存算術(shù)指令和邏輯指令運(yùn)算或測試結(jié)果建立的各種代碼:PSW(狀態(tài)字寄存器)
CPU管理外圍設(shè)備:程序查詢方式俯抖、程序中斷方式(數(shù)據(jù)傳輸率較低的外設(shè))芬萍、直接內(nèi)存訪問方式(適用于數(shù)據(jù)傳輸率高的設(shè)備)搔啊、通道方式
指令周期:完成一條指令所需要的時間(讀取负芋,分析,執(zhí)行莽龟,檢查中斷)
機(jī)器周期:又稱CPU周期或時鐘周期毯盈,通常把一個指令周期劃分成若干個機(jī)器周期病袄。讀取一個指令字的最短時間,每個機(jī)器周期完成一個基本操作脑奠。
時鐘周期:處理操作的最基本單位宋欺。?????
指令周期流程圖共有階段:
ADD指令:(ADD R2 , R0)??
????????????????????R2->Y //R20,G,Yi
????????????????????R0->X//R0o,G,Xi
????????????????????Y+X->R0//+,G,R0i
STO指令:(STO R1,(R2))
R2->AR // R2 0 , G , ARi
R1->DR // R1 0 , G , DRi
DR->M //? R/W的非=W
cache的主存塊替換算法以及寫策略:
? ? 替換策略:LFU(最不經(jīng)常用):被訪問的行計數(shù)器增加1,換值小的行喇辽,不能反映近期cache的訪問情況菩咨;LRU(近期最少使用):被訪問的行計數(shù)器置0陡厘,其他計數(shù)器加1糙置,換值大的行是目,符合cache的工作原理 懊纳; 隨機(jī)替換:從特定的行位置中隨機(jī)選取一行換出即可。優(yōu)點:這種策略在硬件上容易實現(xiàn)冤今,且速度比前兩種策略快茂缚。
指令系統(tǒng)篇:
? ? 指令:是計算機(jī)執(zhí)行某種操作的命令。
? ? 指令系統(tǒng):是一臺計算機(jī)所有指令的集合脚囊。一個完善的指令系統(tǒng)應(yīng)包括:數(shù)據(jù)傳輸指令龟糕、算術(shù)運(yùn)算指令、邏輯運(yùn)算指令凑术、程序控制指令翩蘸、輸入/輸出指令。
? ? 指令的格式:操作碼淮逊,源操作數(shù)地址催首,目的操作數(shù)地址,下一條指令地址? 地址碼按操作數(shù)的地址數(shù)量分:零地址泄鹏,一地址郎任,二地址备籽,多地址舶治。指令長度:半字長指令,單字長指令车猬,雙字長指令霉猛。
? ? RR型(寄存器-寄存器指令:速度最快)RS(寄存器-存儲器指令:速度一般)SS(存儲器-存儲器指令:速度最慢)
? ? 指令的尋址方式:順序?qū)ぶ罚ò匆粭l指令接一條指令的順序)和跳躍尋址(下條指令的地址碼不是程序計數(shù)器給出,而是由本條指令給出)珠闰。
? ? 操作數(shù)尋址方式:立即尋址(地址字段是操作數(shù)本身)惜浅、直接尋址(指令字的形式地址A就是操作數(shù)的有效地址EA)、間接尋址(指令字的形式地址是操作數(shù)地址的指示器)伏嗜、寄存器尋址(指令字的操作數(shù)地址不是內(nèi)存的地址單元號坛悉,而是通用寄存器編號)伐厌、寄存器間接尋址(指令格式的寄存器內(nèi)容不是操作數(shù),而是操作數(shù)的地址裸影,改地址指明操作數(shù)在內(nèi)存中)挣轨、變址尋址(需要有個寄存器,)
微程序控制器---微命令:控制部件通過控制線向執(zhí)行部件發(fā)出各種控制命令轩猩;微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作卷扮。
????一條機(jī)器指令就是一個微程序,執(zhí)行機(jī)器指令需要幾個CPU周期就包含幾個微指令均践,即一個CPU周期整體是一個微指令画饥,微指令包含若干微命令,微命令發(fā)送給CPU內(nèi)部部件執(zhí)行微操作浊猾。
? ? 微程序控制器同硬布線控制器相比較,具有規(guī)整性热鞍、靈活性葫慎、可維護(hù)性等一系列優(yōu)點。微程序控制的基本思想:就是把操作控制信號編成所謂的“微指令”薇宠,存放在一個只讀存儲器中偷办。當(dāng)機(jī)器運(yùn)行時,一條有一條從存儲器中讀出這些指令澄港。
? ??時序產(chǎn)生器:時鐘源椒涯,環(huán)形脈沖發(fā)生器,節(jié)拍脈沖和存儲器讀/寫時序回梧,啟头掀瘢控制邏輯
同步控制方式:已定的指令在執(zhí)行時所需的機(jī)器周期和時鐘周期數(shù)都是固定不變的。
異步控制方式:每條指令狱意、每個操作控制信號需要多少時間就占用多少時間湖苞。
? ??一個適配器必有兩個接口:
一是和系統(tǒng)總線的接口,CPU和適配器的數(shù)據(jù)交換一定的是并行方式详囤;
二是和外設(shè)的接口财骨,適配器和外設(shè)的數(shù)據(jù)交換可能是并行方式,也可能是串行方式藏姐。
? ? RISC指令系統(tǒng):是目前計算機(jī)發(fā)展的主流隆箩,也是CISC指令系統(tǒng)的改進(jìn),它的最大特點是:1羔杨、指令條數(shù)少2捌臊、指令長度固定,指令格式和尋址方式種類少3问畅、只有取數(shù)/存數(shù)指令的訪問存儲器娃属,其余指令的操作均在寄存器之間進(jìn)行六荒。
? ??第一步就是判斷是什么指令,RR還是RS :有目標(biāo)寄存器和源寄存器對應(yīng)R型矾端。變址寄存器對應(yīng)S型掏击。
? ??第二步判斷是X字長X地址指令:一行就是單子長,兩行就是雙子長秩铆,幾個寄存器就是幾地址
? ??第三步看操作數(shù)OP:看op占了x位砚亭,然后就寫:有2的x次方種操作或條指令。
? ? 第四步判斷是尋址方式:如果一個是寄存器殴玛,一個空白的話捅膘,那么就寫一個操作數(shù)是寄存器尋址,一個是直接尋址滚粟;都是寄存器的話寻仗,那就是寄存器尋址
總線系統(tǒng)篇:
? ? 總線:構(gòu)成計算機(jī)系統(tǒng)的互聯(lián)機(jī)構(gòu),是多個系統(tǒng)功能部件之間進(jìn)行數(shù)據(jù)傳送的公共通路凡壤。借助于總線連接署尤,計算機(jī)在各系統(tǒng)功能部件之間實現(xiàn)-地址、數(shù)據(jù)和控制信息的交換亚侠,并在征用資源的基礎(chǔ)上進(jìn)行工作曹体。
? ?內(nèi)部總線:CPU內(nèi)部連接各寄存器及運(yùn)算部件之間的總線。系統(tǒng)總線:CPU同計算機(jī)系統(tǒng)的其他高速功能的部件硝烂,如存儲器箕别、通道等互相連接的總線。I/O總線:中低速I/O設(shè)備之間互相連接的總線滞谢。
? ? 單總線結(jié)構(gòu)容易擴(kuò)展成多CPU系統(tǒng)串稀。多總線結(jié)構(gòu)實現(xiàn)了高速、中速狮杨、低速設(shè)備連接到不同的總線上同時進(jìn)行工作厨诸,處理器結(jié)構(gòu)的變化不影響高速總線。
? ? 總線的仲裁:集中仲裁(菊花鏈?zhǔn)讲樵兒探础⒂嫈?shù)器定時查詢微酬、獨立請求)和分布仲裁
? ? 菊花鏈?zhǔn)讲樵兎绞剑簝?yōu)點:只用幾根線就能按照一定的優(yōu)先次序?qū)崿F(xiàn)總線控制,并且這種鏈?zhǔn)浇Y(jié)構(gòu)很容易擴(kuò)充設(shè)備颤陶;缺點:對詢問鏈的電路故障很敏感颗管,優(yōu)先級固定。
? ? 計數(shù)器定時查詢:優(yōu)點:計數(shù)器初值可以設(shè)定滓走,方便改變優(yōu)先級垦江。但是這種靈活性的代價就是增加線數(shù)。
? ? 獨立請求:優(yōu)點:相應(yīng)時間快搅方,對優(yōu)先級控制也相當(dāng)靈活比吭。
? ? 分布式仲裁:以優(yōu)先級仲裁為基礎(chǔ)绽族。
? ??總線的通信:就是決定共享總線的各個部件之間如何進(jìn)行通信、如何實現(xiàn)數(shù)據(jù)傳輸?shù)膯栴}
? ??同步通信:事件出現(xiàn)在總線上的時刻由總線時鐘信號來確定衩藤。由于采用公共時鐘吧慢,每個功能模塊什么時候發(fā)送或接收信息都由統(tǒng)一時鐘規(guī)定,因此,同步通信具有較高的傳輸頻率
????異步通信:后一事件出現(xiàn)在總線上的時刻取決于前一事件的出現(xiàn)赏表〖焓總線周期長度可變,不把響應(yīng)時間強(qiáng)加到功能模塊上允許快速和慢速的功能模塊連接到同一總線上瓢剿。以增加總線的復(fù)雜性和成本為代價的逢慌。
? ??系統(tǒng)總線上傳送的信息必須采用并行傳送方式;
? ? 總線帶寬計算:總線帶寬(MB/S)=(總線寬度(bit)/8)B*總線頻率(MHZ)
? ? 波特率(單位:波特)=比特位數(shù)*數(shù)據(jù)傳送速率
? ? 比特位占用的時間(單位:ms)是波特率的倒數(shù)间狂。