0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計(jì)算機(jī)中程序到底是如何運(yùn)行的?

FPGA之家 ? 來(lái)源:果果小師弟 ? 作者:果果小師弟 ? 2021-05-03 17:31 ? 次閱讀

摘要:計(jì)算機(jī)的內(nèi)存,計(jì)算機(jī)中所有程序的運(yùn)行都在內(nèi)存中進(jìn)行,也就是你電腦的內(nèi)存條中運(yùn)行的。計(jì)算機(jī)內(nèi)存也被稱(chēng)為隨機(jī)訪問(wèn)存儲(chǔ)器,Random Access Memory,簡(jiǎn)稱(chēng)RAM。

內(nèi)存一般用于存放程序指令和運(yùn)算數(shù)據(jù),幫助CPU與硬盤(pán)等外部存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)的交換,內(nèi)存只能臨時(shí)存放程序的指令和數(shù)據(jù),當(dāng)電腦關(guān)閉之后,內(nèi)存當(dāng)中的數(shù)據(jù)就會(huì)隨之消失。計(jì)算機(jī)當(dāng)中的程序指令,或者是操作數(shù)據(jù)都是以二進(jìn)制的形式在內(nèi)存當(dāng)中存儲(chǔ)和計(jì)算的。

ea8965d2-990e-11eb-8b86-12bb97331649.png

我們可以將內(nèi)存看作是排成一排的方格,每個(gè)方格可以存儲(chǔ)0或者是1這兩種數(shù)字。

eac91d58-990e-11eb-8b86-12bb97331649.png

一個(gè)方格也被稱(chēng)為一個(gè)比特位,將8個(gè)連續(xù)的比特分為一組,代表1個(gè)字節(jié)byte。如果將內(nèi)存比作是一棟大樓的話,那么字節(jié)就是大樓當(dāng)中的房間,而每個(gè)房間都對(duì)應(yīng)一個(gè)唯一的門(mén)牌,所以每個(gè)字節(jié)都有一個(gè)唯一的地址。那么這些地址也被稱(chēng)為內(nèi)存地址。通過(guò)內(nèi)存地址,我們可以訪問(wèn)內(nèi)存當(dāng)中的每一個(gè)字節(jié)。內(nèi)存地址一般用16進(jìn)制表示,16進(jìn)制表示的數(shù)字用0X開(kāi)頭,假如說(shuō)內(nèi)存地址從八個(gè)0到八個(gè)F,那個(gè)內(nèi)存的大小就是16的八次方,也就是2^32次方個(gè)字節(jié)=4GB大小。

使用Windows當(dāng)中的DEBUG程序,可以模擬并且查看CPU、寄存器,還有內(nèi)存當(dāng)中的相關(guān)數(shù)據(jù),這里我們使用DEBUG命令主要是為了更加直觀的觀察和理解內(nèi)存,觀察到的數(shù)據(jù)并不是當(dāng)前內(nèi)存當(dāng)中真實(shí)的數(shù)據(jù)。那么我們除了使用字節(jié)為單位來(lái)表示內(nèi)存的大小,還可以使用千字節(jié)KB,兆字節(jié)MB,還有千兆字節(jié)GB來(lái)表示,一般現(xiàn)在的計(jì)算機(jī)都是以GB來(lái)形容內(nèi)存的大小,其中1KB等于1024字節(jié),1MB等于1024KB,1GB等于1024MB,那么2^23方字節(jié)就是4GB了。

eba3d236-990e-11eb-8b86-12bb97331649.png

那么程序到底是如何運(yùn)行的呢?開(kāi)發(fā)的軟件放在我們電腦的硬盤(pán)上,比如電腦上我們經(jīng)常使用的QQ軟件,點(diǎn)擊QQ圖標(biāo)—》右擊—》屬性??梢钥吹絈Q是一個(gè).exe可執(zhí)行文件。當(dāng)我們雙擊QQ時(shí),QQ程序就會(huì)運(yùn)行起來(lái)。程序在運(yùn)行過(guò)程中要先放到從內(nèi)存中。就以這個(gè)QQ為例,QQ.exe文件肯定是用某一個(gè)編譯器生成的文件。通過(guò)在編譯器中寫(xiě)好代碼,然后編譯、連接,將我們學(xué)過(guò)的函數(shù)啊、代碼啊、變量啊等等轉(zhuǎn)換成電腦CPU可識(shí)別的010101數(shù)字。也就是我們寫(xiě)的代碼包含了大量的CPU能識(shí)別的機(jī)器代碼、CPU指令。生成的.exe文件里面就是0101010101

