接口的抽象与实现(概述)
概述
我們先建立一個(gè)整體的接口格局觀,建立知識(shí)地圖,了解接口的大概面貌。
整體來說,就這點(diǎn)事兒,4個(gè)箭頭代表了所有!
- 三個(gè)器件
- 4個(gè)箭頭
把這幾個(gè)都想明白,就完事兒了。
第一層(頂層)抽象:接口是CPU與外設(shè)的橋梁
CPU不能直接控制外設(shè),所以加了一個(gè)中介,進(jìn)而間接地控制外設(shè)。
接口芯片就是輔助CPU與外界交互的。
第二層抽象:橋梁的具體功能
那么接口芯片這個(gè)橋梁能夠干啥?
毫無疑問,分為兩部分(分開看)
- CPU與接口的交互
- 外設(shè)與接口的交互
當(dāng)然最終目的,還是CPU與外設(shè)的交互。
交互的內(nèi)容是什么?
- 二進(jìn)制數(shù)據(jù)
交互的信息是什么?
- 數(shù)據(jù)
- 控制
- 狀態(tài)
至于具體內(nèi)容是什么,取決于實(shí)際,這里不展開,總之記住
分開看,找聯(lián)系
三個(gè)器件,兩個(gè)部分,多種關(guān)聯(lián)。
第三層抽象:橋梁的大致構(gòu)成
- 數(shù)據(jù):CPU <–> 接口 <–> 外設(shè)
- 控制:CPU --> 接口
- 狀態(tài):接口 --> CPU
接口芯片就是個(gè)簡化的改進(jìn)的CPU,接口是CPU的小弟
這里針對多功能可編程接口
| 控制字 | 指令 |
| 寄存器 | 寄存器 |
| 讀寫控制 | 寄存器讀寫控制 |
| 地址控制 | 寄存器地址控制 |
| 無 | ALU運(yùn)算 |
| 數(shù)據(jù)讀寫 | 數(shù)據(jù)讀寫 |
| 串并轉(zhuǎn)換 | 無 |
| 數(shù)模轉(zhuǎn)換 | 無 |
通過對比,很容易就知道,CPU與接口芯片,整體來說差不多,但是有一些CPU能干接口不能干的,有一些接口能干CPU不能干的。
畢竟,小弟沒有老大厲害,但是老大也不可能擁有小弟的全部技能。
但是宏觀上來說,對多功能可編程接口的理解,跟CPU是類似的,這個(gè)邏輯要明白。
另外,接口的控制字,更像是一種類似于多路選擇器的功能選擇,它是一種編碼,但是遠(yuǎn)比指令編碼的含義要簡單地多。
并且,我們知道,CPU被稱作芯片,而接口被稱為接口芯片,都是芯片,總是類似的~
第四層抽象:CPU與接口的交互
CPU給接口發(fā)的:
- 控制信息
- 控制字
- 其他(讀寫控制)
- 外設(shè)數(shù)據(jù)
接口給CPU發(fā)的:
- 狀態(tài)信息
- 外設(shè)數(shù)據(jù)
第四層抽象:接口與外設(shè)的交互
接口給外設(shè)發(fā)的:
- 外設(shè)數(shù)據(jù)
- 查詢外設(shè)
外設(shè)給接口發(fā)的
- 外設(shè)應(yīng)答
第五層抽象:具體接口芯片功能分析
后面把重點(diǎn)的幾個(gè)芯片分析一下就好,根據(jù)內(nèi)些芯片的設(shè)計(jì)思想,之后你就可以構(gòu)建自己想要的“小弟”了。
第六層抽象:驅(qū)動(dòng)程序 — 使用匯編指令控制接口
CPU使用指令編碼,去給接口發(fā)送二進(jìn)制信息,可能是
- 外設(shè)數(shù)據(jù)
- 控制字?jǐn)?shù)據(jù)
- 讀寫控制
- ……
總之就是,硬件底層邏輯設(shè)計(jì)好了,現(xiàn)在需要軟件層次的,上層策略的設(shè)計(jì)和控制了,此時(shí),底層是被屏蔽了的,只是一個(gè)黑箱。
第七層實(shí)現(xiàn):接口芯片的設(shè)計(jì)與實(shí)現(xiàn)
大哥!你連CPU都會(huì)設(shè)計(jì)了,接口芯片不會(huì)嗎?可能唯一麻煩的就是數(shù)模轉(zhuǎn)換的部分,內(nèi)個(gè)先不考慮,至少在數(shù)字部分,你肯定可以實(shí)現(xiàn)一些想要的接口芯片的。
大哥沒空干的,就設(shè)計(jì)個(gè)小弟,讓他來干!大哥只需要發(fā)號(hào)施令就行了。
總結(jié)
以上是生活随笔為你收集整理的接口的抽象与实现(概述)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算机系统设计】实践笔记(2)数据通路
- 下一篇: 英雄联盟玩突然最小化