日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

80x86 微处理器

發布時間:2023/12/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 80x86 微处理器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一、8086 CPU的內部結構

(一)、指令執行單元(EU)

1、算術邏輯運算單元ALU

2、標志寄存器Flags

3.寄存器組

(二)總線接口單元BIU

1.4個16位的段地址寄存器組

2、16位的指令指針寄存器IP

3、20位的物理地址加法器

4、指令緩沖隊列

二、8086存儲器組織

(一)存儲器地址的分段

(二)存儲器物理地址的形成

(三)8086存儲器的分奇偶體結構

(四)8086存儲器的堆棧



?

一、8086 CPU的內部結構

8086微處理器片內片外都是16為的數據總線20位的地址總線直接尋址空間可達2^20即1 MB。其采用了取指令執行指令并行工作的結構設計。

由圖可知:8086CPU內部結構由指令的執行單元(EU)和總線接口單元(BIU)這兩部分組成。

(一)、指令執行單元(EU)

指令執行單元EU主要完成指令的譯碼和指令的執行兩部分工作。其中有三部分組成

算術邏輯運算單元ALU;

標志寄存器PSW;

寄存器組。

1、算術邏輯運算單元ALU

主要完成8位或16位二進制數據的算術邏輯運算功能,運算的數據可來自內部的寄存器,也可來自存儲單元或指令代碼中包含的數據。

2、標志寄存器Flags

16位的標志寄存器是用來存儲數據運算處理后的結果特征標志信息和CPU運行的狀態控制信息。

OF

DF

IF

TF

SF

ZF

AF

PF

CF

溢出標志位

發現標志位

中斷允許標志位

單步標志位

符號標志位

零標志位

半進位標志位

奇偶標志位

進位標志位

表1 Flags各位標志含義

3.寄存器組

寄存器組包含4個16位的通用寄存器和4個16位的專用寄存器。

(1) 4個通用寄存器

四個通用寄存器

高八位

低八位

AX

累加器

AH

AL

BX

基址寄存器

BH

BL

CX

計數器

CH

CL

DX

數據寄存器

DH

DL

一般用作數據暫存

(2)4個專用寄存器

4個專用寄存器

SP

堆棧指針寄存器

BP

基址指針寄存器

SI

源變址寄存器

DI

目的變址寄存器

SP和SP可以與堆棧段寄存器SS聯合使用,用于設置或訪問堆棧段。

在字符串運算中SI與數據寄存器DS配合,指向源串的首地址,DI與附加段寄存器ES配合,指向目的串的首地址。

(二)總線接口單元BIU

總線接口單元BIU是8086CPU與外部(存儲器和I/O端口)數據傳輸的接口,它提供了16位的雙向數據總線和20位的地址總線以及所有的控制信號線。

主要功能有:地址的形成、外部取指令、指令排隊、數據的讀/寫操作控制和其他功能的總線控制。

總線接口單元BIU有5部分組成:

a:4個16位的段地址寄存器組

b:16位的指令指針寄存器IP

c:20位的物理地址加法器

d:6字節的指令緩沖隊列

e:總線輸入/輸出控制電路

1.4個16位的段地址寄存器組

用來提供訪問外部存儲器時的16位段基址。

4個16位的段地址寄存器

CS

代碼段寄存器

DS

數據段寄存器

SS

堆棧段寄存器

ES

輔助數據段寄存器

CS——在取指令階段提供16位的段地址。

DS——在執行指令時,如果有訪問片外存儲器是數據時提供16的段地址。

SS——在方位堆棧時,提供16位的段地址

ES——在CPU做片外存儲器的數據訪問時,提供16位的段地址,只在串操作或特別指定的數據訪問指令中使用。

2、16位的指令指針寄存器IP

用作存放下一條待執行的指令代碼所在存儲單元的16偏移地址,和CS一起構成程序指針。

3、20位的物理地址加法器

將16位的段地址和16位偏移地址轉換成20位的存儲器單元物理地址。

4、指令緩沖隊列

用以存放BIU已經讀進CPU但是還未來得及執行的指令代碼。

5、總線輸入/輸出控制電路

實現CPU和片外存儲器或I/O端口數據傳輸的時序邏輯控制。

二、8086存儲器組織

物理存儲器:處理器在它的總線上尋址的存儲器稱為物理存儲器。

物理地址:物理存儲器按字節序列排列,每個字節賦予一個唯一的地址,稱為物理地址。

(一)存儲器地址的分段

8086微處理器有20位的地址總線,內部有16位的寄存器,不能直接給出20位的存儲單位地址,必須有2個16位的寄存器組合才能給出20位存儲器單位地址。故將1MB的存儲空間分成若干個邏輯段,每個邏輯段容量小于等于64KB,1MB的存儲空間可分成16個邏輯段,允許在整個存儲空間浮動。如圖所示:

圖2 8086存儲器連續分段圖

下圖3 為8086存儲器重疊分段圖,只要有段地址和段內偏移地址就可以問問這個物理地址所對應的存儲空間。

圖3 8086存儲器重疊分段圖

(二)存儲器物理地址的形成

物理地址:8086 CPU訪問存儲單元時,有20位的地址加法器給出的實際地址,而且這個地址是唯一的,將此地址稱為物理地址。

邏輯地址:將段起始地址(段基址)和段內偏移合起來稱為邏輯地址,也稱為編程地址。

偏移地址:邏輯地址在程序中使用,即段基址:偏移地址。

物理地址的計算:

物理地址是有邏輯地址在地址加法器中變換運算得到,故其計算方法為:

物理地址=16位的段基址*16+16位的偏移地址

(三)8086存儲器的分奇偶體結構

8086 CPU將存儲器分成奇地址和偶地址管理,稱為奇偶分體結構。

8086 CPU 將1MB的存儲空間分成兩個存儲體:奇地址存儲體和偶地址存儲體,各為512KB。

其中奇地址單元對應高8位數據線和偶地址單元對應低8位數據線。

512K*8位奇地址存儲512K*8位偶地址存儲

注:為了提高程序的運行速度,在編程時,注意存放字數據最好從偶地址開始存放,這種存放方式也稱為“字對準”存放。

(四)8086存儲器的堆棧

堆棧是指在存儲器中開辟的一片數據存儲區,用于暫存數據和在過程調用或處理中斷是暫存斷點信息。

堆棧的特點:先進后出

圖4?堆棧示意圖

?

8086 CPU通過對SS和SP的設置來開辟堆棧段。SS提供段基址,SP提供棧底偏移地址。


總結

以上是生活随笔為你收集整理的80x86 微处理器的全部內容,希望文章能夠幫你解決所遇到的問題。

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