首頁 常見問題 程式必須存放在哪裡才能被CPU存取並執行

程式必須存放在哪裡才能被CPU存取並執行

Aug 29, 2020 am 10:54 AM
cpu 程式

程式必須存放在記憶體才能被CPU存取並執行,且需要先將指令暫存器的內容傳送到位址匯流排上,pc機在執行程式的時候將程式從外存中,調入到RAM中運行,cpu運行時直接從flash中讀取程式。

程式必須存放在哪裡才能被CPU存取並執行

CPU執行程式時,必須將指令存在於記憶體中,且需要先將指令暫存器 的內容傳送到位址匯流排上。

x86cpu和單晶片讀取程式的具體途徑pc機在運行程式的時候將程式從外存(硬碟)中,調入到RAM中運行,cpu從RAM中讀取程序和數據而單片機的程序則是固化在flash中,cpu運行時直接從flash中讀取程序,從RAM中讀取數據造成這種差別的具體原因分析x86構架的cpu是基於馮.諾依曼體系的,即資料和程式儲存在一起,而且pc機的RAM資源相當豐富,從幾十M到幾百M甚至是幾個G,客觀上能夠承受大量的程式資料。

單晶片的架構大多是哈弗體系的,即程式和資料分開存儲,而且單片的片內RAM資源是相當有限的,內部的RAM過大會帶來成本的大幅度提高。透過上面的分析可得知:單晶片的程式能儲存在flash中是基於兩點考慮,也就是體系結構和RAM資源的多寡。

因此,在技術不但進步片內RAM容量不斷增多的今天,RAM資源已經不再是製約這種差別的主要因素,而對於體系機構我們只要更改cpu讀取程序的方式就可以。

將嵌入式系統的程式存於RAM中的具體做法「對於很多的嵌入式系統,其程式碼很多都儲存在norflash中,運行也是直接在flash中運行.我最近了解到我新公司的軟體中的一段程式碼當時為了提高運行速度被加載到ram中運行.當時他們是花了很多時間來解決這個問題的.我仔細研究了一下鏈接腳本,用的是gnu的linux的交叉工具鏈.地址分配是寫在一個ld腳本中的.

他們是這樣實現的:1,將你需要在ram中運行的代碼寫在單獨的一個c文件中,然後在腳本中設置其運作位址與存放位址分開.設定好必要的程式碼起始和結束的標誌變數.2,在程式碼中將存放位址處的程式碼拷貝到運作位址中.馮.諾依曼系統與哈佛體系的區別二者的差別就是程式空間和資料空間是否是一體的。

早期的微處理器大多採用馮諾依曼結構,典型代表是Intel公司的X86微處理器。取指令和取操作數都在同一總線上,透過分時復用的方式進行的。缺點是在高速運行時,不能達到同時取指令和取操作數,從而形成了傳輸過程的瓶頸。

哈佛匯流排技術應用是以DSP和ARM為代表的。採用哈佛總線體系結構的晶片內部程式空間和資料空間是分開的,這就允許同時取指令和取操作數,從而大大提高了運算能力。例如STM320LF240x系列DSP是增強型的哈佛結構透過三組並行的匯流排存取多個儲存空間。

想了解更多程式設計學習,請關注php培訓專欄!

以上是程式必須存放在哪裡才能被CPU存取並執行的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1659
14
CakePHP 教程
1416
52
Laravel 教程
1310
25
PHP教程
1258
29
C# 教程
1232
24
如何在iPhone中使Google地圖成為預設地圖 如何在iPhone中使Google地圖成為預設地圖 Apr 17, 2024 pm 07:34 PM

iPhone上的預設地圖是Apple專有的地理位置供應商「地圖」。儘管地圖越來越好,但它在美國以外的地區運作不佳。與谷歌地圖相比,它沒有什麼可提供的。在本文中,我們討論了使用Google地圖成為iPhone上的預設地圖的可行性步驟。如何在iPhone中使Google地圖成為預設地圖將Google地圖設定為手機上的預設地圖應用程式比您想像的要容易。請依照以下步驟操作–先決條件步驟–您必須在手機上安裝Gmail。步驟1–開啟AppStore。步驟2–搜尋“Gmail”。步驟3–點選Gmail應用程式旁

在遊戲時,CPU利用率應該是多少? 在遊戲時,CPU利用率應該是多少? Feb 19, 2024 am 11:21 AM

