请结合计算机硬件论述指令执行的过程,【计算机组成原理】计算机软硬件组成...
文章目錄
分層結(jié)構(gòu)
軟件系統(tǒng)
硬件系統(tǒng)
I/O設(shè)備
控制器
存儲器
運算器
先上張圖,對計算機的軟硬件組成有個大體的認(rèn)識,接下來就是掰開揉碎這張大圖ψ(`?′)ψ,本文絕大多數(shù)圖片均為手繪
分層結(jié)構(gòu)
其中操作系統(tǒng)的重要性不言而喻,也就是虛擬機M2。對于大工作量的處理,電腦會經(jīng)常死機,這是因為有些語言程序已經(jīng)被系統(tǒng)保存,在執(zhí)行新的工作的時候會重新調(diào)用這些語言程序,由于程序相同,原本儲存在系統(tǒng)中的程序會被新程序覆蓋,而這樣的操作,數(shù)量級一上來計算機死機就是避免不了的了,M2的作用就是代替開發(fā)者協(xié)調(diào)與管理底層的調(diào)用,預(yù)防死機的狀況。
軟件系統(tǒng)
計算機軟件分類
①系統(tǒng)軟件:管理整個計算機系統(tǒng),使系統(tǒng)資源得到合理運用。主要有OS,DBMS等。比較大眾的是巨硬windows、MacOS、Android,還有開發(fā)者專用的Linux。
②應(yīng)用軟件:通過系統(tǒng)軟件提供的接口,完成用戶指定的任務(wù)。常用的有QQ,Alipay,WeChat……
計算機工作過程
1)將數(shù)據(jù)與程序裝入主存
2)將 源程序 轉(zhuǎn)換為 可執(zhí)行文件
3)從 可執(zhí)行文件 的首地址開始逐條執(zhí)行指令
源程序 轉(zhuǎn)換為 可執(zhí)行文件****:
執(zhí)行指令過程就請各位跳到控制器的介紹部分進(jìn)行詳細(xì)了解
硬件系統(tǒng)
此主機非彼,我們常用的臺式電腦主機經(jīng)過長期的發(fā)展,組成以及性能上已經(jīng)非常成熟(風(fēng)扇,水冷,硬盤……),而上圖中說到的主機是在概念上對其進(jìn)行的定義,下圖是對主機的一個拆分概念圖:
跨過早期的 馮機 設(shè)計,來到最新的現(xiàn)代計算機結(jié)構(gòu)理念,但是思想不變。
以下都是用白話解說,要背準(zhǔn)確概念切勿模仿
I/O設(shè)備
輸入設(shè)備:將程序和數(shù)據(jù)輸入計算機。也就是能把我們平時能夠操作的信號轉(zhuǎn)換成電信號傳給計算機,常見的有:鼠標(biāo)、鍵盤、觸摸屏……
輸出設(shè)備:將計算機的計算結(jié)果以規(guī)定的形式輸出。
其中類似于多功能打印機的設(shè)備既能輸入也能輸出。
輔存的話就是能輔助主存存儲數(shù)據(jù)的設(shè)備,常見的有:U盤,機械/固態(tài)硬盤以及近幾年的高內(nèi)存移動硬盤etc.
控制器
作為整個硬件系統(tǒng)的主腦,能夠基于每個部件的實際需求來下達(dá)相關(guān)指令,信息的傳播與接收都是雙向的。
上圖談到了很多次指令一詞,顧名思義就是計算機下達(dá)的命令,由操作碼和地址碼兩部分拼接組成
操作碼:決定操作的序列
地址碼:表示操作數(shù)在存儲器中的位置
指令執(zhí)行過程:
1)取指令:PC→MAR→M→MDR→IR
程序中第一條指令的地址位于PC中,從PC取出第一條指令到IR,將PC的內(nèi)容送到MAR,MAR中的內(nèi)容直接送地址線,同時控制器將讀信號送讀/寫信號線,主存根據(jù)地址線上的地址和讀信號,從指定存儲單元讀出指令,送到數(shù)據(jù)線上,MDR從數(shù)據(jù)線接收指令信息,并傳送到IR。
2)分析指令:OP(IR)→CU
指令譯碼并送出控制信號。控制器根據(jù)IR中指令的操作碼,生成相應(yīng)的控制信號,送到不同的執(zhí)行部件,這里IR是取數(shù)指令,因此讀控制信號被送到總線的控制線上。
3)執(zhí)行指令:Ad(IR)→MAR→M→MDR→ACC
取數(shù)操作。將IR中指令的地址碼送到MAR,MAR中的內(nèi)容送地址線,同時控制器將讀信號送讀/寫信號線,從主存指定存儲單元讀出操作數(shù),并通過數(shù)據(jù)線送至MDR,再傳送到ACC。
注:
每次取指令結(jié)束,需要為取下一條指令做準(zhǔn)備,形成下一條指令地址:(PC)+1→PC
(PC),(MDR)……
括號表示括號中位置存放的內(nèi)容(括號最好不要省略)
OP(IP)
(IP)表示從指令寄存器中取數(shù)送到CU,OP表示取指令的前邊操作碼部分
Ad(IP)
(IP)表示從指令寄存器中取數(shù)送到MAR用以取操作數(shù),Ad表示取指令的后邊地址碼部分
指令其本質(zhì)上是一串01代碼(二進(jìn)制碼),和數(shù)據(jù)以同等地位儲存在存儲器中,一般情況下是按照順序存放并順序執(zhí)行,但在特殊條件下可根據(jù)設(shè)定改變執(zhí)行順序,并按照地址尋訪,
其中由控制器發(fā)出的控制信號可以:
控制修改PC以得到下一條指令的地址;
控制ALU執(zhí)行運算的方式;
控制主存進(jìn)行讀操作 或是 寫操作。
存儲器
近現(xiàn)代整個硬件系統(tǒng)的中心,通過控制器給予的指令,進(jìn)行批量存儲和釋放程序和數(shù)據(jù),可存儲包括:
①輸入數(shù)據(jù)
②經(jīng)過運算器運算過后的中間數(shù)據(jù)
③最終運算結(jié)果數(shù)據(jù)
存儲器分為兩部分:主存和輔存。其中主存就是我們常說的內(nèi)存,CPU能直接訪問;輔存,顧名思義是用來協(xié)助主存存儲額外程序和數(shù)據(jù)的,也可以被看作是I/O設(shè)備,只有將輔存的內(nèi)容調(diào)入主存才能夠被CPU訪問,不能被直接訪問。
主存:時序控制程序
按存儲單元的地址進(jìn)行存取(按地址存取方式),其中存儲體存放二進(jìn)制信息是按內(nèi)容訪問的。
MAR:
用于尋址,其位數(shù)=存儲單元個數(shù),與PC長度相等。
eg:MAR是10位,則有210=1024個存儲單元,記1K
MDR:
位數(shù)與存儲字長相等,一般是字節(jié)二次冪的整數(shù)倍。
存儲體的基本結(jié)構(gòu):
由眾多存儲單元組成,每個存儲單元包括若干存儲元件,每個元件存儲一個二進(jìn)制碼(0,1)。依次類推一個存儲單元就是一串二進(jìn)制碼,這串二進(jìn)制碼稱為存儲字,位數(shù)稱為存儲字長(1B或是字節(jié)的偶數(shù)倍)
譯碼器:
這里推薦視頻講解
在概念上MAR,MDR是主存的一部分,但是在實際安裝中MAR,MDR,Cache(高速緩存)被安裝與CPU中,與主存三線連接:
其中CPU與主存之間有一條總線相連,總線中有地址、控制、數(shù)據(jù)3組信號線。MAR中的地址信息會直接送到地址線上,用于指向讀/寫操作的主存存儲單元;控制線中有讀/寫信號線,指出數(shù)據(jù)是從CPU寫入主存還是從主存寫入CPU。如果是讀操作,將MDR中的數(shù)據(jù)直接送到數(shù)據(jù)線上;如果是寫操作,將數(shù)據(jù)線上的數(shù)據(jù)收到MDR中。
運算器
通過控制器傳入的運算方法,對存儲器傳來的數(shù)據(jù)進(jìn)行算數(shù)運算和邏輯運算
總結(jié)
以上是生活随笔為你收集整理的请结合计算机硬件论述指令执行的过程,【计算机组成原理】计算机软硬件组成...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联想昭阳k43c-80怎么进bios 联
- 下一篇: filter动态参数 maven_使用P