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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

一步步编写操作系统 14 CPU与外设通信——IO接口 上

發布時間:2023/12/10 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一步步编写操作系统 14 CPU与外设通信——IO接口 上 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹顯卡之前,必須得和大家交待清楚,那么多的外部設備,cpu是如何與他們交流。

大家都學過微機接口技術吧?沒學過也沒關系,反正我也只是籠統地說說^_^,保證大家一定能看得懂。

按理說,如果硬件種類較少,讓cpu直接同硬件進行IO操作也不是很過分,但現實不是這樣的,計算機能發展到今天這樣興盛,是和誕生各種各樣的硬件分不開的。微型計算機通過外部設備與外面的世界互換信息,外部設備種類繁多,原理各異,有機械式、電動式、電子式,輸出的信號也多種多樣,有模擬量、數字量、開關量。它們都有自己特性,數據格式不相同,有的外設是用串行數據,有的是并行數據,并且它們都在自己的時序下工作,無論它們的速度如何,在cpu看來都太慢了。

讓cpu小朋友與每個“個性不同,脾氣迥異”的硬件大大們打交道,這也太為難cpu了,您看,通過執行jmp $這樣的死循環語句就能看得出,人家cpu可是個踏實低調的主,所以,“交際”這類活動對它還是少點好。再說,同任何一個設備打交道,cpu那么速度那么快,它不得嫌棄別人慢嗎,為了減少自己的等待時間,還得為低速設備準備數據緩沖區。cpu用的信號都是TTL電平,外設大多數都是機電設備,機電設備可不能用TTL電平驅動,這還不算完呢,cpu系統總線上傳送的都是并行數據(所以你聽到的都是8位、16位、32位cpu…),外設可是并行、串行都有,還得轉換格式,想想就麻煩啊。看來,不可能讓cpu一一適應它們,否則cpu要做的工作太多了。

cpu面臨的問題,就像校長面臨一群學生一樣,讓校長親自管理每個學生的學習,即使是肌肉男施瓦辛格也得累倒,于是,班主任的出現幫了大忙,每個班主任負責一批學生,由他們了解學生的情況后再向校長匯報,這樣校長他不需要過人的體格,工作起來也會游刃有余了。人創造出來的東西必然脫離不了人的思維,cpu工程師們也給cpu找了“班主任”,在cpu和外設之間加了個代理,總之,以后cpu有什么事就同它接觸就行了。什么速度不匹配,緩沖區之類的,全都由代理來搞定。舉個例子,如果是串行設備,cpu就同串行接口通信,把數據發給它后,數據再經由串行接口發給串行設備,串行設備有了反饋后,把數據發送給串行接口,再經串行接口返回給cpu,并行設備也是如此。

任何不兼容的問題,都可以通過增加一“層”來解決。在cpu和外設之間的這一層就是IO接口。IO接口形式不限,它可以是個電路板,也可以是塊芯片,甚至可以是個插槽,它的作用就是在cpu和外設之間相互做協調轉換,如cpu和外設速度不匹配,它就是變速箱,cpu和外設信號不通用,它就是翻譯機。

這樣通過加了中間層后,工作就被劃分成多個部分,每個部分都有專人負責,大家都輕松了,多好啊。

不過,說的還是有點抽象是嗎?那就整點具體的,機箱里的聲卡就是驅動音響設備的IO接口,本章介紹的顯卡也同樣是一種IO接口,它是用來驅動顯示器的。也許您打開機箱后也未發現我說的聲卡和顯卡,那是不是就沒有它們呢?當然不會,要是聽不到聲音看不到圖像,人們買電腦干嗎?用來學習的?哈哈,你懂的。其實它們被集成在主板芯片組中了,您用的就是傳說中的集成聲卡和集成顯卡。這下清楚多了吧,下面咱們還是繼續說點抽象的。

IO接口是連接cpu與外部設備的邏輯控制部件,既然稱為邏輯,就說明可分為硬件和軟件兩部分。硬件部分所做的都是一些實質具體的工作,其功能是協調cpu和外設之間的種種不匹配,如雙方由于速度不匹配,那IO接口就實現數據緩沖以減少等待時間,數據格式不匹配,IO接口就在這兩種格式間互相轉換。IO接口內部實際上也是由軟件來控制運作的,這就是所謂的“邏輯”部分,所以軟件是指用來控制接口電路工作的驅動程序以及完成內部數據傳輸所需要的程序。

既然提到了軟件,這就意味著編程,這樣一來,IO接口芯片又可按照是否可編程來分類,可分為可編程接口芯片和不可編程接口芯片。

接口的作用是連接處理器和外部設備,如果外部設備很簡單,傻瓜型的、不需要設定就直接能用,就可以用不可編程接口芯片與處理器連接,不可編程接口芯片是種非常簡單的IO接口。

當然物理設備還是很貴重的,并且計算機中的IO接口數量也是有限的,所以我們當然希望IO接口功能越多越好,可以設置多種工作模式,甚至允許多個外部設備通過同一個IO接口芯片與處理器連接。計算機與IO接口的通信是通過計算機指令實現的,當我們需要定制某些功能時,我們也必須用計算機指令告訴IO接口:哪些設備連接在此IO接口上、此IO接口的工作模式等。這種通過軟件指令選擇IO接口上的功能、工作模式的做法,稱為“IO接口控制編程”。這通常是用端口讀寫指令in/out來實現的,后面會說到。

