接口技術筆記

接口技術的複習筆記

簡答題:

總線

什麼是總線

總線就是一組進行互連和信息傳輸的信號線,就好比連接電腦系統各個部件的橋樑

總線的分類

按照總線 在系統中的位置、連接方式、傳輸的信號分類
按照不同的標準,總線有不同的分類方法。

  1. 按照總線在系統中的位置進行分類
    片內總線:在集成電路芯片的內部,是用來連接各功能單元的信息通路。
    局部總線:在印刷電路板上連接各芯片的公共通路
    系統總線:又稱爲內總線,是指模塊式微機機箱內的底板總線
    通信總線:又稱爲外部總線,是用於微機系統與系統之間、微機系統與外部設備
  2. 按照連接方式進行分類
    單總線:即單一總線,所有模塊都使用該總線,結構簡單,易於擴充
    ②== 雙總線==:在CPU和主存之間專門設置了一個高速的DMA總線,用於訪問主存儲器專用總線,該總線結構簡單,易於擴充,同時提高了CPU和存儲器之間信息交換的速度。
    三總線:在雙總線的基礎上增加了I/O總線,由專用的I/O通道控制器完成對I/O設備的訪問。三總線減輕了CPU的負擔,合理發揮各總線的作用。但是該總線同樣需要增加相應的硬件設備。
    多總線:按照模塊或設備的性能設計總線,將工作特性相近的模塊與設備連接到同一性能的總線上,充分發揮總線性能,進而在總體上提高系統性能。
  3. 按照傳輸的信號分類:
    數據傳輸總線:由地址總線、數據總線和控制總線組成。
    仲裁總線:包括總線請求線和總線允許線,各模塊通過總線請求線對CPU申請使用總線。
    中斷和同步總線:包括中斷請求線和中斷認可線,同步線向設備發出同步信號以協調各部件之間的工作。
    公用信號線:包括時鐘信號、電源等。時鐘信號提供統一的時鐘,各邏輯模塊使用統一的時鐘,進而協調一致地工作。
    備用線:留作功能擴充或在用戶有特殊要求時使用。

總線的控制方式

總線的控制邏輯基本集中在一處,不論是在連接到總線的一個部件上,還是在單獨的硬件中,都稱爲集中式總線控制;(集中串行連接方式、集中式定時查詢方式、集中式獨立請求方式)
如果總線控制邏輯分散在連接到總線的各個部件中,就稱爲分佈式總線控制。

總線的性能指標

1.總線定時協議 2.總線頻寬 3.總線傳輸率

局部總線

局部總線的出現使得一些外部設備直接接到CPU局部總線上,這縮短了外圍設備和CPU進行數據傳輸的距離,進一步提高了整體性能

PCI總線

1992年初,Intel聯合IBM、Compaq、DEC、Apple等大公司創立了PCI局部總線標準。PCI是“Peripheral Component Interconnect”的縮寫,即外圍元件互聯PCI總線支持33MHz的時鐘頻率,數據寬度爲32位,可擴展到64位,數據傳輸率可達132MB/s~264MB/s。這就爲計算機圖形顯示所需的大量數據傳輸和高性能的磁盤輸入輸出提供了硬件技術支持。PCI總線相對於VL 總線具有很多優點:在Pentium系統上,PCI的性能要高於VL,但在80486上兩者性能相當。PCI接口卡安裝方便,因爲它比VL 接口卡短。PCI經過嚴密的規格定義與模擬測試,所以比VL有高度的兼容性。PCI總線開放性好,具有廣泛的兼容性,是一種低成本、高效益、能與ISA總線兼容的一種局部總線。


中斷

中斷是什麼,處理過程

中斷是指計算機運行過程中,出現某些意外情況需主機干預時,機器能自動停止正在運行的程序並轉入處理新情況的程序,處理完畢後又返回原被暫停的程序繼續運行。

雖然不同的微機中斷系統有所不同,但實現中斷時都有一個相同的中斷過程,包括中斷請求、中斷排隊、中斷響應、中斷服務、中斷返回共5個階段。

1. 中斷的處理過程

