計算機(jī)組成原理學(xué)習(xí)(一)

前言
本次計算機(jī)組成原理學(xué)習(xí)主要分為兩塊

通過計算機(jī)編程語言的基本數(shù)據(jù)類型設(shè)計的知識學(xué)習(xí),如果你還想深度了解一下編程語言如何通過編譯器在計算機(jī)中運(yùn)行,那么請接著看下面的內(nèi)容:

一、馮諾依曼結(jié)構(gòu)

馮諾依曼結(jié)構(gòu)
  • 馮·諾依曼結(jié)構(gòu)組成
運(yùn)算器、控制器、存儲器(一個)、輸入設(shè)備和輸出設(shè)備
  • 馮·諾依曼結(jié)構(gòu)體系結(jié)構(gòu)上主要特點(diǎn)有:
1、以運(yùn)算單元為中心
2、采用存儲程序原理
3、存儲器是按地址訪問、線性編址的空間
4、控制流由指令流產(chǎn)生
5、指令由操作碼和地址碼組成
6、數(shù)據(jù)以二進(jìn)制編碼

馮·諾依曼結(jié)構(gòu)提出后的貢獻(xiàn)就是存儲程序概念的提出,并且得到了實(shí)現(xiàn),因為指令和數(shù)據(jù)都是二進(jìn)制碼,指令和操作數(shù)的地址又密切關(guān)聯(lián),所以基于當(dāng)時的電子電路結(jié)構(gòu)水平,選擇這種結(jié)構(gòu)是必然的。
缺點(diǎn)就是這種指令和數(shù)據(jù)共享同一總線的結(jié)構(gòu),而且必須按照順序執(zhí)行,使得信息流的傳輸成為限制計算機(jī)性能的瓶頸,影響了數(shù)據(jù)處理速度的提高。

  • 完整執(zhí)行一條指令結(jié)果流程如下:
馮諾依曼指令運(yùn)行

目前大多數(shù)的計算機(jī)運(yùn)行都遵守馮諾依曼結(jié)構(gòu)。

二、哈佛結(jié)構(gòu)

哈佛結(jié)構(gòu)
  • 哈佛結(jié)構(gòu)組成
運(yùn)算器、控制器、指令存儲器(一個)、數(shù)據(jù)存儲器(一個)、輸入設(shè)備和輸出設(shè)備

個人認(rèn)為哈佛結(jié)構(gòu)特點(diǎn)繼承了馮諾依曼結(jié)構(gòu)的特點(diǎn)。

哈佛結(jié)構(gòu)是將程序指令存儲和數(shù)據(jù)存儲分開的處理器結(jié)構(gòu),兩條總線數(shù)據(jù)寬度可以不一致。

  • 完整執(zhí)行一條指令結(jié)果流程如下:
哈佛指令運(yùn)行

注意
1、一些51單片機(jī),還有部分DSP芯片是哈佛結(jié)構(gòu)模式,所以它們只能執(zhí)行較少的任務(wù)。
2、隨著科技的發(fā)展,目前的計算機(jī)基本上混用兩種結(jié)構(gòu)模式,多核心多處理器高級處理芯片大多外圍采用馮諾依曼結(jié)構(gòu),局部采用哈佛結(jié)構(gòu).
3、哈佛結(jié)構(gòu)與馮諾依曼最大的區(qū)別在于存儲器分切割應(yīng)用上,因為哈佛結(jié)構(gòu)將存儲器分為指令和數(shù)據(jù)兩種,從而CPU與存儲器之間有兩條總線。

二、CPU

在上面中,我們已經(jīng)簡單的了解了CPU與存儲器之間的通信,接下來我盡可能把自己的一些認(rèn)知加進(jìn)去,一起共同深度學(xué)習(xí)CPU的工作原理

1、CPU功能

現(xiàn)在市面上的CPU都有下圖的四大功能

CPU功能

