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