最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

王道計算機考研 計算機組成原理

2023-05-12 13:32 作者:SJNeking  | 我要投稿

不全 慎用https://www.aliyundrive.com/s/b6JmZQ7toTG



自?。?/p>

截屏不是目的,是記錄當下自己是否真的靜心去聽課,把害怕遺忘交給軟件,不至于每次都倒在離開始不遠處的地方。



https://www.aliyundrive.com/s/b6JmZQ7toTG

引入

常識


CPU

內(nèi)存

硬盤








計算機系統(tǒng)概述











邏輯元件的更替




這個地方舉的例子很恰當



?
1.2_1_計算機硬件的基本組成 P4 - 14:38
?



?
1.2_2_各個硬件的工作原理 P5 - 00:09
?



非常形象




?
1.2_2_各個硬件的工作原理 P5 - 11:23
?











?
1.2_3_計算機系統(tǒng)的層次結(jié)構(gòu) P6 - 00:05
?





?
1.3_計算機的性能指標 P7 - 00:05
?





吞吐量與食堂打飯,還是有點形象的,吞吐量是個相對寬泛的概念。



數(shù)據(jù)的表示和運算


數(shù)制之間的轉(zhuǎn)換






注意字母結(jié)尾方式的進制考察

進制轉(zhuǎn)換比較簡單,多練習即可




權(quán)重不同進行的分類,








每天不要花太多時間去學習新的內(nèi)容。


減數(shù)看作加上一個數(shù)的相反數(shù)。

12 - 3 = 12 + (15 - 3 + 1) - 16(后面減去16表示的是溢出部分)別刻意去記憶規(guī)則


0011 + 1100 = 1111 = 15



帶符號整數(shù)


高位表示符號為,能表示的合法范圍減半


?
2.1_4_帶符號整數(shù)的表示和運算_原反補 P11 - 07:50
?

符號位是人為定義的,對于機器而言并沒有符號這個概念可言。所以在執(zhí)行減法,需要另辟蹊徑


思考:反碼為什么只對負數(shù)起作用,還是那個思路,負數(shù),即減去一個數(shù),需要將其轉(zhuǎn)化為加上一個數(shù)的相反數(shù)

不建議將補碼轉(zhuǎn)換為反碼

非常實用的技巧










定點小數(shù)


?
2.1_7_定點小數(shù) P14 - 03:20
?

逗號隔開整數(shù)、小數(shù)點隔開小數(shù)



把前面的小Tips好好操練,可以看看計組課本的相應內(nèi)容,補碼概念來源于"模概念"

對于計算機而言,不管是整數(shù)還是小數(shù),都是用的同一套邏輯進行加減運算。




?
2.2_0_奇偶校驗碼(大綱已刪) P15 - 00:03
?

傳輸校驗



多位發(fā)生錯誤校驗可能失效

異或運算

偶數(shù)個比特發(fā)生錯誤無法檢測。



?
2.2_1_電路的基本原理、加法器設計 P16 - 00:03
?

程序狀態(tài)字寄存器(PSW):用于保留由算術邏輯運算指令或測試指令的結(jié)果而建立的各種狀態(tài)信息。

M = 0 : 執(zhí)行算數(shù)運算

M = 1 : 執(zhí)行邏輯運算

指令譯碼器

機器字長的本質(zhì),跟ALU同時能夠處理的位數(shù)有關

X寄存器的位數(shù)與ALU位數(shù)保持一致

數(shù)字邏輯設計里面的內(nèi)容

簡化邏輯表達式可以相應的簡化電路,邏輯清晰,也降低了成本



異或的天然邏輯:

加法(0+0=0, 0+1=1, 1+0=1, 1+1 = 10(溢出需要被保存))

奇偶校驗:奇數(shù)個1結(jié)果為1,其余皆為0

晚上自己分析一下邏輯表達式繪制一下這個邏輯電路圖試試

FA

FA : Full Adder

串行加法器的效率較低

類似于人手工計算


?
2.2_2_并行進位加法器 P17 - 00:04
?

串行進位加法器的缺點

挺有意思,并發(fā)思想

慎用并發(fā),方便但復雜

貼個這個圖,放平心態(tài),哈哈!


?
2.2_3_補碼加減運算器 P18 - 00:00
?