中斷處理過程大致可分爲四步:中斷請求中斷排隊中斷響應中斷服務和中斷返回
中斷請求:由中斷源向CPU發出中斷請求信號。
中斷排隊:當多箇中斷源同時申請中斷時,按此優先級順序進行排隊,等候CPU處理。一般是把最緊迫和速度最高的設備的優先級設爲較高。
中斷響應:在滿足中斷響應條件下,響應中斷,保存斷點地址,將相應中斷的入口地址送入PC。
中斷服務:執行中斷服務程序,完成中斷源要求的相應操作。
中斷返回:恢復斷點地址,開放同級中斷。

2. 中斷優先級的管理
1) 中斷源的識別

識別中斷源通常有兩種方法:
①== 查詢中斷== 查詢中斷是用軟件查詢的方法識別中斷源。
矢量中斷 矢量中斷就是CPU通過外設提供的中斷申請信號和中斷矢量標誌,獲得中斷服務程序的入口地址。至中斷服務程序。該地址信息稱爲中斷矢量。

2) 中斷優先級待解決的問題

CPU每次只能響應一箇中斷源的請求。CPU是否停止原中斷程序的執行,而去執行新的中斷程序呢?這裏就涉及中斷系統有無優先級的功能:第一,多箇中斷源同時請求中斷,系統先響應優先級高的中斷源;第二,當系統正在爲某個中斷源服務時,有新的中斷源提出中斷請求,只有優先級高的中斷源的中斷請求才能打斷優先級低的中斷源的服務。
3) CPU實現中斷優先級排隊的方法
分爲軟件查詢法硬件中斷法。根據形成入口地址的機制不同,矢量中斷法又分爲兩種:簡單軟件查詢法中斷控制專用硬件法。硬件中斷法也分爲兩種:簡單硬件排隊法和優先權硬件控制法。

3. 中斷嵌套

CPU在處理中斷過程中,如果出現了級別更高的中斷
請求,CPU停止執行低級中斷的處理程序而去優先處
理高級中斷。
等高級中斷處理完畢後,再接着執行低級的未處理完
的程序。
這種中斷處理方式稱爲多重(級)中斷或中斷嵌套。
CPU在響應中斷時已將IF清零,一定要在中斷處理程
序中加入開中斷指令,纔有可能進行中斷嵌套。

簡述特殊中斷結束方式。

結束方式:自動中斷結束普通中斷結束特殊中斷結束
寫入OCW2的D7~D5位爲011,OCW2的D2~D0位指定某中斷源的ISR相應位。
中斷處理完畢,中斷服務程序返回之前,CPU向8259發出特殊EOI命令,
使中斷源在ISR相應位復位零,中斷結束。


8253(根據時序判定哪種方式、只考方式二方式三,計數過程,信號對他的影響)

方式2:分頻器

這種方式的功能如同一個N分頻計數器,輸出是輸入時鐘按照計數值N分頻後的一個連續脈衝,它的一個主要用途就是產生實時時鐘中斷。

1.計數過程

在寫入控制字後的時鐘上升沿,輸出端OUT變成高電平。若GATE=1,從寫入計數初值後的第一個時鐘下降沿開始減1計數。減到1時,輸出端OUT變爲低電平:減到0時,輸出端OUT又變成高電平,從初值開始新的計數過程,即方式2能自動重裝初值,輸出固定頻率的脈衝。因此如果裝入計數初值爲N,OUT引腳上每隔N個時鐘脈衝就輸出一個負脈衝,頻率爲輸入時鐘脈衝頻率的1/N,故方式2也稱爲分頻器
在這裏插入圖片描述


GATE信號的影響

方式2中,GATE信號爲低電平時終止計數,而在由低電平恢復爲高電平後的第一個時鐘下降沿重新從初值開始計數。由此可見,GATE一直維持高電平時,計數器方能作爲一個N分頻器,如圖7-11所示。
在這裏插入圖片描述


方式3:方波發生器

方波發生器和分頻器的工作情況類似,但從輸出端得到的不是序列負脈衝,而是對稱的矩形波。

1.計數過程

