
1.指令
計(jì)算機(jī)中的控制器靠指令來(lái)指揮機(jī)器工作,人們用指令表達(dá)自己的意圖,并交給控制器執(zhí)行。通常一條指令包括兩方面的內(nèi)容:操作碼和操作數(shù),操作碼決定要完成的操作,操作數(shù)指出參加運(yùn)算的數(shù)據(jù)及其所在的單元地址。
在計(jì)算機(jī)中,指令以二進(jìn)制編碼的形式存放在存儲(chǔ)器中。
在一條指令的執(zhí)行過(guò)程中,首先是取指令和分析指令,即按照程序規(guī)定的次序,從內(nèi)存取出當(dāng)前要執(zhí)行的網(wǎng)站設(shè)計(jì)指令,并送到控制器的指令寄存器中,對(duì)所取的指令進(jìn)行分析,也就是根據(jù)指令中的操作碼確定計(jì)算機(jī)應(yīng)進(jìn)行什么操作。其次是執(zhí)行指令,即根據(jù)指令分析結(jié)果,由控制器發(fā)出完成操作所需的一系列控制信號(hào),以便指揮有關(guān)部件完成這一操作,同時(shí)還為取下一條指令做好準(zhǔn)備。
2.指令系統(tǒng)
一臺(tái)計(jì)算機(jī)所能執(zhí)行的各種不同指令的全體,稱為該計(jì)算機(jī)的指令系統(tǒng)。每一種計(jì)算機(jī)均有自己特定的指令系統(tǒng),其指令內(nèi)容和格式有所不同。
盡管為不同CPU所設(shè)計(jì)的指令系統(tǒng)各不相同,但基本上所有的計(jì)算機(jī)都包含以下幾種類型的指令:數(shù)據(jù)傳送類指令、輸人輸出(I/O)類指令、算術(shù)運(yùn)算類指令、邏輯運(yùn)算類指令、移位操作類指令、程序控制類指令、串操作類指令、處理機(jī)控制類指令、數(shù)據(jù)轉(zhuǎn)換類指令等。
在計(jì)算機(jī)指令系統(tǒng)的優(yōu)化發(fā)展過(guò)程中,出現(xiàn)過(guò)兩個(gè)截然不同的優(yōu)化方向:復(fù)雜指令集計(jì)算機(jī)(Complex Instruction Set Computer, CISC)技術(shù);精簡(jiǎn)指令集計(jì)算機(jī)(Reduced Instruction Set Computer, RISC)技術(shù)。這里的計(jì)算機(jī)指令是指計(jì)算機(jī)最低層的機(jī)器指令,也就是CPU能夠直接識(shí)別的指令。
計(jì)算機(jī)系統(tǒng)越來(lái)越復(fù)雜,同時(shí)要求其指令系統(tǒng)的構(gòu)造能使得計(jì)算機(jī)系統(tǒng)的整體性能更快、更穩(wěn)定。最初,人們采用的優(yōu)化方法是設(shè)置一些功能復(fù)雜的指令,把一些原來(lái)要由軟件實(shí)現(xiàn)的、常用的功能改用硬件的指令系統(tǒng)實(shí)現(xiàn),也就是通過(guò)增加硬件的復(fù)雜性來(lái)獲得高性能,這就是CISC技術(shù)的思想。
日趨龐雜的指令系統(tǒng)不但不易實(shí)現(xiàn),而且還有可能降低系統(tǒng)的性能。1979年,以帕特遜教授為首的一批計(jì)算機(jī)科學(xué)家開(kāi)始在加州大學(xué)伯克利分校開(kāi)展這一研究。結(jié)果發(fā)現(xiàn),計(jì)算機(jī)中各種指令的使用率相差懸殊:一個(gè)典型程序的運(yùn)算過(guò)程所使用指令的80,僅僅是其指令系統(tǒng)中20%的指令,事實(shí)上,使用最頻繁的指令是存、取和相加等簡(jiǎn)單指令。因此,長(zhǎng)期致力于復(fù)雜指令系統(tǒng)的設(shè)計(jì),實(shí)際上是在設(shè)計(jì)一種難以在實(shí)踐中用得上的指令系統(tǒng)的處理器。
RISC技術(shù)是在20世紀(jì)80年代發(fā)展起來(lái)的,其基本思想是盡量簡(jiǎn)化計(jì)算機(jī)指令功能,只保留那些功能簡(jiǎn)單、能在一個(gè)節(jié)拍內(nèi)完成執(zhí)行的指令,而把較復(fù)雜的功能用一段子程序來(lái)實(shí)現(xiàn)。
3.程序
計(jì)算機(jī)程序(通常簡(jiǎn)稱為程序,在我國(guó)港澳臺(tái)地區(qū)稱為程式)是指遵循一定規(guī)則和思想組織起來(lái)的、能正確完成指定工作的指令序列。現(xiàn)在的計(jì)算機(jī)還無(wú)法直接理解人類的自然語(yǔ)言,所以還不能用自然語(yǔ)言編寫計(jì)算機(jī)程序。程序通常用某種程序設(shè)計(jì)語(yǔ)言編寫,運(yùn)行于某種目標(biāo)機(jī)器上。
編寫程序(即編程,其專業(yè)術(shù)語(yǔ)是“程序設(shè)計(jì)”)是一項(xiàng)系統(tǒng)而煩瑣的工作,需要程序設(shè)計(jì)人員具有相應(yīng)的專業(yè)基礎(chǔ)知識(shí),更需要有良好的編程習(xí)慣和風(fēng)格。就像是蓋房子一樣,首先要設(shè)計(jì)圖紙,然后再動(dòng)工。
編寫程序的過(guò)程包括問(wèn)題分析、結(jié)構(gòu)設(shè)計(jì)、用戶界面設(shè)計(jì)、代碼設(shè)計(jì)與調(diào)試、維護(hù)等.通俗地說(shuō),問(wèn)題分析是要明確程序要完成什么功能、達(dá)到什么樣的效果等,結(jié)構(gòu)設(shè)計(jì)是指對(duì)程序的整體框架進(jìn)行設(shè)計(jì);用戶界面設(shè)計(jì)是指對(duì)程序運(yùn)行時(shí)與用戶交互的輸入輸出界面的設(shè)計(jì);代碼設(shè)計(jì)則進(jìn)行程序代碼的編寫,然后通過(guò)調(diào)試盡可能地排除程序中的錯(cuò)誤,以確保程序的功能性和正確性;對(duì)于使用中的程序還9要進(jìn)行維護(hù),以修改錯(cuò)誤或進(jìn)行功能和性能上的升級(jí)。