日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

微机知识总结

發布時間:2025/4/16 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微机知识总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

盡量盡量把點都涉及到
部分參考博客https://blog.csdn.net/shensiback/article/details/80903876

第一章


進制和進制轉換不說了,數電有詳細描述


1.馮諾依曼架構和哈佛架構(了解)

馮諾依曼架構特點:數據和指令都存在內存當中,可以充分的利用有限的內存空間,程序 執行方便, 但是對指令沒有讀寫限定,容易出現bug 主要結構:輸入設備,控制器,運算器,存儲器,輸出設備

哈佛架構特點:指令和數據分開存放,使之不會相互干擾,進而當程序出BUG的時候, 最多只會修改變量的值,而不會修改程序的執行順序(邏輯關系), 所以大量應用于嵌入式結構 (對處理速度要求不高?)


2.微型計算機系統組成
微型計算機系統{軟件系統{系統軟件應用軟件硬件系統{主機{CPU(微處理器){寄存器組控制器運算器存儲器總線IO接口外部設備微型計算機系統 \begin{cases} 軟件系統\begin{cases}系統軟件\\應用軟件\end{cases}\\ 硬件系統\begin{cases}主機\begin{cases}CPU(微處理器)\begin{cases}寄存器組\\控制器\\運算器\end{cases}\\存儲器\\總線\\IO接口\end{cases}\\外部設備\end{cases} \end{cases}??????????????????????????????????{?????????????????????????????????????????????CPU()???????IO???

硬件系統組成

1.微處理器(1)運算器:核心部件是算術邏輯單元(ALU),加法器為主,輔之以移位寄存器完成邏輯運算(2)控制器:由指令寄存器,指令譯碼器和操作控制電路組成(3)寄存器組:CPU的若干個存儲單元 2.存儲器又叫內存或主存,存放數據和程序 3.輸入輸出設備輸入輸出系統的硬件組成部分 4.總線結構組成數據總線DB(Data Bus)地址總線AB(Adress Bus)控制總線CB(Control Bus)注:數據和控制總線都是雙向的,地址總線是單向的

軟件系統組成

1.系統軟件操作系統(OS)和系統實時程序 2.應用軟件為用戶解決實際問題的程序

第二章


1.微處理器性能指標

1.工作頻率 CPU的時鐘頻率,主頻越高,運算速度越快 2.字長 CPU能同時處理的數據位數,如4位,8位,16位,32位,64位處理器

2.微處理器組成

1.運算器 由 算術邏輯單元(ALU) ,通用或專用寄存器及內部總線三部分組成 核心功能是實現數據的 算術運算 和 邏輯運算 結構有:單總線結構運算器,雙總線結構運算器,三總線結構運算器 2.控制器 由 程序計數器(存放下一條要執行指令在存儲器中的地址)指令寄存器(存放從存儲器中取出待執行的指令)指令譯碼器(指令譯碼)時序控制部件(產生計算機工作中所需要的各種時序信號)微操作控制部件(產生于各條指令相對應的微操作)組成 作用是控制程序的執行 (1)指令控制 (2)時序控制 (3)操作控制

3.8086/8088指令流水線

執行單元(EU)和總線接口單元(BIU) EU負責分析指令(指令譯碼)和執行指令,BIU負責取指令,取操作數和寫結果 優點:EUBIU的并行工作,減少CPU為取指令而等待的時間,提高了CPU的執行效率和運行速度 ,既降低了對存儲器存取速度的要求 重點是并行!!

4.分段管理技術

CPU內部結構是16位的,為了提高系統執行速度,便于存儲器管理,采用了段地址+偏移地址的尋址方法 (尋址能力提高了4)

5.物理地址和邏輯地址

物理地址是指CPU存取存儲器所用的地址,邏輯地址是段和偏移形式的地址,即匯編語言程序中使用的存儲器地址 已知物理地址,其邏輯地址不是唯一的,一個物理地址可以對應于不同的邏輯地址

6.8086的結構(重點)

從功能上8086分為兩部分,總線接口部分(BIU)執行部件(EU) a. 總線接口部件a) 416位的段地址寄存器i. CS 代碼段地址寄存器(Code)ii. DS 數據段地址寄存器(Data)iii. ES 附加段地址寄存器(Extra)iv. SS 堆棧段地址寄存器(Stack)b) 16位的指令指針寄存器 IPc) 20位的地址加法器 段地址x16+偏移地址d) 6字節的指令隊列緩沖器 b. 執行部件a) 4個通用寄存器 AXBXCXDXi. 累加器(Accumulator) AXii. 基址寄存器(Base) BXiii. 計數寄存器(Count) CXiv. 數據寄存器(Data) DXb) 4個專用寄存器i. 基數指針寄存器(Base) BPii. 堆棧指針寄存器(Stack) SPiii. 源變址寄存器(Source) SIiv. 目的變址寄存器 DIc) 標志寄存器 FLAGSd) 算數邏輯部件ALU (算術運算和邏輯運算)

