X86架構面試複習知識點

原文鏈接:https://blog.csdn.net/weixin_38428439/article/details/90522342

1、數據操作

(1)原碼、補碼、反碼,浮點數表示方法

(2)BCD碼、補碼運算、溢出與判斷、BCD碼運算和十進制調整

(3)計算機的經典結構——馮諾依曼體系:

<1>計算機由運算器、控制器、存儲器、輸入設備和輸出設備五大部分組成

<2>數據和程序已二進制形式不加區別的放在存儲器中,存放位置由地址決定

<3>控制器是根據存放在存儲器中的指令序列即程序來工作的,並由一個程序計數器來控制指令的執行

2、一臺計算機的組成部分有微處理器(運算器和控制器)、存儲器(RAM和ROM)、I/O設備接口(輸入輸出設備)和總線(地址總線、數據總線和控制總線)。

微處理器:算術邏輯單元(ALU),累加器、累加鎖存器和暫存器,標誌寄存器,寄存器組(專用寄存器和通用寄存器),堆棧和堆棧指針SP,程序計數器PC(用於存放下一條要執行的指令的地址碼,但代碼段寄存器(CS)和指令指針寄存器(IP/EIP)結合來給出待執行指令的地址)。

存儲器:又稱內存和主存。按工作方式,內存分爲兩大類:

隨機存取存儲器RAM(Random Access Memory):可以被CPU隨機的讀寫,但斷電後所存儲消息會消失。

只讀存儲器ROM(Read Only Memory):只能被CPU隨機讀取,而不能寫入。斷電後信息不會消失。

總線:數據線、地址線和控制線。在系統中,除了CPU有控制使用總線的能力外,DMA控制器和協處理器等設備也有控制和使用總線的能力,稱其爲“總線主控設備”

3、衡量計算機的標準:

(1)字長:計算機內部一次可以並行處理的二進制數的位數。一般一臺計算機的字長決定於它的通用寄存器、內存儲器、ALU的位數和數據總線的寬度。386/486的字長爲32位。

(2)存儲器容量:8比特(b,bit)是1字節(B,Byte),那麼1024B爲1KB,1024KB爲1MB.

(3)運算速度:每秒鐘可以執行的指令條數。有三種衡量方法:(1)MIPS(百萬條指令/s)法(2)最短指令法(3)直接計算

4、X86系列的微處理器(CPU)

(1)8086是X86的第一代處理器,其數據線是16位,地址線是20位

(2)X86的微處理器內核由執行控制單元EU(Execution Uint)和總線接口單元BIU(Bus Interface Unit)構成。EU由運算器(ALU)、寄存器陣列、控制器等組成,負責指令的執行,包括算術運算、邏輯運算和16位有效地址的EA運算,然後將執行結果傳輸給BIU。BIU是EU與外部總線之間的接口單元,由段寄存器、指令指針、地址形成邏輯、總線控制邏輯和指令隊列組成,負責與系統總線及預處理指令打交道,並計算20位的物理地址。兩者各自獨立工作,採用指令流水線(並行)方式進行工作。

(3)X86的CPU內部有三組寄存器,通用寄存器、控制寄存器和段寄存器。堆棧中其爲雙字節操作,每次進、出棧的數據均爲兩個字節,最大堆棧深度爲64KB。標誌寄存器FR中的CF爲無符號數溢出的判斷標誌,OF爲有符號數溢出的判斷標誌。

(4)X86系列的有20位地址,可尋址的存儲空間爲1MB,而其內部寄存器只有16位,即最大尋址空間爲64KB。8086採用存儲器分段方法,將1MB的物理存儲空間分成若干邏輯段,每個邏輯段的最大長度爲64KB。因此一個具體的存儲單元可以由段基址和偏移量組成,且段基址的低四位爲0,即可以被16整除。

採用存儲器分段管理後,存儲器有物理地址和邏輯地址之分。物理地址是存儲器空間中的某一單元地址,用20位地址碼錶示,其編碼範圍爲00000H~FFFFFH。CPU訪問存儲器時,地址總線送出的是物理地址,編制程序時,則採用邏輯地址。邏輯地址由段基址和段內偏移地址兩部分組成,都是無符號16位二進制數。物理地址=段基址*16+偏移地址

尋址方式與指令系統

(1)數據存放的方式不外乎三種可能:

<1>操作數直接存放在指令中。對應的尋址方式稱爲立即數尋址。

<2>操作數在CPU的某個寄存器中。對應的尋址方式稱爲寄存器尋址。

<3>操作數在內存儲器中。對應的尋址方式稱爲存儲器尋址。

<4>七種尋址方式:

立即數尋址、寄存器尋址、直接尋址、寄存器間接尋址、基址尋址和變址尋址、基址變址尋址、基址變址相對尋址

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章