计算机基础原理知识,计算机基础知识之计算机的工作原理
1.3?計算機的工作原理
到目前為止,微機的工作原理均采用馮.若依曼的存儲程序方式,即把程序存儲在微機內(nèi),由微機自動存取指令并執(zhí)行它。微機的工作過程就是執(zhí)行程序的過程,而程序由指令序列組成,因此,執(zhí)行程序的過程,就是執(zhí)行指令序列的過程,即逐條地執(zhí)行指令;由于執(zhí)行每一條指令,都包括取指令與執(zhí)行指令兩個基本階段,所以,微機的工作過程,也就是不斷地取指令和執(zhí)行指令的過程。微機執(zhí)行程序過程示意圖如下圖所示。
假定程序已由輸入設(shè)備存放到內(nèi)存中。當(dāng)計算機要從停機狀態(tài)進入運行狀態(tài)時,首先應(yīng)把第一條指令所在的地址賦給程序計數(shù)器PC,然后機器就進入取指階段。在取指階段,CPU從內(nèi)存中讀出的內(nèi)容必為指令,于是,數(shù)據(jù)寄存器DR便把它送至指令寄存器IR;然后由指令譯碼器譯碼,控制器就發(fā)出相應(yīng)的控制信號。CPU便知道該條指令要執(zhí)行什么操作。在取指階段結(jié)束后,機器就進入執(zhí)指階段,這時,CPU執(zhí)行指令所規(guī)定的具體操作。當(dāng)一條指令執(zhí)行完畢以后,就轉(zhuǎn)入了下一條指令的取指階段。這樣周而復(fù)始地循環(huán)一直進行到程序中遇到暫停指令時方才結(jié)束。
取指階段都是由一系列相同的操作組成的,所以,取指階段的時間總是相同的,它稱為公操作。而執(zhí)指階段將由不同的事件順序組成,它取決于被執(zhí)行指令的類型,因此,執(zhí)指階段的時間從一條指令到下一條指令變化相當(dāng)大。
應(yīng)當(dāng)指出的是,指令通常包括操作碼(operationcode)和操作數(shù)(operand)兩大部分。操作碼表示計算機執(zhí)行什么具體操作,而操作數(shù)表示參加操作的數(shù)的本身或操作數(shù)所在的地址,也稱之為地址碼。在8位機中,由于一個存儲單元只能存放一個字節(jié),而指令根據(jù)其所含內(nèi)容不同而有單字節(jié)、雙字節(jié)、三字節(jié)乃至最多四字節(jié)之分,因此,在執(zhí)行一條指令時,就可能要處理1—4個不等字節(jié)數(shù)目的代碼信息,包括操作碼、操作數(shù)或操作數(shù)的地址。
為了進——步說明微機的工作過程.我們來具體討論一個模型機怎樣執(zhí)行一段簡單的程序。例如,計算機如何具體計算3十2=?雖然這是一個相當(dāng)簡單的加法運算,但是,計算機卻無法理解。人們必須要先編寫一段程序,以計算機能夠理解的語言告訴它如何一步一步地去做,直到每一個細節(jié)都詳盡無誤,計算機才能正確地理解與執(zhí)行。
在編寫程序之前,必須首先查問所使用的微處理器的指令表(或指令系統(tǒng)),它是某種微處理器所能執(zhí)行的全部操作命令匯總。不同系列的微處理器各自具有不同的指令表。假定查到模型機的指令友中可以用三條指令求解這個問題:表1示出了這三條指令及其說明。
表中第—列為指令的名稱。編寫程序時,寫指令的全名是不方便的,因此,人們給每條指令規(guī)定了—個縮寫詞,或稱作助記符。第二列即助記符。第三列為機器碼,機器碼用二進制和十六進制兩種形式表示,計算機和程序員用它來表示指令。最后一列,確切地說明了執(zhí)行一條指令時所完成的具體操作。
表1 模型機指令表
名稱
助記符
機器碼
說明
立即數(shù)取入累加器
LD A,n
00111110?n
3E?n
這是一條雙字節(jié)指令,把指令第二字節(jié)的立即數(shù)n取入累加器A中
加立即數(shù)
ADD A,n
11000110?n
C6?n
這是一條雙字節(jié)指令,把指令第二字節(jié)的立即數(shù)n與A中的內(nèi)容相加,結(jié)果暫存A
暫停
HALT
01110110
76
停止所有操作
現(xiàn)在我們來編寫3十2=?的程序。根據(jù)指令表提供的指令,用助記符形式和十進制數(shù)表示的加法運算的程序可表達為二制數(shù)
LD A,3
ADD A,2
HALT
但是,模型機卻并不認識助記符和十進制數(shù),而只認識用二進制數(shù)表示的操作碼和操作數(shù)。因此,必須按二進制數(shù)的形式來寫程序,即用對應(yīng)的操作碼代替每個助記符,用相應(yīng)的二進制數(shù)代替每個十進制效。
LD
A,3?變成?0011
1110;操作碼(LD A,n)
0000 0011;操作數(shù)(3)
ADD A,2
變成?1100 0110;操作碼(ADD A,n)
0000 0010;操作數(shù)(2)
HALT?變成?0111 0110;操作碼(HALT)
總結(jié)
以上是生活随笔為你收集整理的计算机基础原理知识,计算机基础知识之计算机的工作原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html随页面移动固定,div设置了po
- 下一篇: 科学计算机乱码,谁知道我的科学计算器这是