C語(yǔ)言匯編語(yǔ)言機(jī)器指令CPU之間是怎么聯(lián)系起來(lái)的?
很高興能夠看到和回答這個(gè)問題,作為一個(gè)科技愛好者,我每天都在關(guān)注科技發(fā)展方面的消息,每天收獲也蠻多的。
首先,我覺得這是一個(gè)非常好的問題,也是很多小白用戶困惑之處,下面我將根據(jù)自己的經(jīng)驗(yàn)認(rèn)真回答這個(gè)問題。
處理器體系結(jié)構(gòu)是處理器的硬件結(jié)構(gòu),稱為微體系結(jié)構(gòu)。它是一組硬件電路,用于執(zhí)行一組命令中提供的操作。一組指令決定了處理器的結(jié)構(gòu),因?yàn)樗褂糜布娐穼?shí)現(xiàn)一組指令。但是具體來(lái)說(shuō),使用哪種處理器體系結(jié)構(gòu),使用哪種硬件電路,每個(gè)設(shè)計(jì)都可以不同。
MIPS是使用簡(jiǎn)化指令集(RISC)的處理器體系結(jié)構(gòu),帶有一組指令和相應(yīng)的處理器體系結(jié)構(gòu)。龍的著名核心是帕格。
編譯語(yǔ)言是以人們理解的語(yǔ)言描述的一組指令機(jī)器代碼中的一組指令是一組很難理解的二進(jìn)制數(shù),但是編譯以與人類語(yǔ)言相同的方式描述了一組指令,并且更易于閱讀。
對(duì)于處理器的設(shè)計(jì),首先必須具有一組指令,該一組指令規(guī)定了處理器的相應(yīng)操作并通過一組指令執(zhí)行相應(yīng)的功能。但是處理器是一組只能識(shí)別二進(jìn)制數(shù)據(jù)的硬件電路,因此,一組指令由幾個(gè)二進(jìn)制數(shù)據(jù)組成。而且二進(jìn)制數(shù)據(jù)很難讀取。為了方便使用一組命令,創(chuàng)建了描述該組命令的語(yǔ)言集合。編譯后的語(yǔ)言類似于人類語(yǔ)言,并且易于閱讀。
盡管編譯語(yǔ)言更易于閱讀,但也有缺點(diǎn)。第一種編譯語(yǔ)言仍然很難工作。其次,編譯語(yǔ)言與指令集相對(duì)應(yīng),因此,在更改指令集時(shí),有必要更改相應(yīng)的編譯語(yǔ)言,這導(dǎo)致其移植性差且不能在不同平臺(tái)上使用的事實(shí)。
例如,匯編語(yǔ)言ARM與IntelX86不同。目前,人們希望開發(fā)一種更便捷的操作,它超出了命令集的范圍,因此有高級(jí)語(yǔ)言C,C ++。
但是處理器只能識(shí)別二進(jìn)制代碼,這如何區(qū)分高級(jí)語(yǔ)言?結(jié)果,人們開發(fā)了一種編譯器,該編譯器按以下順序?qū)⒏呒?jí)語(yǔ)言轉(zhuǎn)換為二進(jìn)制:高級(jí)語(yǔ)言-匯編程序-二進(jìn)制機(jī)器代碼。
人們可以輕松地使用高級(jí)編程語(yǔ)言,處理器控制來(lái)執(zhí)行相應(yīng)的功能。然后程序員的職業(yè)“紅色火焰”如雨后春筍般出現(xiàn)。
最后,我們?cè)谧罡邔樱– / C ++ / C \\\\)編寫的代碼或程序通常會(huì)要求硬件輪廓使之如此隨心所欲或以工作為輔。許多人的綜合答案意思是,書面生成的更高層次是通過編譯器進(jìn)行轉(zhuǎn)換和解釋的,變成編譯語(yǔ)言,機(jī)器語(yǔ)言,然后是硬件,或者上層代碼將消息傳遞到驅(qū)動(dòng)程序執(zhí)行的級(jí)別我們想要。
但是,實(shí)際上,問題在于,即使切換到編譯語(yǔ)言或機(jī)器代碼,也就像較低層的設(shè)備可以理解的那樣,發(fā)生在高層代碼中。至于驅(qū)動(dòng)力,它們也是軟件,并以p語(yǔ)言編寫。
實(shí)際上,在電路的底部,只有各種電流水平和波形(我們以不同的方式確定)才具有消息和信息。那么波浪的水平和形狀如何符合我們的期望?
這個(gè)問題使我想到了使用紙帶輸入程序的最早階段。紙帶上有東西要打斷電路并產(chǎn)生鏈條,如果紙帶上有打印輸出,則會(huì)產(chǎn)生張力。紙帶上的鉛的長(zhǎng)度會(huì)產(chǎn)生一定程度的連續(xù)性,并且通過紙帶控制的傳輸速度可提高代碼執(zhí)行速度。
對(duì)應(yīng)于處理器和計(jì)算機(jī)南端的現(xiàn)代設(shè)計(jì),處理器充當(dāng)傳送帶。然后,“信號(hào)”一詞就是處理器接收和讀取我們的代碼的方式。在此基礎(chǔ)上,處理器腳的電平繼續(xù)運(yùn)行處理器的內(nèi)部邏輯,并將該電平帶到電路的外圍。如果已讀取或成功讀取了存儲(chǔ)設(shè)備的內(nèi)容,則將存儲(chǔ)設(shè)備的其中一個(gè)爪子設(shè)置為允許您使用它的級(jí)別。處理器根據(jù)接收到的電平信息保留其內(nèi)部邏輯。
處理器只能在其初始級(jí)別運(yùn)行邏輯電路,因此處理器只能在發(fā)生主電的過程中訪問存儲(chǔ)器的某些部分。繼續(xù)下一個(gè)特定部分的工作。
現(xiàn)在的問題是如何保存內(nèi)存的內(nèi)容,例如,數(shù)據(jù)如何變壞。最原始的是存儲(chǔ)設(shè)備的內(nèi)容必須是隨機(jī)的(現(xiàn)代技術(shù)必須基于某種方法,根據(jù)該方法將存儲(chǔ)設(shè)備依法釋放到工廠,即在這里我們要討論存儲(chǔ)材料的特性。
這樣的存儲(chǔ)設(shè)備的內(nèi)部邏輯應(yīng)包括一個(gè)用于讀取和寫入的電平開關(guān),可以通過邏輯對(duì)其進(jìn)行更改。該存儲(chǔ)設(shè)備必須在整個(gè)級(jí)別上進(jìn)行更改,但是如果級(jí)別丟失,其狀態(tài)將不會(huì)更改。
我仍然記得該程序是如何使用紙帶編程的,紙帶存儲(chǔ)在紙帶上并手工繪制。
這個(gè)問題與許多事物有關(guān),包括編程語(yǔ)言 C ++ ,機(jī)器語(yǔ)言,驅(qū)動(dòng)程序,IC參與,材料特性,本質(zhì)計(jì)劃。此外,此問題與尚未討論的計(jì)算機(jī)科學(xué)和編碼問題有關(guān)。
我相信大多數(shù)人不會(huì)對(duì)程序?qū)⒃谑裁醇?jí)別執(zhí)行的問題進(jìn)行深入研究,只是知道程序可以執(zhí)行某些功能,調(diào)用某些AP可以實(shí)現(xiàn)所需的邏輯,卻沒有思考為什么可以認(rèn)識(shí)到城市的硬件引擎是如何工作的。
此外,基于此,可以假定無(wú)法使用所有計(jì)算機(jī),我們?nèi)绾沃匦聞?chuàng)建這些文明產(chǎn)品?如何繼續(xù)使用人類語(yǔ)言,使機(jī)器能夠按照我們的意愿工作?
CPU是主要的計(jì)算機(jī)設(shè)備之一,也是其主要部分。它的功能主要是解釋計(jì)算機(jī)軟件中的計(jì)算機(jī)指令和過程數(shù)據(jù)。處理器是計(jì)算機(jī)的中央元件,負(fù)責(zé)讀取命令,解碼和執(zhí)行命令。CPU主要由兩部分組成,即:控制器,算術(shù)設(shè)備,還包括高速緩沖存儲(chǔ)器和允許您在它們之間建立通信并控制總線的數(shù)據(jù)。計(jì)算機(jī)的三個(gè)主要組件是處理器,內(nèi)部存儲(chǔ)器,輸入/輸出設(shè)備。CPU的功能主要包括處理命令,執(zhí)行操作,管理時(shí)間和處理數(shù)據(jù)。
在計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)中,處理器是主要的硬件模塊,用于控制計(jì)算機(jī)的所有硬件資源(例如驅(qū)動(dòng)器,輸入/輸出單元)和執(zhí)行常規(guī)操作。處理器是計(jì)算操作和控制的核心。計(jì)算機(jī)系統(tǒng)中所有軟件級(jí)別的所有操作最終都將通過一組指令轉(zhuǎn)換為處理器操作。
總結(jié):以上便是我的一些見解和回答,可能不能如您所愿,但我真心希望能夠?qū)δ兴鶐椭〔磺宄牡胤侥€可以關(guān)注我的頭條號(hào)“每日精彩科技”我將竭盡所知幫助您!
碼字不易,感覺寫的還行的話,還請(qǐng)點(diǎn)個(gè)贊哦!