7.8086的標志寄存器(清楚作用)

a. 狀態標識6個a) 符號標志 SF [運算結果的最高位為1SF=1]b) 零標志 ZF [當運算結果為0ZF=1]c) 奇偶標志 PF [當運算結果的低8位中1的個數為偶數時PF=1]d) 進位標志 CF [當進行加減法運算時,若最高位向前有進借位,則CF=1]e) 輔助進位標志 AF [在加減法操作中,D3D4有進借位發生是,AF=1]f) 溢出標志 OF [當算術運算的結果超過了帶符號數的范圍,即溢出時OF=1] b. 控制標志3個a) 方向標志 DF [方向標志位在是形成換操作指令時控制操作的方向,DF=1時按減地址方式進行]b) 中斷允許標志 IF c) 跟蹤標志 TF 有符號有意義:ZF SF PF OF 無符號有意義:PF ZF CF AF

8.8086最小工作模式配置(背)

a.18284A,作為時鐘發生器,提供時鐘信號和同步ready信號和reset信號 b.3828274LS273,用來作為地址鎖存器,暫存地址 c.28286/8287,作為總線收發器,增加數據總線的驅動能力 d.18086,作為微處理器,負責CPU對存儲器和IO端口的數據傳輸以及指令的執行最小模式下的引腳

9.8086最大模式配置(背)

a. 有兩個或多個8086,作為微處理器,功能同最小模式 b.18284A,作為時鐘發生器,功能同最小模式 c.3828274Ls273,用來做地址鎖存器,功能同最小模式 d.28286/8287,作為總線收發器,功能同最小模式 e.18288,作為總線控制器,控 制總線是否讓出 f.18259A,作為中斷控制器,控制是否處理中斷

8086系統中 BHE# 和 A0 引腳

1.AD15 ~ AD0 為地址/數據總線,T1 時用作地址總線的低 16 位,其他時間用作數據總線
2.A19 ~ A16 / S6 ~ S3為地址狀態總線,T1 時用作地址總線高 4 位,其他時間指示 CPU 狀態信息
3.34 號引腳 #BHE/S7 總線高允許 / 狀態信號,T1 時作為高允許信號,#BHE 低電平時把讀寫的 8 位數據與 AD15 ~ AD8 聯通,與 A0 結合以決定是高字節工作還是低字節工作。AD0 除了傳輸數據或地址信息還作為低 8 位數據的選通信號

奇地址:最低存儲單元地址為奇數——即地址最低位 A0 = 1
偶地址:最低存儲單元地址為偶數——即地址最低位 A0 = 0
8086 每個周期可以訪問 16 位信息,
變量地址為偶地址時,只需一個總線周期。
如果變量為奇地址時,則要兩個連續總線周期。
8086 的存儲空間時分成兩個 512K 的存儲體,偶存儲體和奇存儲體。
低 8 位 D7 ~ D0 數據總線聯接偶存儲體,
高 8 位 D15 ~ D8 數據總線聯接奇存儲體。
偶地址存儲時:一個 16 位字數據,高 8 位存儲在奇存儲體,低 8 位存儲在偶存儲體。
奇地址存儲時:相反。
這樣在讀或寫字數據時,
偶地址存儲方式:可以在一個總線周期完成讀寫。
奇地址存儲方式:讀寫時則有一個字節交換過程,也就是要用總線的高 8 位去讀寫字數據的低 8 位,再用總線的低 8 位讀寫字數據的高 8 位,需要兩個總線周期才能完成一個字數據的讀寫。

