Ⅰ 計算機中的軟體在運行時,系統會將其先載入到哪裡
計算機正在運行的程序存放在RAM(內存)里。
RAM是與CPU進行溝通的橋梁。計算機中所有程序的運行都是在內存中進行的,因此內存的性能對計算機的影響非常大。只要計算機在運行中,CPU就會把需要運算的數據調到內存中進行運算,當運算完成後CPU再將結果傳送出來,內存的運行也決定了計算機的穩定運行。
它的組成是:內存是由內存晶元、電路板、金手指等部分組成的。
計算機運行程序:整個過程可以總結為編譯、鏈接、裝載、執行。
1、編譯:編譯過程又可以被分為兩個階段:編譯、匯編。編譯是指編譯器讀取字元流的源程序,對其進行詞法與語法的分析,將高級語言指令轉換為功能等效的匯編代碼。匯編器是將匯編代碼轉變成機器可以執行的命令,每一個匯編語句幾乎都對應一條機器指令。
2、鏈接:鏈接的主要內容是將各個模塊之間相互引用的部分處理好,使得各個模塊之間能夠正確地銜接。
3、裝載:程序在經過鏈接後,得到了可執行文件,下一步就需要將可執行程序載入到內存中。由於現代操作系統均採用分頁的方式來管理內存,所以操作系統只需要讀取可執行文件的文件頭,之後建立起可執行文件到虛擬內存的映射關系,而不需要真正的將程序載入內存。
4、運行:載入器將可執行目標文件中的代碼和數據從磁碟復制到內存中,然後通過跳轉到程序的第一條指令或入口點來運行程序。
Ⅱ 在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是增強型的哈佛結構通過三組並行的匯流排訪問多個存儲空間。
Ⅲ 任何電腦程序必需先載入到哪裡才能被cpu處理
內存
程序運行時先由硬碟或者其它的媒介載入進內存,然後由CPU進行處理。內存讀寫速度很快。
Ⅳ 任何程序都必須載入到( )中才能被CPU執行
任何程序都必須載入到內存中才能被CPU執行。
內存用於暫時存放CPU中的運算數據,與硬碟等外部存儲器交換的數據。是外存與CPU進行溝通的橋梁,計算機中所有程序的運行都在內存中進行。只要計算機開始運行,操作系統就會把需要運算的數據從內存調到CPU中進行運算。當運算完成,CPU將結果傳送出來。
(4)程序運行時需要先將其裝載到哪裡擴展閱讀:
平常使用的程序,如:Windows操作系統、打字軟體、游戲軟體等。一般安裝在硬碟等外存上,但僅此是不能使用其功能,必須把它們調入內存中運行,才能真正使用其功能。
平時輸入一段文字或玩一個游戲,其實是在內存中進行。好比在一個書房,存放書籍的書架和書櫃相當於電腦的外存,工作的辦公桌相當於內存。
通常,把要永久保存、大量數據存儲在外存上,把一些臨時或少量的數據和程序放在內存上。內存的好壞會直接影響電腦的運行速度。