微機原理課件(西電版)ppt35-1.ppt

(23頁)

'微機原理課件(西電版)ppt35-1.ppt'
第5章 微型計算機與外設的數據傳輸 1先驗知識:存儲器編址、IO編址和IO指令2 ……101010111111000101001101 在存儲器里以字節為單位存取信息,系統為每個字節編一個地址(二進制數表示,書寫格式為十六進制),稱為存儲器地址,存儲的內容即為數據。地址內容20位地址信息及存儲的內容可以用十六進制簡化書寫00000H00001H00002HFFFFFH8位二進制信息稱一個字節1. 8086的存儲器編址 3●存儲器地址的分段管理 8086/8088CPU有20條地址線,所以它可以在1MB的存儲區內尋址,即可從00000H~FFFFFH中任一地址中取出所需要的指令和操作數。 存儲器中數據的存儲形式存儲器地址的分段4(1) 存儲器中數據的存儲形式 存儲器以字節為單位編址,但存儲區域的大小是不同的,可以是一個字節、二個字節(字)、四個字節(雙字)、八個字節(4字)、十字節等。比如:64H、5000H、40FF0002H、 2500889912345678H。5 64H、5000H、40FF0002H、 2500889912345678H這些數據的地址是什么?它們在內存中如何存儲?6 64H、5000H、40FF0002H、 2500889912345678H分別用它們的首字節地址作為數據的地址。8位數據存儲時,直接將字節放在相應的地址所 對應的存儲單元;16位數據存儲時,低字節在前,高字節在后 (即低字節存入低地址,高字節存入高地址);32位數據存儲時:低字在前、高字在后 (字中的低字節在前,高字節在后)。思考:以上數據存儲在00000H地址的形式7從CPU內部結構我們已知,CPU內部運算是16位的,與地址有關的寄存器也是16位的,故對地址的運算也只能是16位的,這樣的話,對各種尋址方式的尋址范圍,最多只能是64KB(216)!在1MB空間如何尋址?即在16位字長的機器中,20位地址是如何形成的呢?這是8086/8088內存尋址的一個非常特殊和重要的問題。(2) 存儲器地址的分段8解決的辦法——采用存儲器分段的辦法。我們在尋址一個存儲單元的時候,是根據一個具體的物理地址(20位),這個物理地址唯一的對應1MB中的一個字節單元。物理地址是由一個基本地址加上一個16位的偏移地址形成的。物理地址 = 段地址左移4位(乘16)+ 偏移地址 。9物理地址 = 段地址左移4位(乘16)+ 偏移地址 。10例:物理地址01051H的形成15 016 位 段 地 址+16 位 偏 移 地 址19 3 2 1 020 位 物 理 地 址顯然:每個存儲單元只有唯一的物理地址。但它卻可以由不同的段地址和不同的偏移地址組成。(0000H)(1051H)(01051H)(0100H)(0051H)11基本地址 基本地址是指段地址,由CS,DS,SS,ES四個段寄存器之一提供。 8086/8088規定,段不能起始任意地址,而必須從任一小段首址開始,小段從0址算起,每16字節為一小段,在1M的地址空間里,共有64K個小段,這些段地址的低4位均為0,所以段寄存器中的內容是物理地址的高16位。12偏移地址 偏移地址是根據指令的不同尋址方式給出的16位直接地址、或者由SP、BP、DI、SI等寄存器提供的、或經某種計算得到的16位地址值。 這16位地址可尋址216=64KB空間。即整個內存劃分為一個一個段,段內大小可達64K,偏移地址可實現段內尋址。13 CS、DS、SS和其他寄存器組合指向存儲單元的示意圖 :14代碼段:存放當前正在運行的程序;數據段:存放當前運行程序所用的數據, 若程序中使用了串處理指令, 則其源操作數也存放在數據段;堆棧段:定義了堆棧的所在區域;附加數據段:是一個輔助的數據段,也 是串處理指令的目的操作數存放區。15 除非專門指定,否則各段在存儲器中的分配是由操作系統負責的。段的分配可以是每個段獨立占用64K存儲區,也可以重疊(指每個段區的大小允許根據實際需要來分配,而不一定要占用64K的最大空間),在8086/8088系統中,每次需產生一個20位的地址時,一個段寄存器被自動選擇(與具體操作有關): 取指令時:自動選擇CS段寄存器,加上IP中偏移量,計算得到存放指令的物理地址。 堆棧操作時:自動選擇SS段寄存器,加上SP中偏移量,計算得到棧讀/寫需要的物理地址。 讀/寫操作數時:自動選擇DS或ES段寄存器,加上16位偏移量,計算得到存放操作數的物理地址。168086存儲空間A19~A16AD15~AD0地址鎖存器WR、RD…ALE、BHE…D15~D0A19~A000000HFFFFFH代碼段數據段堆棧段20000H32000H65400H取指令CS=2000HIP=0100H20100H堆棧操作、讀寫操作數…172. 8086的I/O編址 端口——接口中的寄存器。端口地址——接口中寄存器的地址。一個接口中有數據、狀態、控制等多個寄存器,故有多個端口地址。端口地址又叫端口號,用于尋址,不能重號,如同內存地址一樣。 實際電路中可能一個寄存器有一個端口地址,也許一組寄存器對應一個端口地址。1880x86的I/O編址方式:I/O端口獨立于內存單獨編址;CPU在訪問I/O端口時,即執行IN/OUT指令時,硬件上會產生RD和WR信號同時M/IO = 0;8086CPU允許有65535(64K)個I/O端口,端口可以是8位的也可以是16位的 ;指令系統中有訪問8位、16位數據的I/O指令,端口地址也可以是8位或16位。19IO空間內存空間80861024K64K203.直接尋址的輸入/輸出指令IN/OUT格式: IN AL,n ;(n)送AL IN AX,n ;(n+1,n)送AX OUT n,AL ;AL送(n) OUT n,AX ;AX送(n+1,n)說明: n為直接端口地址,是一個8位地址。 (n)表示n號端口寄存器內容,8位。 n+1,n為相鄰兩個端口地址,(n+1,n)表 示n+1和n兩端口寄存器內容,16位。21DX間接尋址的IN/OUT指令格式:IN AL,DX ;((DX))送AL IN AX,DX ;((DX)+1,(DX))送AX OUT DX,AL ;AL送((DX)) OUT DX,AX ;AX送((DX)+1,(DX))說明:DX是間址寄存器,其內容是端口地址,其地 址值可以是16位的。注意這里間址寄存器只能 用DX,不可以用其它寄存器。綜上我們可以看到: 如果端口地址是8位的,用直接尋址或DX間接尋 址都可以;但如果端口地址是16位的,則必須用 DX間接尋址。16位輸入輸出指令中的端口地址 只能取偶數。22輸入輸出指令注意點:① 只能用累加器作為執行輸入輸出的機構② 尋址范圍: 直接輸入輸出指令為0~255 間接輸入輸出指令為0~65 535。23
關 鍵 詞:
35 ppt 微機 ppt35 原理
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:微機原理課件(西電版)ppt35-1.ppt
鏈接地址: http://www.476824.live/p-51497125.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.476824.live 網站版權所有

粵ICP備19057495號 

收起
展開
球探网即时蓝球比分 广西福彩快乐十分结果 江西11选5开奖号码 天津市十一选五前三直遗漏 好运彩正规吗 福彩快乐双彩开奖 2019股票配资平台网址 江苏快三计划软件 广西福利彩票快十玩法 可以玩极速赛车app下载 吉林股票期货配资公司