10.8086讀寫時序(要背這不科學,時序不是用來查的嗎,如果要考還是背一下吧)

1.工作周期 由4個時鐘周期組成,時鐘周期是CPU最基本的時間計量單位 4個時鐘周期稱為4個狀態:T1T2T3T4 T1狀態時ALE信號有效,作用為地址鎖存 Tw放在T3T4之間 插入Tw的個數取決于READY信號的持續時間 2.讀寫所用的信號線 WR#和RD#:寫信號和讀信號,低電平有效 IO/M#:低電平為存儲器操作,高電平為IO口操作 ALE:地址鎖存信號,高電平不鎖存為地址信號,下降沿鎖存 DEN#:數據允許信號,低電平有效 DT/R#:數據傳送方向控制信號,低電平接收數據,高電平發送數據 A8~A15:8位地址信號 AD0~AD7:8位地址/數據復用信號,ALE為高時為地址信號,DEN為低時為數據信號 3.讀寫工作時序 要進行讀寫存儲器操作時序: 讀存儲器:RD#拉低,WR#拉高,IO/M#拉低,DEN#拉低,DT/R#拉低 寫存儲器:RD#拉高,WR#拉低,IO/M#拉低,DEN#拉低,DT/R#拉高 讀寫IO時序:IO:RD#拉低,WR#拉高,IO/M#拉高,DEN#拉低,DT/R#拉低 寫IO:RD#拉高,WR#拉低,IO/M#拉高,DEN#拉低,DT/R#拉高

第三章


1.尋址方式是什么,有哪些?(要會判斷指令的類型)

尋址方式即獲得操作數地址的方法 有以下8種方法 a. 立即數尋址 MOV AX,3102Ha) 立即數只能作為源操作數,不能作為目的操作數 b. 直接尋址 MOV AX,[3102H]段地址默認為數據段 c. 寄存器尋址 MOV SI,AX d) 寄存器間接尋址 MOV AX , [BX] e) 寄存器相對尋址 MOV AX , [SI + 100] f) 基址加變址的尋址 MOV AX , [BX + SI] g) 相對的基址加變址尋址 MOV AX , [BP + SI + 100] h) 隱含尋址

數據傳送指令

1.通用數據傳送指令 (1)傳送指令MOV dset,src注意點1.兩個操作數字長必須相同2.兩個操作數不能同時存儲器操作數3.不能用立即數直接給段寄存器賦值4.兩個操作數不能同時為段寄存器 (2)堆棧指令push,pop必須是16位,只能是寄存器或存儲器操作數 (3)交換指令XCHG不能為段地址操作數 (4)查表指令XLAT查找元素序號放在AL2.輸入輸出指令IN,OUTIN直接尋址:I/O端口地址為8位寄存器間接尋址:端口地址為16,DX寄存器指定OUTALAX的內容輸出到端口DX用來存放端口,AX(AL)用來存放數據3.取址偏移地址指令LEA 4.其他傳送地址(了解)

算術運算指令

1.加法運算指令 (1)普通加法指令ADD (2)帶進位位的加法指令ADC ADDADC的區別就是ADC在運算時要把CF帶進去一起做運算 (3)1指令INC INC不影響CF2.減法運算指令 (1)不考慮借位的減法指令SUB (2)考慮借位的減法指令SBB (3)1指令DEC 常用于修改循環次數 (4)求補指令NEG (5)比較指令CMP 會對狀態位產生影響,后面一般跟條件轉移指令相等關系 若相等,ZF=1大小關系1.對于無符號數,由CF確定,若CF=0,前面一個大于后面一個2.對于有符號若符號相同,相減不會溢出(OF=0),判斷SFSF=0,前面一個大于后面一個若不相同,則可能溢出;若無溢出(OF=0),SF=0,前面一個大于后面一個若有溢出(OF=1),SF=1,前面一個大于后面一個 3.乘法指令MUL 4.除法指令DIV 5.其他運算指令