最高位產(chǎn)生的進位信息被保留

加法器的位擴展,進位給另一個加法器,高位溢出部分成了另一個加法器的Cin

-8-7: 4bit裝不下的原因是,高位作為符號位會獨占一位,2的三次方加一個符號位,最小的負數(shù)表示位-8,

?
2.2_3_補碼加減運算器 P18 - 09:38
?






Sub中的0/1,即作為多路選擇器的判斷條件,又作為Cin的進位數(shù)值,這樣的設計還是非常巧妙地。

這里面產(chǎn)生了一個疑惑點,假設Y本身就是有符號的負數(shù),而X和Y之間是X+Y的關系,上面有給例題,分析分析,上面的X+Y有些問題。

A+B

A-B

3+2

3+(-2)

3-2

(-3)-2


該電路也可以用于無符號數(shù)的加減法



?
2.2_4_標志位的生成 P19 - 00:37
?

今天到這里,暫停一下



?
2.2_5_定點數(shù)的移位運算 P20 - 00:02
?



0 2 4 6 8 16 32 64 128 256 512 1024

左移是擴大兩倍,右移是減小兩倍

注意符號位








高字節(jié)低字節(jié)調(diào)換

大端模式和小端模式存儲(以前用Matlab處理地震數(shù)據(jù)碰到過),原來是實用循環(huán)移位的方式進行數(shù)據(jù)的轉(zhuǎn)換的


?
2.2_6_1_原碼的乘法運算 P21 - 00:04
?


移位相加,權(quán)重不一樣,才會錯位

異或進行符號位的單獨


老師講解的特別清晰,自己手動也模擬了一下。

乘法被轉(zhuǎn)換為:加法+移位操作,簡化了手動計算的復雜。ACC最為累加器,一直在保留中間的結(jié)果。MQ保留乘積低位也在這里有所解釋,即部分積

雙符號位建議(保持與補碼乘法一致)

最好寫出原碼機器數(shù)

一定要自己手動推導一遍,看看自己哪里自己沒有清楚。

這部分雖然十幾分鐘,我花了差不多一個小時自己去推導理解。還是很受用的

+0與+|x|,確定清楚,最后一步確定符號位:異或方式


?
2.2_6_2_補碼的乘法運算 P22 - 00:03
?

輔助位,MQ需要擴展一位


輔助電路


補碼這個地方需要自己深究一下,補碼本質(zhì)上是(原數(shù)+模)%模, 所以正數(shù)的補碼位自己。補碼參與運算如何去原碼運算保持一致,自己分析一下再看


已手動分析完過程

?
2.2_7_1_原碼的除法運算 P23 - 00:05
?

還沒開始看視頻,從乘法采用移位的方式,除法則同理,相應的會有一些精度損失。




迷糊

二進制中只有上0和1,敢不敢將相應的邏輯電路講講?

單圖重復用,還是同樣的結(jié)構(gòu)

計算機在試探,跟人一樣,自動恢復錯誤的步驟,

ACC符號位為1,負,需要進行恢復

自檢



左移



商的結(jié)果在MQ里面

計算機默認上商

能否不恢復余數(shù)???

簡化中間步驟


加減交替法,最后還是需要與恢復余數(shù)法一樣進行正負判斷,對于負數(shù)依舊需要恢復

定點小數(shù)除法運算,前提條件,商也是一個定點小數(shù),規(guī)定,被除數(shù)需要小于除數(shù),判斷條件:第一步的商進行確定。

?
2.2_7_2_補碼的除法運算 P24 - 00:18
?

原碼的出發(fā)運算,符號位單獨運算

補碼除法依舊采用雙符號位方式,將符號位直接參與到運算當中。

末位商恒指為1,省事,跟原碼商比起來



?
2.2_8_C語言類型轉(zhuǎn)換 P25 - 00:08
?

這部分比較簡單

有符號與無符號

截斷處理,低位保留

符號擴展,高位補0補1,看符號情況


?
2.2_9_數(shù)據(jù)的存儲和排列 P26 - 00:04
?

大小端模式,前面講到可通過循環(huán)移位的方式進行轉(zhuǎn)換

大端存儲方式符合人類的習慣

小端方式方便機器進行處理,內(nèi)存地址遞增的方式進行處理,先從低位開始進行處理

