計(jì)算機(jī)的體系結(jié)構(gòu)是指什么
計(jì)算機(jī)體系結(jié)構(gòu)是指程序員所看到的計(jì)算機(jī)的屬性,即計(jì)算機(jī)的邏輯結(jié)構(gòu)和功能特征,包括其各個(gè)硬部件和軟部件之間的相互關(guān)系。對(duì)計(jì)算機(jī)系統(tǒng)設(shè)計(jì)者,計(jì)算機(jī)體系結(jié)構(gòu)是指研究計(jì)算機(jī)的基本設(shè)計(jì)思想和由此產(chǎn)生的邏輯結(jié)構(gòu);對(duì)程序設(shè)計(jì)者是指對(duì)系統(tǒng)的功能描述(如指令集、編制方式等) 。
計(jì)算機(jī)體系結(jié)構(gòu)主要研究軟件、硬件功能分配和對(duì)軟件、硬件界面的確定。20世紀(jì)70年代以來(lái),在計(jì)算機(jī)軟件方面有了顯著的進(jìn)展。計(jì)算機(jī)在性能、速度、價(jià)格、可靠性和組織、實(shí)現(xiàn)技術(shù)上雖比20世紀(jì)50年代末有了巨大的突破,但它們的系統(tǒng)結(jié)構(gòu)卻并沒(méi)有什么明顯的、突破性的進(jìn)展。絕大多數(shù)機(jī)器的系統(tǒng)結(jié)構(gòu)仍然沒(méi)有脫離馮·諾伊曼型的范圍。程序設(shè)計(jì)者所見(jiàn)的系統(tǒng)結(jié)構(gòu)和20世紀(jì)50年代末相比變化不大。例如,對(duì)于指令系統(tǒng),程序設(shè)計(jì)者基本上仍然立足于20世紀(jì)50年代末的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)觀點(diǎn)來(lái)設(shè)計(jì)復(fù)雜得多的軟件。傳統(tǒng)計(jì)算機(jī)的硬件組成與高級(jí)語(yǔ)言和操作系統(tǒng)之間的嚴(yán)重脫節(jié),給軟件的可靠性、源程序編譯效率以及系統(tǒng)的解題效率等方面帶來(lái)不利的影響,這是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)需要解決的重要課題。20世紀(jì)70年代出現(xiàn)的數(shù)據(jù)流計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)思想,把傳統(tǒng)計(jì)算機(jī)的指令控制流控制方法改變?yōu)閿?shù)據(jù)控制流的控制方法,從而有可能自動(dòng)排除運(yùn)算相關(guān)性的障礙,達(dá)到高度并行的目的。
計(jì)算機(jī)軟、硬件功能分配,主要應(yīng)從實(shí)現(xiàn)費(fèi)用、對(duì)速度的影響和其他性能要求來(lái)考慮,亦即考慮如何分配能提高性能價(jià)格比。操作系統(tǒng)的基本的、通用的功能的硬化或固化,有利于提高操作系統(tǒng)的執(zhí)行效率和速度,減少開(kāi)銷;而功能不穩(wěn)定,即需要不斷變化的,用軟件實(shí)現(xiàn)有利于提供應(yīng)有的靈活性。實(shí)現(xiàn)費(fèi)用包括研制費(fèi)用和重復(fù)生產(chǎn)費(fèi)用。硬件的設(shè)計(jì)費(fèi)用和重復(fù)生產(chǎn)費(fèi)用都比軟件大,宜于硬件實(shí)現(xiàn)的功能應(yīng)該是穩(wěn)定的、常用的、比較小的,而且是軟件實(shí)現(xiàn)的速度下降會(huì)對(duì)計(jì)算機(jī)系統(tǒng)性能有較大影響的那些功能。硬件實(shí)現(xiàn)只是對(duì)產(chǎn)量大的計(jì)算機(jī)系統(tǒng)才有經(jīng)濟(jì)效益。