CPU讀取內(nèi)存中的數(shù)據(jù),讀取指令控制執(zhí)行相應(yīng)的操作。在CPU內(nèi)部有寄存器、運(yùn)算器和控制器。因?yàn)榧拇嫫骶驮趦?nèi)部,所以說(shuō)內(nèi)存中需要計(jì)算的數(shù)據(jù)首先要將其拿到寄存器中進(jìn)行運(yùn)算,將算好的數(shù)據(jù)送回到內(nèi)存中去。通常CPU會(huì)先將內(nèi)存中的數(shù)據(jù)存儲(chǔ)到寄存器中,然后再對(duì)寄存器中的數(shù)據(jù)進(jìn)行運(yùn)算。假設(shè)內(nèi)存中有塊紅色內(nèi)存空間的值是3,現(xiàn)在想把它的值加1,并將結(jié)果存儲(chǔ)到藍(lán)色內(nèi)存空間。1、CPU首先會(huì)將紅色內(nèi)存空間的值放到EAX寄存器中:mov eax,紅色內(nèi)存空間

2、然后讓EAX寄存器與1相加:add eax,1

3、最后將值賦值給內(nèi)存空間:mov 藍(lán)色內(nèi)存空間,eax

ec1f41be-990e-11eb-8b86-12bb97331649.png

原文標(biāo)題:程序是如何運(yùn)行的呢?

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7430

    瀏覽量

    163517
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7360

    瀏覽量

    87633
  • 程序
    +關(guān)注

    關(guān)注

    116

    文章

    3756

    瀏覽量

    80754