邊界對齊以前在某本C語言書看到過,作者闡明大部分人不是非常了解邊界對齊這個規(guī)則。像C語言中的結(jié)構(gòu)體,不同的數(shù)據(jù)類型連續(xù)存儲

剛好也講到哈哈

用邊界對齊的方式其實更好訪問,所以對于結(jié)構(gòu)體型,中間存在很多空的數(shù)據(jù),造成空間上的浪費。

邊界對齊方式:空間換取時間

邊界不對齊方式:時間換取空間

具體情況具體使用



?
2.3_1_浮點數(shù)的表示 P27 - 00:05
?





有限空間內(nèi),保留數(shù)據(jù)精度,如何進行優(yōu)化,引出浮點數(shù)尾數(shù)的規(guī)格化




浮點數(shù)確定真值


計算機浮點數(shù)的統(tǒng)一規(guī)則,引出標準

?
2.3_2_IEEE 754 P28 - 00:01
?

https://zhuanlan.zhihu.com/p/343033661

在深入Java學習的時候,有了解了一下IEEE754標準,對于認識Java的float和double有了比較清晰的認識,以上專欄系列文章可以去自習查閱。這部分我就直接跳過了。


關于第二章,還是可以看到,算數(shù)運算還是根據(jù)數(shù)學經(jīng)驗在數(shù)字邏輯單元上進行實現(xiàn)。符合人類思維的東西,比如正負數(shù),對于計算機而言,一概是陌生的。補碼的引入,核心還是對于模這個概念的正確認識,模的概念在數(shù)據(jù)結(jié)構(gòu)棧這種數(shù)據(jù)結(jié)構(gòu)中會有所體現(xiàn)。將負數(shù)轉(zhuǎn)換為正數(shù),多余部分溢出可以不去理會。而對于需要存儲中間數(shù)據(jù)的量,都會設計相應的邏輯原件。這樣在去對照之前關于算數(shù)邏輯單元,每個寄存器所具備的職能,就不需要去死記硬背,每個邏輯器件的設計都有它的核心理由?,F(xiàn)在寫的還是相對比較雜亂,只是停下來思考一下,將這三天的學習,大概在腦子里面過一下,后面還是得看課本和刷題加深理解。

可以開展后面的章節(jié)了。



存儲器


?
3.1_存儲系統(tǒng)基本概念 P30 - 00:10
?

流水線模式~傳遞提高效率


主存輔存:實現(xiàn)虛擬存儲習題,解決主存容量不夠的問題





相聯(lián)存儲器(Associative Memory)即可以按內(nèi)容訪問的存儲器(Content Addressed Memory, CAM) 可以按照內(nèi)容檢索到存儲位置進行讀寫,“快表”就是一種相聯(lián)存儲器





?
3.1_存儲系統(tǒng)基本概念 P30 - 24:15
?




?
3.2_1_主存儲器的基本組成 P31 - 00:04
?



哈工大劉宏偉老師講的這個部分挺好的


讀寫線的個數(shù)

譯碼驅(qū)動器,放大信號

片選線,指定存儲

引腳的數(shù)目


矩陣化



?
3.2_2_SRAM和DRAM P32 - 00:03
?



雙穩(wěn)態(tài)觸發(fā)器

這個月補一下數(shù)字邏輯設計,加深對硬件的理解





刷新周期(2ms如果題目沒有給)



DDR3、DDR4



?
3.2_3_只讀存儲器ROM P33 - 00:38
?



云存儲主要使用機械硬盤

以前我記得買手機插內(nèi)存卡


?
3.3_1_主存儲器與CPU的連接 P34 - 00:12
?


現(xiàn)代計算機結(jié)構(gòu)


WE:Write Enable

并聯(lián)

改造前

改造后

A13與A14同為1,發(fā)生沖突


優(yōu)化

非門引入

3-8譯碼器 (2^3)

2-4譯碼器

低位->高位

實際題目:A15與A13(考試中可能遇見)

位擴展:存儲器的字長增加,更好的發(fā)揮數(shù)據(jù)總線的傳輸能力

字擴展:增強存儲器的存儲字數(shù),可以更好的理解CPU的尋址能力



兩片芯片為一組進行位擴展

24譯碼器,