邏輯運算和移位指令

1.邏輯運算指令 (1)邏輯與指令AND (2)邏輯或指令OR (3)邏輯非指令NOT (4)邏輯異或指令XOR (5)測試指令TESTAND邏輯相同,但不將與的結果送到目標操作數,對標志位有影響2.移位指令 (1)非循環移位指令1.算術左移和邏輯左移指令SAL/SHL2.算術右移和邏輯右移指令SAR/SHR (2)循環移位指令1.不帶CF的循環左移和右移指令ROL/ROR2.CF的循環左移和右移指令RCL/RCR

串操作指令

1.重復操作前綴(1)REP:無條件重復前綴,重復執行指令規定的操作,直到(CX=0(2)REPE/REPZ:相等/結果為零時重復,ZF=1,且CX不等于0時重復(3)REPNE/REPNZ;不相等/結果不為零時重復,ZF-0,且CX不等于0時重復 2.串操作指令(1)串傳送指令串傳送指令有三種指令格式MOBS,MOVSB,MOVSWMOVSB一次傳送一個字節(2)串比較指令串比較指令有三種格式CMPS,CMPSB,CMPSWCNMSB按字節進行補繳,CMOSW按字進行比較(3)串掃描指令(4)串裝入指令(5)串存儲指令

程序控制指令

1.無條件轉移指令JMP(1)段內直接轉移(2)段內間接轉移 改IP(3)段間直接轉移(4)段間間接轉移 2.條件轉移指令JCC<條件轉移指令表> P138 3.循環控制指令(1)LOOP (2)LOOPZ指令(3)LOOPNZ指令 4.過程調用和返回(1)段內直接調用CALL(2)段內間接調用(3)段間直接調用(4)段間間接調用(5)返回指令RET 5.中斷指令(1)中斷指令INT(2)中斷返回指令IRET

程序題代碼

;1.求兩個無符號雙字節長數之和,兩數分別放在MEM1MEM2中,和放在SUM;程序 DATA SEGMENTMEM1 DW 1122H,3344HMEM2 DW 5566H,7788HSUM DW 2 ? DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AX ;取數據段地址LEA BX,MEM1 ;MEM1首地址LEA SI,MEM2 ;MEM2首地址LEA DI,SUM ;SUM首地址MOV CL,2 ;LOOP兩次CLC ;CF標志位 AGAIN:MOV AX,[BX];MEM1數據放到AXADC AX,[SI];加上MEM2MOV [DI],AX;將結果送到SUMADD BX,2;地址+2ADD SI,2;地址+2ADD DI,2;地址+2LOOP AGAINHLT ;暫停指令 CODE ENDSEND START;2.找最大值(無符號類型);程序 DATA SEGMENTARRAY DB 2,0,3,4,5,6,7,8,9MAX DB DUP(?) DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROCMOV AX,DATAMOV DS,AX;取數據段地址MOV BX,0MOV AL,ARRAY[BX];將第一個數存到ALMOV CX,9;循環9MOV BX,1;指向第二個數 NEXT:CMP AL,ARRAY[BX];比較JNB XXX;JNB不低于,也可以用JAEMOV AL,ARRAY[BX];將較大的數放到AL XXX:INC BX;如果較大數不變,則跳轉至此LOOP NEXTMOV MAX,AL;最大數送到MAX MAIN ENDP CODE ENDSEND MAIN;3.找最大值(有符號型);程序 DATA SEGMENTARRAY DB 34H,2,3,4,5,6,7,8,9MAX DB DUP(?) DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROCMOV AX,DATAMOV DS,AXMOV BX,0MOV AL,ARRAY[BX]MOV CX,9;循環9MOV BX,1 NEXT:CMP AL,ARRAY[BX]JNL XXX;JNL不小于,也可以用JGEMOV AL,ARRAY[BX] XXX:INC BXLOOP NEXTMOV MAX,AL MAIN ENDP CODE ENDSEND MAIN;4.兩個數組相減到另一個數組中;程序 ;不考慮相減為0情況 DATA SEGMENTARRAY1 DB 14H,2,3,4,5,6,7,8,9,2ARRAY2 DB 12H,4,5,6,7,8,9,0,1,3ARRAY3 DB 10 DUP(?) DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROCMOV AX,DATA;取數據段地址MOV DS,AXMOV BX,0;指向第一個數MOV CX,10;循環10NEXT:MOV AL,ARRAY1[BX];將第一個數放至ALSUB AL,ARRAY2[BX];用第一個數減去第二個數JZ XXXMOV ARRAY3[BX],ALINC BXLOOP NEXT XXX:HLT MAIN ENDP CODE ENDSEND MAIN;考慮相減為0情況 DATA SEGMENTARRAY1 DB 14H,2,3,4,5,6,7,8,9,2ARRAY2 DB 12H,2,5,6,7,8,9,0,1,3ARRAY3 DB 10 DUP(?) DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROCMOV AX,DATA;取數據段地址MOV DS,AXMOV BX,0;指向第一個數MOV CX,10;循環10NEXT:MOV AL,ARRAY1[BX];將第一個數放至ALSUB AL,ARRAY2[BX];用第一個數減去第二個數MOV ARRAY3[BX],AL;考慮相減為0情況INC BXLOOP NEXTMAIN ENDP CODE ENDSEND MAIN

接口題代碼

;1.61162Kx8bit) 地址61000H~61FFFH 電路;程序要求:將存儲空間寫滿55H;-----main code------ MOV AX,6100H MOV DS,AXMOV AL,55H MOV CX,1000H NEXT:MOV [BX],ALINT BXLOOP NEXT ;-----main code------;2.8253計數器 地址D0D0H~D0D3;程序要求:初始化計數器0初值20,方波發生器,計數器1初值2000,頻率發生器,計數器2初值1000,頻率發生器 ;-----main code------ MOV DX D0D3H MOV AL,00010110B;計數器0,低8位計數,工作方式3,二進制 OUT DX,AL;寫控制字 ;寫計數器0初值 MOV DX,D0D0H MOV AL,20 OUT DX,ALMOV DX D0D3H MOV AL,01110100B;計數器1,雙字節計數,工作方式2,二進制 OUT DX,AL;寫控制字 ;寫計數器1初值 MOV DX,D0D1H MOV AX,2000 OUT DX,AL MOV AL,AH OUT DX,ALMOV DX D0D3H MOV AL,10110100B;計數器1,雙字節計數,工作方式2,二進制 OUT DX,AL;寫控制字 ;寫計數器2初值 MOV DX,D0D2H MOV AX,1000 OUT DX,AL MOV AL,AH OUT DX,AL ;-----main code------;3.8255點燈 地址80~83H;程序要求:讀入按鍵,控制燈;-----main code------ MOV AL,10010000B;PA口讀,PB口寫 OUT 83H,AL;寫控制字NEXT:IN AL,80H;讀取PA端口AND AL,111BCMP AL,100B;后兩個按下JNE NEXT1MOV AL,011B;點亮第一個OUT 81H,ALJMP NEXTNEXT1:CMP AL,000B;全部按下JNE NEXT2MOV AL,110B;點亮最后一個OUT 81H,ALJMP NEXTNEXT2:MOV AL,101B;點亮中間一個OUT 81H,ALJMP NEXT ;-----main code------;4.8255 打印機 地址FBC0~FBC3H;-----main code------ MOV AL,10000001B;PA輸出,PC輸入 MOV DX,FBC3H OUT DX,AL;寫控制MOV AL,00001101B;高四位默認01101PC6置1 OUT DX,AL;PC控制MOV CX,COUNT;自定義長度 MOV SI,OFFSET DATA;獲取首地址 NEXT:MOV DX,FBC2H;pc口使能WAIT1:IN AL,DX;讀取PCTEST AL,10BJNZ WAIT1;等待busyMOV AL,[SI]MOV DX,FBC0HOUT DX,AL;輸出數據MOV DX,FBC2HMOV AL,0OUT DX,ALMOV AL,40HOUT DX,AL;pc6寫一個負脈沖INC SI;地址+1LOOP NEXTHLT ;-----main code------ 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的微机知识总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。