鹽城網站建設流程百度在線使用網頁版
今天還挺充實的,早上在圖書館本來想學一下notion,結果看李沐老師的動手深度學習看到十點半,在電腦上配置了李沐老師的d2l和jupyter,等后續(xù)有時間的時候再繼續(xù)學。
下午看了一下notion的使用方法,這玩意初學者用起來是真的麻煩,如果每天沒有很多事情需要schedule的話,用這個我認為反而是個累贅,還不如mac自帶的提醒事項。
然后去健身房練了腿🏋??♀?,100kg深蹲,再做兩組固定器械就去洗澡了。晚上在圖書館復習了一下嵌入式,最近因為看老石的視頻,感覺復習嵌入式的時候也有了些動力。
現(xiàn)在回來寫一下一天的總結~ 👇👇👇
1. 什么是嵌入式系統(tǒng)?
老師PPT中給出的定義是:
以應用為中心,以計算機技術為基礎,軟件硬件可裁剪,適應應用系統(tǒng)對功能、可靠性、成本、體積、重量、功耗嚴格要求的專用計算機系統(tǒng)。
簡單來說,就是含有處理器的、專用的軟硬件系統(tǒng),具有自主的信息處理能力。
看一下嵌入式系統(tǒng)的體系結構:
其中,硬件層是使用硬件描述語言——verilog完成的電路設計,將代碼燒到FPGA上,快速進行調試。除了FPGA之外,還有專用集成芯片ASIC的存在。FPGA的速度沒有ASIC快,但是可以快速成品而且價格便宜。因此在當前行業(yè)里,FPGA幾乎是所有電子系統(tǒng)的必要部件。
2. 嵌入式系統(tǒng)的兩種設計方法
分別是傳統(tǒng)設計方法和系統(tǒng)級設計方法。
在傳統(tǒng)設計中,硬件和軟件是分離設計的,過程如下:
而在系統(tǒng)級設計方法中,強調軟硬件的協(xié)同設計和系統(tǒng)整合,可以更好地管理復雜性并提高設計效率。
3. 什么是ARM?
我還是想引用一下chatgpt對ARM的解釋,我覺得寫的很不錯:
ARM 的全稱是 “Advanced RISC Machines”,意為 “高級精簡指令集計算機”。ARM 是一種廣泛使用的處理器架構和系列,由 ARM Holdings(現(xiàn)為 Arm Limited)開發(fā)和授權給各個芯片制造商使用。
ARM 架構采用精簡指令集計算機(Reduced Instruction Set Computing,RISC)的設計理念,旨在提供高效、低功耗的處理器解決方案。ARM 處理器廣泛應用于移動設備、嵌入式系統(tǒng)、智能手機、平板電腦、物聯(lián)網設備和消費電子產品等領域。
ARM 提供了多個處理器系列,包括 Cortex-A 系列、Cortex-R 系列和 Cortex-M 系列。Cortex-A 系列用于高性能應用,如移動設備和嵌入式系統(tǒng);Cortex-R 系列用于實時應用,如汽車電子和工業(yè)控制;Cortex-M 系列用于低功耗、低成本的嵌入式系統(tǒng),如微控制器和傳感器設備。
復習之后,我認為ARM最大的特點就是:
- 采用精簡指令集,用簡單的指令實現(xiàn)復雜的功能
- 體積小、低功耗、低成本、高性能
- 支持thumb(16位,半字)和arm(32位,一個字)的雙指令集
- 大量使用寄存器,指令執(zhí)行速度快
- 尋址方式簡單
- 指令長度固定
迄今為止,arm定義了8個版本,用1-8來表示。每一個版本下又有不一樣的額外版本。命名規(guī)則如下:
其中,老師要求重點掌握的是ARM7和ARM9。
ARM7的主要特點如下:
- 采用馮諾依曼結構,數(shù)據存儲器和指令存儲器合并到一起
- 采用三級流水,包含:取指、譯碼、執(zhí)行
- 其中,執(zhí)行包含了很多操作,如移位操作、讀通用寄存器內容、輸出結果、寫通用寄存器等。
這就導致三級流水存在很嚴重的問題:執(zhí)行單元的工作占用很多時鐘周期,并且數(shù)據存儲器和指令存儲器的合并會導致流水線阻斷的情況,從而影響流水性能。
所以引入了采用五級流水的ARM9,將數(shù)據存儲器和指令存儲器給分開。
其中,五級流水的功能如下:
本質就是把原來執(zhí)行單元所做的工作給細分了兩個出來,一個是存儲器訪問,一個是寄存器回寫,這樣就減少了每個時鐘周期內必須完成的工作。
同時將數(shù)據存儲器和指令存儲器給分開也解決了三級流水中訪存在指令執(zhí)行階段的延遲問題。
今天時間不早了,就先寫那么多,沒有把復習的內容全部寫完,我發(fā)現(xiàn)上面寫的東西還是過多了,有點不夠精簡。但是我又覺得每部分都比較重要,唉。。。