?
3.3_1_主存儲器與CPU的連接 P34 - 28:43
?

使能端

多個使能端





74ls138譯碼器

?
3.3_2_雙端口RAM和多模塊存儲器 P35 - 00:04
?


先考慮單核問題,再考慮多核問題





?
3.3_2_雙端口RAM和多模塊存儲器 P35 - 20:22
?




假設四個通道,二四或者一三插入,原來是低位交叉編址

主頻一致,協(xié)同,主頻不一致,高頻的會進行降頻處理,發(fā)揮不了原本性能。


?
3.4_1_磁盤存儲器 P36 - 00:08
?


想起考察角速度線速度。。。。。。

水平方向和垂直方向

機械硬盤沒事不要甩了,磁頭很脆弱。

道密度,磁道

位密度,線速度=角速度*R,每個磁道存儲的比特信息相同












磁盤冗余陣列重點



?
3.4_2_固態(tài)硬盤SSD P37 - 00:19
?


映射關系可發(fā)生改變,也就是重新編號

磨損均衡技術:重新進行映射



?
3.5_1_Cache的基本概念和原理 P38 - 00:07
?



列存儲,指針移動的跨度比較大



不同的訪問策略,速度不一樣





?
3.5_2_Cache和主存的映射方式 P39 - 00:04
?









?
3.5_3_Cache替換算法 P40 - 00:08
?





抖動現(xiàn)象,讓我想起前端里面的防抖debounce,輸入框里面輸入的字符很快被打印出來,頻繁打印, 本來想輸入名字,然后變成一個字一個字的連續(xù)組合,造成多行. 這種快速調(diào)用也會造成一定的困擾.


做題的思路

步驟需要理清

4個存儲塊,計數(shù)器數(shù)只在{0,1,2,3}這個集合元素中


計數(shù)器數(shù)可能非常大




?
3.5_4_Cache寫策略 P41 - 00:22
?

Cache與主存一致性的問題

Cache中的副本修改了,如何與主存保持一致?


寫命中

緩沖Buffer, SRAM(雙穩(wěn)態(tài)觸發(fā)器)


寫不命中


三級緩存(Cache)

分層管理提效,計算機系統(tǒng)稱之為系統(tǒng)當之無愧



?
3.6_1_頁式存儲器 P42 - 00:04
?

與操作系統(tǒng)第三章部分高度重合,容易聯(lián)合考察






快表:相聯(lián)存儲器,按內(nèi)容尋訪,SRAM(雙穩(wěn)態(tài)觸發(fā)器)

問題會傳遞,跟Cache進行對照

結(jié)合操作系統(tǒng)進行學習



?
3.6_2_虛擬存儲器 P43 - 00:09
?

重點在操作系統(tǒng)中

硬件等級森嚴


虛擬化






功能模塊為依據(jù)進行拆分


可以停一兩天消化一下



?
4.1_1_指令格式 P44 - 00:18
?





后綴表達式




小結(jié):












?
4.2_1_指令尋址 P46 - 00:10
?


PC+1,通常情況下取指令,注意條件

PC+2,注意條件是什么才加2



---------------------------------------------------

跳躍尋址




?
4.2_2_數(shù)據(jù)尋址 P47 - 00:03
?







直接尋址


間接尋址

指針套娃


寄存器尋址


寄存器間接尋址


立即尋址

字面量

匯編 #數(shù)字, 立即數(shù),非地址

小結(jié)


偏移尋址

main函數(shù)為起點

進程控制塊PCB中




變址尋址



普通程序員可以修改


系統(tǒng)分配的基地址+變址尋址的 復合

相對尋址

以PC為基準解讀為:A是相對于下一條地址的偏移量,因為PC會自動+1

跳轉(zhuǎn)修改了PC值,局部性(封裝的味道)

一段代碼在程序中的內(nèi)部浮動


講的有點問題,不妨礙理解



堆棧尋址




?
4.3_1_高級語言與機器級代碼之間的對應 P50 - 00:58
?

What, How, Where


玩倒裝。。。

double word

 ptr: pointer縮寫 即指針

C語言好像也喜歡用ptr進行指針命名

Extended 擴展的

X通用寄存器

老師講的很清晰

ESI/EDI

EBP/ESP


AH(high高位)/AL(low低位)

考試常見32bit


