處理器內核越復雜,面積和功耗就越大。但是,隨著(zhù)處理器處理數據的方式變得更加復雜,復雜性并不是一個(gè)單一的衡量維度。在選擇處理器IP內核時(shí),為您的項目選擇正確的復雜性很重要。 思考復雜性的一些方法包括: ● 字節長(cháng) ● 執行單元 ● 特權/保護 ● 虛擬內存 ● 安全功能 通常,字節越短,內核越小,功率越低,但是,并非總是如此。8位內核(例如8051)的門(mén)數可與最小的32位內核相比,但功耗通常更差。8位內核需要更多的存儲器訪(fǎng)問(wèn)權限,這是因為每個(gè)時(shí)鐘周期需要較少的計算量,需要更多的周期。最終的影響是它需要更多功能來(lái)完成計算。 處理器內核在其執行單元的復雜性方面差異很大。最簡(jiǎn)單的是基本的單個(gè)ALU,它們需要通過(guò)簡(jiǎn)單的指令來(lái)實(shí)現許多通用操作。例如,使用shift和add來(lái)實(shí)現乘法。因此,內核具有硬件乘法器和除法器是普遍的。如果需要良好的浮點(diǎn)性能,則添加硬件浮點(diǎn)單元將提供明顯更好的性能。此選項可用于Codasip的Bk3和Bk5 RISC-V內核,但價(jià)格更貴。 到目前為止,我們已經(jīng)假設單個(gè)計算線(xiàn)程和標量處理單元可以一次執行一條指令。超標量體系結構具有指令級并行性,能夠提取多個(gè)指令并將其發(fā)送到不同的執行單元。例如,Western Digital EH1和EH2 SweRV內核有兩個(gè)執行單元。理論上,單線(xiàn)程雙核處理器可以具有單核兩倍的性能。但是,線(xiàn)程可能會(huì )掛起,這會(huì )使兩個(gè)執行單元暫時(shí)處于非活動(dòng)狀態(tài)。如果有兩個(gè)硬件線(xiàn)程,一個(gè)線(xiàn)程掛起后,另一個(gè)線(xiàn)程可以繼續執行。 處理器的流水線(xiàn)深度可能有很大差異,并且深度與延遲之間存在直接關(guān)系。一些應用程序可以忍受高延遲,結果是對中斷的響應變慢,以換取較高的時(shí)鐘頻率和吞吐量。其他應用程序需要對中斷的快速響應,因此需要更短的流水線(xiàn)。 復雜性的另一個(gè)方面是特權模式。模式越多,核心邏輯就越復雜。許多嵌入式應用程序以機器模式運行,這意味著(zhù)代碼具有對內核的完全訪(fǎng)問(wèn)權限。例如Linux中的root特權。必須完全信任此類(lèi)代碼,以避免產(chǎn)生負面后果。在更復雜的應用程序中,可以提供一系列特權,例如機器,管理員和用戶(hù)。普通應用程序將在具有最大保護程度的用戶(hù)模式下運行,而一些需要更高權限的軟件將使用管理員模式。 Linux需要這三種模式,這就是Codasip開(kāi)發(fā)具有Linux功能的Bk7內核的原因。 虛擬內存還需要其他處理器資源,例如內存管理單元(MUU)和轉換后備緩沖器(TLB),以處理將虛擬內存地址轉換為物理地址的操作。這在面積和功耗方面帶來(lái)了額外的成本,而沒(méi)有提高處理器的吞吐量。但是,虛擬內存對于使用豐富的操作系統(例如Linux)是必不可少的,該操作系統可以使用更復雜的軟件。 因此,在選擇處理器內核時(shí),請確定所需的執行單元,內存管理,特權和安全性。這種結合將決定內核的復雜性。 AO-Electronics傲壹電子 官網(wǎng):http://www.aoelectronics.com 中文網(wǎng):http://www.aoelectronics.cn ![]() |