1. 程式人生 > 其它 >計算機體系結構 和 計算機組成的區別

計算機體系結構 和 計算機組成的區別

計算機體系結構 和 計算機組成的區別

計算機體系結構 和 計算機組成的區別

P7

1. 計算機體系結構

計算機體系結構 是那些能夠被 程式設計師所見到的 計算機系統的屬性, 即 概念性的結構與功能特性.

計算機系統的屬性通常是指用機器語言程式設計的 程式設計師(也包括 組合語言程式設計者 和 彙編程式設計者)所看到的 傳統機器的屬性,

包括 指令集, 資料型別, 儲存器定址技術, I/O機理等, 大都屬於抽象的屬性.

由於計算機系統具有多級層次結構, 因此, 站在不同層次上 程式設計的程式設計師 所看到的 計算機屬性 也是各不相同的.

例如, 用 高階語言 程式設計的程式設計師可以把 IBM PC 與 RS6000 兩種機器看成是 同一屬性的機器.

可是, 對使用 組合語言 程式設計的程式設計師來說, IBM PC 與 RS6000 是 兩種不同的機器.

因為 程式設計師所看到的 這兩種機器的 屬性, 如 指令集, 資料型別, 定址技術等, 都完全不同,

因此, 認為這兩種機器的結構是 各不相同的.

2. 計算機組成

計算機組成 是指 如何實現計算機體系結構所體現的屬性, 它包含了許多對程式設計師來說是透明的硬體細節.

例如, 指令系統體現了 機器的屬性, 這是屬於 計算機結構的問題.

但指令的實現, 即如何取指令, 分析指令, 取運算元, 運算, 送結果等, 這些都屬於計算機組成的問題.

因此, 當兩臺機器指令系統相同是, 只能認為它們具有相同的結構.

至於這兩臺機器如何實現其指令的功能, 完全可以不同, 則它們的組成方式是不同的.

例如, 一臺機器是否具備乘法指令的功能, 這是一個結構問題, 可是, 實現乘法指令採用什麼方式, 則是一個組成問題.

實現乘法指令可以採用一個專門的乘法電路, 也可以採用 連續相加 的 加法電路來實現, 這兩者的區別就是計算機組成的區別.

究竟應該採用哪種方式來組成計算機, 要考慮到各種因素, 如 乘法指令使用的 頻度, 兩種方法的執行速度, 兩種電路的 體積, 價格, 可靠性等.

3. 總結

不論是過去還是現在, 區分 計算機結構 和 計算機組成 這兩個概念都是十分重要的.

例如, 許多計算機制造商向用戶提供一系列體系結構相同的計算機, 而它們的組成卻又相當大的差別,

即使是同一系列不同型號的機器, 其價格和效能也是有 極大差異的.

因此, 只知其結構, 不知其組成, 就選不好效能價格比最合適的機器.

此外, 一種機器的體系結構可能維持許多年, 但機器的組成卻會隨著計算機技術的發展而不斷變化,

例如, 1970年首次推出的額 IBM System/370結構, 它包含了很多機型.

一般需求的使用者可以買價格便宜的低速機型; 對需求高的使用者, 可以買一臺升級的價格稍貴的機型, 而不必拋棄原來已開發的軟體.

許多年來, 不斷推出效能更高, 價格更低的機型, 新機型總歸保留著原來機器的結構, 使使用者的軟體投資不致浪費.

本書 主要研究 計算機的組成, 有關 計算機體系結構 的內容 將在 "計算機體系結構" 課程中講述

參考文獻

[1] 唐朔飛. 計算機組成原理[M]. 3版. 北京: 高等教育出版社,2020.