计算机系统结构(Computer Architecture)、计算机组成(Computer Organization)和计算机实现(Computer Implementation)是三个不同而又重要的概念, 它们有各自不同的内容定义和技术层面,又有紧密的关联关系。随着计算机的不断普及和大众对相关学术概念的淡化, 这三者的界限变得越来越模糊,极易产生混淆。
一、计算机系统结构
计算机系统结构 (Computer Architecture),也称为计算机体系结构,是一个系统在其所处环境中最高层次的概念;是对计算机系统中各机器级之间界面的划分和定义,以及对各级界面上、下的功能进行分配。1964 年,由G.M.Amdahl、G.A.Blaauw、F.P.Brooks 等人首先提出,并为计算机系统结构下了定义,即
“程序员(
系统程序员,涵盖汇编语言、机器语言、编译程序、操作系统)
所看到的(编写出能在机器上正确运行的程序所必须了解到的)系统的一些属性: 概念性的结构和功能上的表现,这些属性既不同于数据流和控制的组织,也不同于逻辑设计和物理实现
”。
也就是说,计算机系统结构就是计算机的机器语言程序员或编译程序编写者所看到的外特性。所谓外特性,就是计算机的概念性结构和功能特性