遊戲因消耗大量資源而導致電腦運作速度變慢是常見現象。了解遊戲時CPU的使用率是至關重要的,這樣可以避免過度負荷。因此,掌握適當的CPU使用率是維持遊戲體驗流暢的關鍵。在本文中,我們將探討遊戲執行時間CPU應該達到的適當使用率。遊戲時的CPU使用率CPU使用率是指衡量處理器工作負載的重要指標,取決於CPU的效能規格。功率較大的CPU通常具有更高的使用率。擁有更多核心和執行緒的CPU可以提高系統的整體效能。多執行緒支援有助於充分發揮CPU的潛力。在遊戲中,CPU使用率取決於處理器的使用率,這會影響遊戲

Win11如何設定CPU效能全開 Win11如何設定CPU效能全開 Feb 19, 2024 pm 07:42 PM

許多使用者在使用Win11系統時發現電腦運作不夠流暢,想要提升CPU效能,但不清楚如何操作。以下將詳細介紹如何在Win11系統中設定CPU效能至最高,讓您的電腦更有效率。設定方法:1、右鍵點選桌面上的”此電腦”,選擇選項清單中的”屬性”。 2、進入到新的介面後,點選”相關連結”中的”高級系統設定”。 3、在開啟的視窗中,點選上方中的」進階」選項卡,接著點選」效能」下方中的&

如何增加電腦CPU的時脈頻率 如何增加電腦CPU的時脈頻率 Feb 20, 2024 am 09:54 AM

電腦CPU如何超頻隨著科技的不斷進步,人們對於電腦效能的需求也越來越高。而一個有效的提升電腦效能的方法就是透過超頻(overclocking)來增加CPU的工作頻率。超頻可以使CPU更快地處理數據,從而提供更高的運算能力。那麼,電腦CPU如何超頻呢?以下將為大家介紹超頻的基本原理和具體操作方法。首先,讓我們來了解一下超頻的原理。 CPU的工作頻率是由主機板上的晶振

如何使用Intel XTU對CPU進行欠壓與超頻 如何使用Intel XTU對CPU進行欠壓與超頻 Feb 19, 2024 am 11:06 AM

英特爾XTU是一款強大的應用程序,可讓您輕鬆管理電腦的效能。您可以透過調整CPU電壓來解決過熱問題,或透過超頻來提升效能。在這篇文章中,我們將探討如何利用英特爾XTU來最佳化電腦的效能,無論是調整電壓或進行超頻。欠壓和超頻對CPU有什麼作用?在我們繼續學習如何對CPU進行欠壓和超頻之前,首先必須了解它們是什麼。欠電壓指的是逐漸降低CPU所需的電壓。這個過程有助於減少熱量排放,因為高電壓會導致更高的溫度。透過減少CPU的電壓供應,可以有效降低溫度。如果筆記本在發熱後開始減速,應及時解決問題

144 核心,3D 堆疊 SRAM:富士通詳細介紹下一代資料中心處理器 MONAKA 144 核心,3D 堆疊 SRAM:富士通詳細介紹下一代資料中心處理器 MONAKA Jul 29, 2024 am 11:40 AM

本站7月28日消息,根據外媒TechRader報道,富士通詳細介紹了計劃於2027年出貨的FUJITSU-MONAKA(以下簡稱MONAKA)處理器。 MONAKACPU基於「雲端原生3D眾核」架構,採用Arm指令集,面向資料中心、邊緣與電信領域,適用於AI運算,能實現大型主機層級的RAS1。富士通表示,MONAKA將在能源效率和性能方面實現飛躍:得益於超低電壓(ULV)製程等技術,該CPU可實現2027年競品2倍的能效,冷卻無需水冷;此外該處理器的應用性能也可達對手2倍。在指令方面,MONAKA配備的向量

洩漏揭示了英特爾 Arrow Lake-U、-H、-HX 和 -S 的關鍵規格 洩漏揭示了英特爾 Arrow Lake-U、-H、-HX 和 -S 的關鍵規格 Jun 15, 2024 pm 09:49 PM

英特爾ArrowLake預計將基於與LunarLake相同的處理器架構,這意味著英特爾全新的LionCove效能核心將與經濟體的Skymont效率核心結合。

WIN10服務主機太佔cpu的處理操作過程 WIN10服務主機太佔cpu的處理操作過程 Mar 27, 2024 pm 02:41 PM

1.首先我們右鍵點選任務列空白處,選擇【任務管理器】選項,或右鍵開始徽標,然後再選擇【任務管理器】選項。 2.在開啟的任務管理器介面,我們點選最右邊的【服務】選項卡。 3.在開啟的【服務】選項卡,點選下方的【開啟服務】選項。 4.在開啟的【服務】窗口,右鍵點選【InternetConnectionSharing(ICS)】服務,然後選擇【屬性】選項。 5.在開啟的屬性窗口,將【開啟方式】修改為【禁用】,點選【應用程式】後點選【確定】。 6.點選開始徽標,然後點選關機按鈕,選擇【重啟】,完成電腦重啟就行了。