寄存器間接尋址

[ebx+8]偏移




再次分析真題

ebp basepointer , 入棧

cmp:compare



?
4.3_2_常用的x86匯編指令 P51 - 00:04
?

算數(shù)、邏輯、轉(zhuǎn)移等等

英語命令習慣倒裝,想想SQL

SELECT

FROM

WHERE

中文,從哪兒,拿什么,Where定語

imul:integer

有無i, 即有無符號


除法,放被除數(shù),隱含尋址。

聯(lián)想前面的除法運算,余數(shù)被放在ACC里面,商被放在MQ里面,也是需要兩個寄存器。

既然ABCD寄存器差不多,為何是AD寄存器的組合?

指令理解英語意思,記憶前綴即可

王道也用前綴代指

X86不允許兩個操作數(shù)同時來自主存






?
4.3_3_AT&T格式和Intel格式 P52 - 00:09
?



重點關注Intel格式

參考:https://zhuanlan.zhihu.com/p/54821702



?
4.3_4_選擇語句的機器級表示 P53 - 00:05
?


常量、寄存器、主存


封裝思想

goto:?來源


等價于



?
4.3_4_選擇語句的機器級表示 P53 - 19:27
?

減法,補碼運算,

幾個標志需要好好區(qū)分一下。



?
4.3_5_循環(huán)語句的機器級表示 P54 - 00:11
?


ecx默認指定自減操作




?
4.3_6_1_Call和ret指令(函數(shù)調(diào)用的機器級表示) P55 - 00:17
?