注意:
現(xiàn)在新的CPU都有多個核心以及多級內(nèi)部復(fù)雜的緩存設(shè)計,這樣的設(shè)計可以同時取到多條指令執(zhí)行,從而體現(xiàn)并行處理的目的,即便是這樣程序指令的順序執(zhí)行一直是一條嚴(yán)謹(jǐn)?shù)囊?guī)則。

2、CPU的組成

為了實(shí)現(xiàn)上面的功能,CPU一般有運(yùn)算器,控制器,寄存器三大組成部分,其內(nèi)部可以分的更細(xì),如下圖所示:

CPU的組成

他們之間的邏輯處理如下圖所示:


CPU主要組成部分邏輯結(jié)構(gòu)圖

盡管我們熟悉了CPU的運(yùn)作流程,但是必須要對以下幾個概念要熟悉掌握

  • 指令周期
    1、指令周期:執(zhí)行一條指令所需要的時間,一般由若干個[機(jī)器周期]組成,是從取指令、分析指令到執(zhí)行完所需的全部時間。指令周期的長短與指令的復(fù)雜程度有關(guān)。
    2、CPU周期:又稱機(jī)器周期,機(jī)器內(nèi)部各種操作大致可歸屬為對CPU內(nèi)部的操作和對主存的操作兩大類,由于CPU內(nèi)部操作速度較快,CPU訪問一次內(nèi)存所花的時間較長,因此用從內(nèi)存讀取一條指令字的最短時間來定義,這個基準(zhǔn)時間就是CPU周期(機(jī)器周期)。一指令周期常常用若干個CPU周期數(shù)來表示。
    3、時鐘周期:也稱為振蕩周期,定義為時鐘頻率的倒數(shù)。時鐘周期是計算機(jī)中最基本的、最小的時間單位。在一個時鐘周期內(nèi),CPU僅完成一個最基本的動作。時鐘周期是一個時間的量。時鐘周期表示了SDRAM所能運(yùn)行的最高頻率。更小的時鐘周期就意味著更高的工作頻率。一個CPU周期包含有若干個時鐘周期。
  • 時序產(chǎn)生器
    CPU中一個類似"作息時間"的東西,使計算機(jī)可以準(zhǔn)確、迅速、有條不紊地工作。機(jī)器一旦被啟動,即CPU開始取指令并執(zhí)行指令時,操作控制器就利用定時脈沖的順序和不同的脈沖間隔,提供計算機(jī)各部分工作時所需的各種微操作定時控制信號,有條理、有節(jié)奏地指揮機(jī)器的動作,規(guī)定在這個脈沖到來時做什么,在那個脈沖到來時又做什么,給計算機(jī)各部分提供工作所需的時間標(biāo)志。

注意:
1、一條指令分為兩部分:操作碼+地址碼。
2、執(zhí)行一條指令的順序是:CPU先把該指令從主存讀取到數(shù)據(jù)寄存器中,然后再傳送至指令寄存器。
3、執(zhí)行任何給定的指令:首先必須對操作碼進(jìn)行測試,目的是識別所要求的操作,而指令譯碼器(Instruction Decoder,ID)就是完成這項工作的。
4、執(zhí)行指令時:CPU能自動遞增PC的內(nèi)容,使其始終保持將要執(zhí)行的下一條指令的主存地址,為取下一條指令做好準(zhǔn)備。
5、一個CPU至少要有一個累加寄存器
6、這里的數(shù)據(jù)緩沖寄存器就是數(shù)據(jù)寄存器
7、微操作:控制器在實(shí)現(xiàn)一條指令的功能時,總是把每一條指令分解成一系列時間上先后有序的最基本、最簡單、不可再分的操作控制動作,這種最基本、最簡單、不可再分的操作稱為微操作
8、數(shù)據(jù)通路:通常把許多寄存器之間傳輸信息的通路稱為數(shù)據(jù)通路(Data Path),它控制信息從什么地方開始,中間經(jīng)過哪個寄存器或多路開關(guān),最后傳送到哪個寄存器。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容