方式3的計數過程按計數初值的不同分爲兩種情況:
① 計數初值爲偶數。在寫入控制字後的時鐘上升沿,輸出端OUT變成高電平。若GATE=1,從寫入計數初值後的第一個時鐘下降沿開始減1計數。減到N/2時,輸出端OUT變爲低電平;減到0時,輸出端OUT又變成高電平,並重新從初值開始新的計數過程。可見,輸出端OUT的波形是連續且完全對稱的方波,故稱爲方波發生器,如圖所示。
在這裏插入圖片描述
計數初值爲數。在寫入控制字後的時鐘上升沿,輸出端OUT變成高電平。若GATE=1,從寫入計數初值後的第一個時鐘下降沿開始減1計數,減到==(N+1)/2以後,輸出端OUT變爲低電平==;減到0時,輸出端OUT又變成高電平,並重新從初值開始新的計數過程。這時輸出波形的高電平寬度比低電平寬度多一個時鐘週期,爲連續的近似方波,如圖所示。
在這裏插入圖片描述


GATE信號的影響

GATE=1,允許計數;GATE=0,禁止計數。如果在輸出端OUT爲低電平期間,GATE變低,那麼OUT將立即變高並停止計數。當GATE變高以後,計數器重新裝入初值並重新開始計數,如圖7-15所示。
在這裏插入圖片描述


DMA

主工作和從工作
  1. 主工作模塊
    此時8237A的身份是對總線擁有控制權的主控器,這使得系統在它的控制下,進行I/O設備與存儲器之間的數據傳送工作。DMA寫操作時,它發出寫信號,數據由外設傳到存儲器;DMA讀操作時,它發出讀信號,數據從存儲器傳送到外設。
  2. 從工作模塊
    在DMA控制器獲得總線控制權之前,它受CPU的控制。此時,CPU通過對DMA控制器進行初始化編程來確定數據的傳送方式和類型、內存單元的起始地址、地址的增減選擇以及傳送的字節總數,也可以從DMA控制器中讀出當前的狀態。
單字節和塊字節
1) 單字節傳送模式

在這種模式下,DMA每次傳送僅傳送一個字節。傳送之後,字節數寄存器減1,地址寄存器加1或減1,釋放總線並將總線控制權交還給CPU。

2) 數據塊傳送模式

在這種模式下,8237A自DREQ啓動時就連續傳送數據,直到字節計數器過零或者由外部輸入有效的EOP信號終止DMA傳送爲止。DREQ只須維持有效到DACK有效。數據塊傳送模式的特點是:一次請求傳送一個數據塊,效率高,但整個DMA傳送期間CPU長時間無法控制總線,此期間即便有其他DMA請求或中斷請求,也不能響應。

對DMA控制器進行初始化設置的操作步驟如下:

① 關閉8237A(禁止工作),保證初始化後才響應DMA操作請求。
② 輸出總清除命令使8237A復位以便接受新的命令。
③ 寫入模式寄存器,指定工作方式和傳輸類型。
④ 寫入命令寄存器以控制8237A工作。
⑤ 寫入基地址和當前地址寄存器,確定起始地址。
⑥ 寫基本節和當前字節計數器,確定要傳送的字節數。
⑦ 寫入屏蔽寄存器。
⑧ 啓動8237A工作,用軟件的辦法將請求DMA操作控制字寫入請求寄存器,或者用硬件的辦法等待DREQ引線發出DMA操作申請。
注意:寫入字節計數器和地址寄存器初值的步驟可以在發出總清除命令之後與啓動8237A工作之前的任意位置進行;而且在PC機中,8237A的通道1預留給用戶使用,BIOS初始化時已經將該通道的命令寄存器寫入00H。即設定爲正常時序、固定優先級、不擴展寫信號、DREQ高電平有效、DACK低電平有效、允許DMA傳送、禁止存儲器間傳送,用戶不需要再寫入命令寄存器。禁止對系統佔用的其他通道進行初始化,以免破壞系統工作。


程序填空題

8259A初始化編程

在這裏插入圖片描述

在這裏插入圖片描述
是否有ICW3該命令字有效的前提是ICW1的SNGL位,當SNGL=0時才設置 ICW3