?
4.3_6_2_如何訪問棧幀(函數(shù)調(diào)用的... P56 - 00:04
?









簡單粗暴的mov指令



?
4.3_6_3_如何切換棧幀(函數(shù)調(diào)用的... P57 - 00:20
?








?
4.3_6_4_如何傳遞參數(shù)和返回值(函... P58 - 00:04
?






前面有講mov的兩個操作數(shù)不能同時來自于主存







?
4.4_CISC和RISC P59 - 00:03
?




中央處理器


?
5.1_CPU的功能和基本結(jié)構(gòu) P61 - 00:04
?



專用數(shù)據(jù)通路方式

單總線方式

同時傳入總線會產(chǎn)生沖突


等待輸入信號的穩(wěn)定



灰色部件用戶不可見




?
5.2_指令周期的數(shù)據(jù)流 P62 - 00:29
?


上節(jié)課談到每個指令執(zhí)行結(jié)束后都需要進行中斷檢查













?
5.3.1_數(shù)據(jù)通路-單總線結(jié)構(gòu) P63 - 00:26
?



寄存器與寄存器之間

寄存器與存儲器之間

寄存器與ALU之間

三種數(shù)據(jù)流動方式

答題注明那些控制信號有效



間址周期,教材不一樣會不同的表示,不需要過度糾結(jié),計組應用科學,沒有標準答案






?
5.3.2_數(shù)據(jù)通路-專用通路結(jié)構(gòu) P64 - 00:03
?

例題分析不截圖,自行分析


?
5.4.1_硬布線控制器的設計 P65 - 00:29
?





問題引入,M(MAR)->MDR在取指周期的不同階段會被重復使用,如何設計相應的電路?

LDA X,loda data ->ACC,由邏輯表達式推演相應的電路(數(shù)字邏輯設計中的內(nèi)容)


ID,也可以叫做操作碼譯碼器

微操作,解決問題的分解步驟,計算機只能做確定性的事情。

將不同指令執(zhí)行周期過程中的相同微操作進行統(tǒng)一管理,形成一個模塊,減少了實際電路實現(xiàn)的冗余。

安排微操作時序


電路設計(組合邏輯設計)

IND:是否處于間址周期

EX:當前是否處于執(zhí)行周期


總結(jié)

硬布線控制器適合RISC



?
5.4.2_微程序控制器的基本原理 P66 - 00:06
?







?
5.4.3_微指令的設計 P67 - 00:03
?








?
5.4.4_微程序控制單元的設計 P68 - 00:04
?


Another






?
5.6_1_指令流水線的基本概念 P69 - 00:12
?









?
5.6_2_指令流水線的影響因素和分類 P70 - 00:04
?

MIPS


Instruction Cache

Data Cache



NOP: 空操作,編譯器的范疇,插入多少空指令

中間數(shù)據(jù)直接作為下一步操作的輸入,需要額外添加邏輯部件

*編譯優(yōu)化

提前形成條件碼,與并行加法器類似(提前產(chǎn)生進位)

第四種是對第一種方法的優(yōu)化

小結(jié)


?
5.6_2_指令流水線的影響因素和分類 P70 - 34:05
?

多CPU工作



與亂序發(fā)射進行對比,空分復用技術

時分復用技術




?
5.6_3_五段式指令流水線 P71 - 00:02
?

空段依舊需要消耗相應的時間


運算類


Load


Store


條件轉(zhuǎn)移指令


無條件轉(zhuǎn)移指令

盡早發(fā)現(xiàn)控制沖突


例題

指令流水線大題常考,具備一定難度


?
5.7_1_多處理器系統(tǒng)的基本概念 P72 - 00:02
?



向量運算,解線性方程(參數(shù)非常多)





共享物理地址空間


地址空間相互獨立



?
5.7_2硬件多線程的基本概念 P73 - 00:05
?

線程切換,保存恢復寄存器的值




?
6.1_1_總線概述 P74 - 00:03
?

發(fā)送互斥

拆過。。。



總線的定義


總線的特性


總線的分類


1.數(shù)據(jù)傳輸方式分類

并行適合近距離傳輸,串行適合長距離傳輸(抗干擾能力強)


2.功能分類





?
6.1_1_總線概述 P74 - 23:24
?


?
6.1_2_總線的性能指標 P75 - 00:04
?




剔除附加信息



例題





小結(jié)



?
6.2_總線仲裁(408不考,簡單了解即可) P76 - 00:02
?


鏈式查詢方式

操作系統(tǒng)饑餓問題,游戲機舉例(形象)


計數(shù)器查詢方式

循環(huán)計數(shù),或軟件設置更復雜的計數(shù)方式


獨立請求方式

大哥小弟游戲機,不同方式



分布仲裁方式



?
6.3_總線操作和定時 P77 - 00:04
?

時序安排



跟計算機網(wǎng)絡中的通信方式有些類似

同步定時方式


異步定時方式

互鎖,相互制約


半同步通信


分離式通信


小結(jié)


?
6.4_總線標準(408不考,簡單了解即可) P78 - 00:10
?


大體上說:北橋負責與CPU通信,且連接高速設備(內(nèi)存/顯卡),并與南橋通信;南橋負責與低速設備(硬盤/USB)通信,時鐘/BIOS/系統(tǒng)管理/舊式設備控制,并與北橋通信。


系統(tǒng)總線標準(大致了解即可)


局部總線標準

GUI

VESA完全受到CPU的控制

串行傳輸


設備總線標準





雙絞線(麻花。。)






多個數(shù)據(jù)通路,數(shù)據(jù)包同時傳輸

串行傳輸逐漸取代了并行傳輸



?
7.1_1_輸入輸出系統(tǒng)和IO控制方式 P79 - 00:03
?





CPU作為中轉(zhuǎn)站進行數(shù)據(jù)的中轉(zhuǎn)







?
7.1_2_外部設備 P80 - 00:08
?

顯存計算*




高中物理。。。







?
7.2_IO接口 P81 - 00:02
?









?
7.3_1_程序查詢方式 P82 - 01:20
?



?
7.3_2_中斷的作用和原理 P83 - 00:06
?

原子操作



中斷優(yōu)先級

通常使用硬件排隊器進行判優(yōu)





?
7.3_3_多重中斷 P84 - 00:01
?




















王道計算機考研 計算機組成原理的評論 (共 條)

分享到微博請遵守國家法律
红原县| 泽普县| 汾阳市| 得荣县| 张北县| 崇义县| 师宗县| 大埔区| 大同市| 都安| 金昌市| 榆中县| 秭归县| 民和| 西林县| 舟曲县| 长宁区| 汉源县| 永修县| 琼中| 洛扎县| 福泉市| 松原市| 偏关县| 郧西县| 永寿县| 潍坊市| 抚松县| 华池县| 邮箱| 三门县| 宣汉县| 平定县| 定兴县| 河北省| 新丰县| 广州市| 苏尼特右旗| 石泉县| 阳谷县| 仁化县|