隨着計算機的不斷髮展,單獨的計算機已不能知足人們的須要,計算機的擴展能力成爲人們認識電腦的一個重要的性能指標,經常使用的接口有鼠標、鍵盤接口,打印機接口、掃描儀接口等。編程
微機經常使用接口外觀圖以下圖所示,這是一個微機主板,主要由CPU插槽、PCI擴展槽、內存插槽、BIOS、CMOS電池、CMOS跳線、ATX電源插座、音頻接口、AGP擴展槽、USB接口、鼠標接口、鍵盤接口等組成。緩存
微機接口(interface)就是微處理器CPU與「外部世界」的鏈接電路,是CPU與外界進行信息交換的中轉站。好比源程序或原始數據要經過接口從輸入設備送進去,運算結果要經過接口向輸入設備送出來;控制命令經過接口發出去,現場狀態經過接口取進來,這些來往信息都要經過接口進行變換與中轉。這裏所說的「外部世界」是指除CPU自己之外的全部設備或電流,包括存儲器、I/O設備、控制設備、測量設備、通訊設備、多媒體設備、A/D與D/A轉換器等。post
從下圖能夠看出,各種外部設備(簡稱外設)和存儲器,都是經過各自的接口電路連到微機系統的總線上去的,所以用戶能夠根據本身的要求,選用不一樣類型的外設,設置相應的接口電路,把它們掛到系統總線上,構成不一樣用途、不一樣規模的應用系統。性能
從解決CPU與外設在鏈接時存在的矛盾的觀點來看,通常有以下功能翻譯
(1) 對外部設備的尋址功能設計
在微機系統中通常有多種外設,在同一種外設中也可能有多臺,而一個CPU在同一時間裏只能與一臺外設交換信息,這就要在接口中設置I/O端口地址譯碼電路對外設進行尋址。CPU將I/O設備的端口地址代碼送到接口中的地址譯碼電路,並經譯碼電路,把地址代碼翻譯成I/O設備的選擇信號。通常是把高位地址用於接口芯片選擇,低位地址進行芯片內部寄存器的選擇,以選定須要與本身交換信息的設備端口,只有被選中的設備才能與CPU進行數據交換或通訊。沒有選中的設備,就不能與CPU交換數據。blog
(2) 信號轉換功能接口
外部設備的信號電平可能不是TTL電平或CMOS電平,所以須要由接口電路來完成信號電平的轉換。內存
(3) 數據緩衝功能get
外部設備的工做速率遠遠低於CPU的速率,爲了提升CPU的工做效率並避免丟失數據,接口中必須有數據緩衝器。接口中設置的數據緩存寄存器做爲二者之間的中介,暫存發送方發出的數據,等待接收方在足夠的時間內取走數據。藉助於數據緩衝器,高速工做地CPU與低速工做地外部設備之間的數據交換能夠協調進行。因爲數據緩存器直接連在系統數據總線上,所以它應具備三態特性(高電平,低電平,高阻態)。
(4) 聯絡功能
接口應當具有握手信號。CPU送來的控制信號、外部設備的工做情況以及應答信號都要經過接口與CPU以「握手聯絡」的方式進行交互。
(5) 中斷管理功能
CPU與外設之間的通訊採用中斷方式,有利於提升CPU的利用率。
(6) 可編程功能
爲了使接口具備較強的靈活性、可擴充性以適應多種工做方式或工做狀態,接口應具備可編程的特性。
上述功能並不是要求每種接口都具有,對不一樣用途的微機系統,其接口功能不一樣,接口電路的複雜程度大不同。但前3種功能是接口電路中的核心部分,是通常接口都須要的。
爲了實現上述各類功能,接口須要有物理基礎——硬件,予以支撐;還要有相應的程序——軟件,予以驅動。因此,一個可以實際運行的接口,應由硬件和軟件兩部分組成。
接口電路的基本結構如圖所示。三總線:地址總線AB、數據總線DB以及控制總線CB與CPU鏈接。地址總線AB用來提供訪問接口電路的地址信息。數據總線DB用來與接口電路交換數據信息、狀態信息和命令信息。控制總線CB包括I/O、…、INTR等信號線。
爲了加強接口實用範圍,半導體廠商通常按照通用型、可編程模式設計製做可編程接口芯片。所以,爲了使用接口,須要爲CPU編寫專門的接口程序。接口程序多由彙編語言編程實現,通常包括初始化接口芯片、肯定數據傳輸方式、控制接口硬件動做等主要功能。