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