例:在IBM PC機中,只有一片8259A,可接收外部8級中斷。在I/O地址中,分配8259A的端口地址爲20H和21H,初始化爲:邊沿觸發、緩衝連接、中斷結束採用EOI命令、中斷優先級採用全嵌套方式,8級中斷源的中斷類型分別爲08H~0FH。初始化程序如下:

MOV  DX,20H                 	 
MOV AL,00010011B			 	   
OUT DX,AL              ;寫入ICW1

MOV  DX,21H							
MOV AL,08H							
OUT DX,AL              ;寫入ICW2

MOV  AL,00001101B					
OUT DX,AL    			;寫入ICW4		

8255A初始化編程

說明

  1. 方式選擇控制字
    方式選擇控制字用來決定8255A三個數據端口各自的工作方式,它的格式如圖6-4所示,由一個8位的寄存器組成。
    8255A有3種不同的工作方式:方式0、方式1和方式2。方式選擇控制字用來指定A組、B組的工作方式以及在不同方式下PA、PB的數據輸入/輸出方向。
    在這裏插入圖片描述
    其中:
    爲控制字標識位。=1,表示本控制字爲方式選擇控制字;若=0,則本控制字爲C口置位/復位控制字。
    A組控制位。其中和爲A組方式選擇位;若=00,則A組設定爲方式0;若=01,則A組設定爲方式1;若=1×(×爲任意),則A組設定爲方式2。
    A口爲輸入輸出控制位:=0,則~用於輸出數據;若=1,則~用於輸入數據。
    C口爲高4位輸入/輸出控制位:若=0,則~爲輸出數據方式;若=1,則~爲輸入數據方式。
    B組控制位,作用和~類似。其中,爲方式選擇位。若=0,則B組設定爲模式0;若=1,則B組設定爲模式1。
    B口輸入輸出控制位,若=0,則~用於輸出數據;若=1,則~用於輸入數據。
    C口低4位輸入/輸出控制位,若=0,則~用於輸出數據;若=1,則~用於輸入數據。

例6-1:某系統要求使用8255A的A口方式0輸入,B口方式0輸出,C口高4位方式0輸出,C口低4位方式0輸入(8255A的控制端口地址爲CTRL_PORT)。
控制字爲:10010001,即91H。

並行接口8255A的A口工作於方式2,要求發兩個中斷允許,即PC4和PC6均需要置位。B口工作於方式1,要求使PC2置位來開放中斷。初始化程序請補充完整 (命令口地址假定爲CTRL_PORT)

      MOV  AL,   (1100 0100B) 0C4H
      OUT  CTRL_PORT,AL ;設置工作方式
      MOV  AL,   (0000 1001B)09H 
      OUT  CTRL_PORT,AL ;置位,A口輸入允許中斷
      MOV  AL, 	 (0000 1101)0DH   
      OUT  CTRL_PORT,AL ;置位,A口輸出允許中斷
      MOV  AL,    (0000 0101B)05H     
      OUT  CTRL_PORT,AL ;置位;B口輸出允許中斷

說明
C端口置1/置0控制字
8255A在和CPU傳輸數據的過程中,經常將C端口的某幾位作爲控制位或狀態位來使用,從而配合A端口或B端口的工作。爲了方便用戶,在8255A芯片初始化時,C端口置1/置0控制字可以單獨設置C端口的某一位爲0或爲1。控制字的位爲“0”時,就成了C端口置1/置0控制字中的標識位,具體的格式如圖所示。

在這裏插入圖片描述

要求通過8255A芯片C口的位產生一個方波脈衝信號,假設地址爲05A0H~05A6H,要使位產生方波脈衝信號,可先對PC2位置位,延時所需要的方波脈衝寬度,再使PC2位復位即可。程序如下:

MOV  DX,  05A6H(填空)    		;控制口地址送DX
MOV  AL,  (0000 0101B)  05H(填空)    		;對PC2置位的控制字
OUT  DX,   AL    
CALL  DELAY			;調用延時程序
MOV  AL, (0000 0100B)  04H (填空)     		;對PC2復位的控制字
OUT  DX,AL