原文標(biāo)題:程序是如何運(yùn)行的呢?

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    德國(guó)建成歐洲首個(gè)量子計(jì)算機(jī)中

    IBM公司在德國(guó)Ehningen正式揭幕了其量子計(jì)算中心,標(biāo)志著該公司在歐洲的首個(gè)、全球第二個(gè)此類(lèi)中心的誕生,活動(dòng)吸引了德國(guó)總理舒爾茨的出席。   這座位于Ehningen的計(jì)算機(jī)中心配備了
    的頭像 發(fā)表于 10-08 15:40 ?390次閱讀

    計(jì)算機(jī)存儲(chǔ)系統(tǒng)的構(gòu)成

    計(jì)算機(jī)存儲(chǔ)系統(tǒng)是計(jì)算機(jī)中用于存放程序和數(shù)據(jù)的設(shè)備或部件的集合,它構(gòu)成了計(jì)算機(jī)信息處理的基礎(chǔ)。一個(gè)完整的計(jì)算機(jī)存儲(chǔ)系統(tǒng)通常包括多個(gè)層次的存儲(chǔ)器
    的頭像 發(fā)表于 09-26 15:25 ?464次閱讀

    計(jì)算機(jī)進(jìn)行程序控制工作的基本原理是怎樣的

    計(jì)算機(jī)程序控制是計(jì)算機(jī)科學(xué)中的一個(gè)核心概念,它涉及到計(jì)算機(jī)如何根據(jù)預(yù)設(shè)的指令序列執(zhí)行任務(wù)。 1. 計(jì)算機(jī)硬件基礎(chǔ) 在深入
    的頭像 發(fā)表于 09-04 16:57 ?291次閱讀

    計(jì)算機(jī)中總線的作用是什么

    計(jì)算機(jī)中,總線(Bus)扮演著極其重要的角色,它是計(jì)算機(jī)內(nèi)部各功能部件之間傳送信息的公共通信干線??偩€不僅連接了計(jì)算機(jī)的各個(gè)核心組件,還確保了數(shù)據(jù)、指令和控制信號(hào)的高效、準(zhǔn)確傳輸。
    的頭像 發(fā)表于 08-26 15:57 ?676次閱讀

    邊沿觸發(fā)器在計(jì)算機(jī)中的應(yīng)用

    邊沿觸發(fā)器在計(jì)算機(jī)中的應(yīng)用極為廣泛,它們作為數(shù)字電路中的基本單元,對(duì)于實(shí)現(xiàn)計(jì)算機(jī)內(nèi)部的時(shí)序控制、數(shù)據(jù)存儲(chǔ)與傳輸、以及復(fù)雜邏輯功能等方面起著至關(guān)重要的作用。以下將從邊沿觸發(fā)器的定義、特點(diǎn)、工作原理及其在計(jì)算機(jī)中的具體應(yīng)用等方面進(jìn)行
    的頭像 發(fā)表于 08-12 14:20 ?321次閱讀

    三態(tài)緩沖器在計(jì)算機(jī)中的應(yīng)用

    電路在不影響其他電路和總線的前提下,能夠靈活地控制其輸出狀態(tài)。以下將詳細(xì)探討三態(tài)緩沖器在計(jì)算機(jī)中的具體應(yīng)用,內(nèi)容將涵蓋其定義、優(yōu)勢(shì)以及在不同計(jì)算機(jī)子系統(tǒng)中的具體作用。
    的頭像 發(fā)表于 08-02 17:48 ?827次閱讀

    DRAM在計(jì)算機(jī)中的應(yīng)用

    DRAM(Dynamic Random Access Memory,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)在計(jì)算機(jī)系統(tǒng)中扮演著至關(guān)重要的角色。它是一種半導(dǎo)體存儲(chǔ)器,用于存儲(chǔ)和快速訪問(wèn)數(shù)據(jù),是計(jì)算機(jī)主內(nèi)存的主要組成部分。以下是對(duì)DRAM在計(jì)算機(jī)中
    的頭像 發(fā)表于 07-24 17:04 ?835次閱讀

    計(jì)算機(jī)控制器的結(jié)構(gòu)和功能

    隨著信息技術(shù)的迅猛發(fā)展,計(jì)算機(jī)已經(jīng)深入我們生活的方方面面。而計(jì)算機(jī)控制器,作為計(jì)算機(jī)系統(tǒng)的核心部件之一,承擔(dān)著協(xié)調(diào)各部件工作、指揮整個(gè)計(jì)算機(jī)程序
    的頭像 發(fā)表于 06-17 15:47 ?1339次閱讀

    工業(yè)計(jì)算機(jī)與普通計(jì)算機(jī)的區(qū)別

    在信息化和自動(dòng)化日益發(fā)展的今天,計(jì)算機(jī)已經(jīng)成為了我們?nèi)粘I詈凸ぷ髦胁豢苫蛉钡墓ぞ?。然而,?b class='flag-5'>計(jì)算機(jī)領(lǐng)域中,工業(yè)計(jì)算機(jī)和普通計(jì)算機(jī)雖然都具備基本的計(jì)算
    的頭像 發(fā)表于 06-06 16:45 ?1089次閱讀

    純硅振蕩器兼容SiTime在邊緣計(jì)算機(jī)中的應(yīng)用

    純硅振蕩器兼容SiTime在邊緣計(jì)算機(jī)中的應(yīng)用
    的頭像 發(fā)表于 04-29 10:09 ?302次閱讀
    純硅振蕩器兼容SiTime在邊緣<b class='flag-5'>計(jì)算機(jī)中</b>的應(yīng)用

    【量子計(jì)算機(jī)重構(gòu)未來(lái) | 閱讀體驗(yàn)】+ 了解量子疊加原理

    )。通過(guò)邏輯門(mén)來(lái)執(zhí)行操作二進(jìn)制數(shù)據(jù),邏輯門(mén)是一種基本電路,它可以將一個(gè)或多個(gè)輸入轉(zhuǎn)換為輸出。邏輯門(mén)包括與門(mén)、或門(mén)、非門(mén)等等,將許許多多邏輯門(mén)組合起來(lái)就可以構(gòu)建復(fù)雜的電路來(lái)執(zhí)行各種操作,電子計(jì)算機(jī)中
    發(fā)表于 03-13 17:19

    【量子計(jì)算機(jī)重構(gòu)未來(lái) | 閱讀體驗(yàn)】+量子計(jì)算機(jī)的原理究竟是什么以及有哪些應(yīng)用

    很多有名人物,也可以概覽下。 總結(jié)本人作為科普小品還是可以看看的,一些距離也比較形象比較有意思,但是個(gè)人覺(jué)得還是沒(méi)有解釋清楚前面已開(kāi)始提到的兩個(gè)問(wèn)題,量子計(jì)算機(jī)的原理和應(yīng)用,前者需要解釋的是到底是如何計(jì)算的如惡化得到有效結(jié)果
    發(fā)表于 03-11 12:50

    系統(tǒng)內(nèi)存和運(yùn)行內(nèi)存的區(qū)別

    系統(tǒng)內(nèi)存和運(yùn)行內(nèi)存都是計(jì)算機(jī)中重要的概念,它們?cè)?b class='flag-5'>計(jì)算機(jī)的存儲(chǔ)和運(yùn)行方面起著不可或缺的作用。雖然它們與計(jì)算機(jī)存儲(chǔ)和
    的頭像 發(fā)表于 01-15 16:32 ?2942次閱讀

    微機(jī)原理和計(jì)算機(jī)組成原理的區(qū)別

    來(lái)看微機(jī)原理和計(jì)算機(jī)組成原理的區(qū)別。微機(jī)原理是指微型計(jì)算機(jī)的工作原理,主要包括計(jì)算機(jī)的基本組成和運(yùn)行原理,如中央處理器(CPU)、存儲(chǔ)器、輸入輸出設(shè)備等,以及它們之間的連接方式和控制方
    的頭像 發(fā)表于 01-14 14:56 ?3068次閱讀

    量子計(jì)算機(jī)的作用有哪些

    認(rèn)為是未來(lái)計(jì)算機(jī)技術(shù)的重要發(fā)展方向。 一、量子計(jì)算機(jī)的基本概念 量子計(jì)算機(jī)的核心是量子比特,與經(jīng)典計(jì)算機(jī)中的比特不同,量子比特可以同時(shí)處于0和1的狀態(tài),這種現(xiàn)象被稱(chēng)為“疊加態(tài)”。此外,
    的頭像 發(fā)表于 12-30 14:32 ?1774次閱讀