cpu太忙了,它的時間特別寶貴,為了簡化cpu訪問外部設備的工作,能夠輕松地同任何硬件通信,大家就約定好IO接口的功能:

1.設置數據緩沖,解決cpu與外設的速度不匹配。

cpu和外設速度上的差異可以通過設置緩沖區來解決,也就是說,數據先存儲在緩沖區里,等需要的時候(無論緩沖區是否滿了)就傳送出去。

2.設置信號電平轉換電路。

cpu和外設的信號電平不同,如cpu所用的信號是TTL電平,而外設大多數是機電設備,故不能使用TTL電平驅動,可以在接口電路中設置電平轉換電路來解決。

3.設置數據格式轉換

外設是多種多樣的,輸出的信息可能是數字信號、模擬信號等,而cpu只能處理數字信號。數字信號需要經過數/模轉換(D/A)成模擬量才能被送到外設以驅動硬件,模擬量也同樣需要經過模/數(A/D)轉換成數字量才能被cpu處理。所以接口電路中需要包括A/D轉換器和D/A轉換器。另外,即使雙方使用的都是數字信號,這也牽涉到格式和字長的問題,如cpu使用的是8位或16位或32位并行數據,而外設用并行或串行數據都有可能,所以IO接口中必須能夠識別格式并且轉換成對方需要的形式才行。

4.設置時序控制電路來同步cpu和外部設備

硬件的工作也是按照某種時序,它們都有自己的時序系統,就像cpu工作在自己的晶振時序上一樣。雙方時序不同,接口電路就要協調這兩種不同的時間計法。如,cpu發控制信號、定時信號給IO接口電路,IO接口用它們來控制和管理硬件。隨后硬件有了反饋后,其應答信號也需要通過接口返回給cpu,這樣cpu先“問”,硬件后“回答”,就實現了一次握手,之后便可以實現IO的同步操作。

5.提供地址譯碼

cpu同多個硬件打交道,每個硬件要反饋的信息很多,所以一個IO接口必須包含多個端口(即IO接口上的寄存器)來存儲這些信息內容。但同一時刻,只能有一個端口和cpu數據交換,這就需要IO接口提供地址譯碼電路,使cpu可以選中某個端口,使其可以訪問數據總線。

在后來新加入的硬件只要符合此約定就能同cpu數據交換,這樣cpu就可以輕松應對種類萬千的硬件啦。

后面的內容下半場再說。

總結

以上是生活随笔為你收集整理的一步步编写操作系统 14 CPU与外设通信——IO接口 上的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久亚洲精品中文字幕 | 黄色二级毛片 | 国产看片网站 | 亚洲美女福利视频 | 国产一级性生活片 | 丁香婷婷亚洲 | 日韩国产欧美精品 | 日韩免费毛片 | 一区二区三区视频播放 | 龚玥菲三级露全乳视频 | 日本黄色大片免费看 | 欧美aⅴ在线 | 国产一级片免费看 | 狠狠五月婷婷 | 国产又粗又深又猛又爽又在线观看 | 青青草国产成人99久久 | 成人欧美一区二区三区黑人一 | 欧美久久久精品 | 亚洲欲| 久久99精品国产麻豆91樱花 | va在线看| 在线色站| 久久久69| 久久国产精彩视频 | 天天做天天摸天天爽天天爱 | 欧美日韩一区二区三区在线 | 高清日韩 | 亚洲乱亚洲乱 | 黄色av小说在线观看 | 激情av网站 | 奇米在线视频 | 午夜亚洲福利在线老司机 | 欧美狠狠干 | 午夜成人免费影院 | 瑟瑟在线观看 | 国产精品50页 | 欧美激情xxxxx | 校花被c到呻吟求饶 | 亚洲精品视 | 视色影视 | 视频一区二区三区在线观看 | 日本黄色片 | 一久久久久| 97精品视频 | 国产在线麻豆 | 探花av在线| 在线不卡免费视频 | 在线免费观看黄 | av资源库| 日韩在线不卡av | 亚洲大片 | 五月天精品 | 69视频在线观看免费 | 亚洲人高潮女人毛茸茸 | 中文字幕一区二区三 | 日本www免费 | av观看国产 | 性史性农村dvd毛片 日韩精品在线视频观看 | 无码国产精品一区二区色情男同 | 三级免费 | 国产一区精品在线观看 | 在线黄av| 欧美成人精精品一区二区频 | 一区二区三区视频播放 | 女人下面无遮挡 | 国产福利一区二区三区视频 | 毛片在线视频 | 97视频在线观看免费 | 日本在线观看www | 国产 欧美 日本 | 999精品视频 | 欧美国产在线一区 | 污污网站免费在线观看 | 樱花草av| 中文字幕av亚洲精品一部二部 | 国产精品播放 | 亚洲欧洲国产日韩 | 男女交性视频播放 | 国产99久久久欧美黑人 | 亚洲天堂网在线观看视频 | 亚洲一区二区三区蜜桃 | 波多野结衣在线观看一区二区三区 | 成人久久影院 | 亚洲区一区二区三区 | 无码人妻精品一区二区蜜桃色欲 | 国产尤物在线视频 | 欧美a级成人淫片免费看 | 亚洲爽爆| av香蕉| 国产第四页| 91成人在线观看喷潮 | 亚洲精品电影在线 | 欧美一卡二卡三卡 | www.桃色 | 超碰免费在线 | 亚洲精品v日韩精品 | 日韩免费中文字幕 | 火影黄动漫免费网站 | 久久福利免费视频 |