8237初始化編程

命令字參考說明
在這裏插入圖片描述
模式字參考說明

在這裏插入圖片描述
例:利用8237A的通道2,由一個輸入設備輸入一個32KB的數據塊至內存,內存的首地址爲34000H,採用增量、塊傳送方式,傳送完不自動初始化,輸入設備的DREQ和DACK都是高電平有效。請編寫初始化程序,8237A的首地址用標號DMA表示。
假設存儲器頁面寄存器內容已被置爲3,8237A的初始化程序如下:

MOV AL,06H  ;屏蔽通道2(寫屏蔽寄存器) 
MOV DX,DMA+0AH
OUT DX,AL
MOV AL, (1000 0000B)80H    ;寫通道2命令字:DREQ、 DACK,高電平有效,正常時序、固定優先級、允許8237A工作 
MOV DX,DMA+08H
OUT DX,AL 
MOV AL,  (1000 0110B) 86H       ;寫通道2模式字:塊傳輸、寫傳輸,地址增1、禁止自動預置等
MOV DX,DMA+0BH 
OUT  DX,   AL(填空) 
MOV DX,DMA+0CH
MOV  AL ,0; 置0先/後觸發器 
OUT  DX,AL
MOV AL,00H;設通道2的基地址爲4000H 
MOV DX,DMA+04H
OUT DX,AL 
MOV AL,   40H(填空)
OUT      DX   ,AL
MOV AL,0FFH
MOV DX,DMA+05H;設通道2的基字節數爲7FFFH (32767D) 
OUT DX,AL
MOV AL, 7FH
OUT  DX,AL
MOV  AL,02H
MOV  DX, DMA+0AH ;清除通道2屏蔽   
OUT DX, AL
MOV  AL,06H
MOV DX,DMA+09H;通道2發出DMA請求  
       OUT DX,A

填空題 ?

CPU時序的概念

CPU引腳上信號的輸出是與時間有關的。在不同的時段,各引腳上信號的輸出是不同的。但是這些信號都受一個統一的時鐘信號控制,也就是說,CPU是在時鐘脈衝的統一控制下,一個節拍一個節拍地工作。這就是時序的作用

總線週期時序的概念

8086 CPU的基本總線週期爲4個時鐘週期,每個時鐘週期間隔稱爲一個T狀態。如圖1-7所示,在T1狀態,總線接口部件將RAM或I/O地址放在地址/數據複用總線(AD)上。T2狀態對於讀總線週期和寫總線週期有所不同,對於讀總線週期,AD總線爲接收數據做準備;而對於寫總線週期,AD總線上將形成待寫的數據,並且一直保持到總線週期的結束,即T4狀態。T3與T4狀態對於讀或寫總線週期,AD總線上均爲數據。當RAM或I/O接口速度不夠時,T3與T4狀態之間可插入等待狀態Tw。當總線接口部件無訪問操作數和取指令任務時,8086 CPU不執行總線操作,所以總線週期處於空閒狀態Ti
在這裏插入圖片描述

接口的概念

所謂接口,是指兩個部件或系統的交接部分。在計算機通信過程中,涉及CPU與存儲器以及外圍設備之間的通信。它們之間存在速度等各方面的差異,所以爲了通信,需要藉助CPU和存儲器以及外圍設備之間的接口。前者稱爲存儲器接口,存儲器通常在CPU的同步控制下工作;後者稱爲I/O接口,由於外圍設備種類繁多,性能差異很大,因此I/O接口比較複雜,種類也很多,比如8255可編程並行接口電路、8253可編程定時器/計數器、8251可編程串行接口電路、8237直接存儲器存取電路(DMA)、82380多功能接口電路以及現代微機系統中的系統控制邏輯芯片等。習慣上說到接口指的就是I/O接口

譯碼技術

I/O設備爲了與CPU交換信息,每個I/O端口都要有一個地址,並且對地址進行編碼,CPU 根據I/O端口的地址進行譯碼以訪問I/O設備。本節介紹I/O端口的編址方式以及I/O端口的地址分配和譯碼技術。


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