有人工裁判,就會有爭執
869
2025-04-01
工作原理設計
如果要去造一臺計算機的話,那計算機所要具備的最重要的功能就是計算了。所以,在硬件開發當中,開發者會通過對于硬件電路的開發設計來實現計算的相關功能。寄存器,將數據或想要運行的指令先存儲起來,以此來實現記憶以及循環操作的功能。當電路擁有了一些不同的部分之后,就已經構成一個完整的計算機電路了。并且現代所有的計算機都是基于這個原則來進行設計的,只不過是在于電路的復雜程度不一樣而已。當開發者想要去實現不同功能的時候,其實就相當于實現了某一個程序。程序的運行過程其實是通過一系列最簡單的指令集合,通過一個個步驟來完成對于計算機數據的處理,所以另一個在單片機中最重要概念就是指令集。
指令集
在計算機中,指示計算機硬件執行某種運算、處理功能的命令稱為指令。指令是計算機運行的最小的功能單位,而硬件的作用是完成每條指令規定的功能。一臺計算機上全部指令的集合,就是這臺計算機的指令系統。指令系統也稱指令集,是這臺計算機全部功能的體現。而人們設計計算機首要考慮的是它擁有的功能,也就是首先要按功能檔次設計指令集,然后按指令集的要求在硬件上實現。指令系統不僅僅是指令的集合,還包括全部指令的指令格式、尋址方式和數據形式。
指令集體系結構(Instruction Set Architecture,ISA),是軟件和硬件之間接口的一個完整定義。ISA定義了一臺計算機可以執行的所有指令的集合,每條指令規定了計算機執行什么操作,所處理的操作數存放的地址空間以及操作數類型。
ISA規定的內容包括數據類型及格式,指令格式,尋址方式和可訪問地址空間的大小,程序可訪問的寄存器個數、位數和編號,控制寄存器的定義,/o空間的編制方式,中斷結構,機器工作狀態的定義和切換,輸入輸出結構和數據傳送方式,存儲保護方式等。
計算機組成是指計算機主要功能部件的組成結構、邏輯設計及功能部件間的相互連接關系。計算機系統結構的經典定義是指程序設計者(主要指低級語程序員或編譯程序設計者)所看到的計算機系統的屬性,即計算機的功能特性和概念性結構,也稱指令體系結構指令集體系結構(Instruction Set Architecture, ISA),是軟件和硬件之間接口的一個完整定義。ISA定義了一臺計算機可以執行的所有指令的集合,每條指令規定了計算機執行什么操作,所處理的操作數存放的地址空間以及操作數類型。ISA規定的內容包括數據類型及格式,指令格式,尋址方式和可訪問地址空間的大小,程序可訪問的寄存器個數、位數和編號,控制寄存器的定義,I/O空間的編制方式,中斷結構,機器工作狀態的定義和切換,輸入輸出結構和數據傳送方式,存儲保護方式等。因此,可以看出,指令集體系結構是指軟件能夠感知到的部分,也稱軟件可見部分。ISA處于硬件和軟件的交界面上,硬件所有的功能都有ISA集中體現,軟件通過ISA在計算機上執行。所以,ISA是整個計算機系統中的核心部分。
通常指令集分為兩種,復雜指令集和精簡指令集
1、CISC(復雜指令集):指令集較豐富,對特殊任務有專用的特殊指令,執行特殊功能(科學計算之類的)也就是說指令集里面的每個指令較長,每個指令都分成好幾個微指令來處理,正是因為指令集豐富所以在開發程序時較簡單,但在執行時效率較低,處理數據時速度較慢,使得譯 碼器翻譯二進制代碼時較慢。
2、RISC(精簡指令集計算機):注重的是指令集的優化,RISC的攻計看對哪吊用的指令進行優化使它們更加簡單高效,對于那些不常用的指令會將具組合起來去買現某些特殊的功能,所以RISC指令集位數較短,所以執行效率高,譯碼和處理數據較快。
RISC 的設計初衷針對 CISC CPU 復雜的弊端,選擇一些可以在單個 CPU 周期完成的指令,以降低 CPU 的復雜度,將復雜性交給編譯器。舉一個例子,CISC 提供的乘法指令,調用時可完成內存 a 和內存 b 中的兩個數相乘,結果存入內存 a,需要多個 CPU 周期才可以完成;而RISC 不提供“一站式”的乘法指令,需調用四條單 CPU 周期指令完成兩數相乘:內存 a 加載到寄存器,內存 b 加載到寄存器,兩個寄存器中數相乘,寄存器結果存入內存 a。按照此思路,早期的設計出的 RISC 指令集,指令數是比 CISC 少些,但后來,很多 RISC 的指令集中指令數反超了 CISC,因此,引用指令的復雜度而非數量來區分兩種指令集。
當然,CISC 也是要通過操作內存、寄存器、運算器來完成復雜指令的。它在實現時,是將復雜指令轉換成了一個微程序,微程序在制造 CPU 時就已存儲于微服務存儲器。一個微程序包含若干條微指令(也稱微碼),執行復雜指令時,實際上是在執行一個微程序。這也帶來兩種指令集的一個差別,微程序的執行是不可被打斷的,而 RISC 指令之間可以被打斷,所以理論上 RISC 可更快響應中斷。
所以,RISC 的優點就在于在使用相同的晶片技術和相同運行時鐘下,RISC 系統的運行速度將是 CISC 的 2~4 倍。由于 RISC 處理器的指令集是精簡的,它的記憶體管單元、浮點單元等都能設計在同一塊晶片上。RISC 處理器比相對應的 CISC 處理器設計更簡單,所需要的時間將變得更短,并可以比 CISC 處理器應用更多先進的技術,開發更快的下一代處理器。
處理單元
設計的計算機有了一定的工作原理和指令集之后,就需要對負責計算的集成電路,處理單元有一定的了解。現代可編程設備可以被分為微處理器(Microprocessor, MPU)和微控制器(Microcontroller, MCU)。其中微處理器通常就是 CPU,它常被用來處理大規模,復雜程度非常高的計算。微處理器的特點就在于它只能用來處理數據,其他必要的存儲器等部件必須外接才能使用。
從家里老電腦拆了幾個下來:
微處理器(Microprocessor, MPU)
微控制器(Microcontroller, MCU)
與微處理器相比,微控制器就是一個非常完整的設備,也就是上文提到過的單片機。它其中包含了 CPU、存儲器和一系列輸入輸出的設備。由于微控制器當中 CPU 的計算能力相比于MPU 一般來說要弱很多,所以它一般設計為一些低功耗的嵌入式設備所使用。除此之外,微控制器和微處理器之間另一個比較大的區別就在于 CPU 的時鐘頻率不同。由于MPU 通常被設計用于高復雜度的任務計算,所以它的時鐘頻率相對來講是比較高的。而MCU 通常被用在一些低功耗設備或一些無復雜計算能力的物聯網設備上,為了保證使用時長,所以 MCU 當中的 CPU 通常時鐘頻率較低。
單片機架構
單片機的架構總共可以分為四個不同的部分:CPU、存儲器、輸入輸出接口和系統總線。本小節將對這些不同的部分逐個進行介紹,首先是 CPU,CPU 主要是用來負責數據的處理用于計算,它在單片機當中用來控制整一個系統,它串行地讀取并解碼程序指令,執行需要處理器的任務,并且為其余部分任務生成控制信號。它執行所有算術和邏輯運算,并且具有相同處理器的微控制器可以執行相同的程序。
存儲系統當中所包含的就是存儲器和地址解碼電路,其中存儲器會被分為兩個不同的類別。其中之一是隨機存儲器,又叫 RAM(Random Access Memory),它用來存儲運行在程序當中的數據等等,它的特點就在于斷電之后所有的數據都會消失。除了 RAM 之外的另一個叫做只讀存儲器,又叫 ROM(Read Only Memory),它用來存儲需要被單片機執行的程序,并且它的特點就在于斷電之后數據不會消失,它會被一直保存在存儲器當中。ROM 和 RAM 的區別就在于 RAM 類似于電腦的內存,本身不保存數據,但是日常使用必然會占用它的空間緩存數據。而 ROM 就是電腦的硬盤,它被用來存放大量的數據,并且電腦關機后,硬盤當中的數據也不會消失。
輸入輸出接口就是用來和外部設備相連接的接口,比方說數字 IO,模擬 IO 等等,開發者可以使用數據線或其他設備對其與外部進行連接。
總線的作用如同電路當中的導線,它可以將各個部分都連接起來并進行數據的通信。通常情況下,總線可以被分為三類:數據總線、地址總線和控制總線。數據總線顧名思義,就是用于在 CPU、存儲器和外界設備之間傳遞數據的。地址總線是選擇處理器需要讀取或寫入到特定存儲器位置的一條總線,并且它的特點就在于地址總線的數據流動方向是單向的,是從 CPU 到地址總線,再從地址總線到存儲器。
最后一個控制總線主要就是用于控制或信令數據的傳輸。
IoT 硬件開發 設備管理 IoTDM
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。