计算机系统结构 程序设计者所见的计算机属性,着重于计算机的概念结构和功能特性,硬件、软件和固件子系统的功能分配及其界面的确定。使用高级语言的程序设计者所见到的计算机属性,主要是软件子系统和固件子系统的属性,包括程序语言以及操作系统、数据库管理系统、网络软件等的用户界面。使用机器语言的程序设计者所见到的计算机属性,则是硬件子系统的概念结构(硬件子系统结构)及其功能特性,包括指令系统(机器语言),以及寄存器定义、中断机构、输入输出方式、机器工作状态等。
硬件子系统的典型结构是冯·诺伊曼结构,它由运算器控制器、存储器和输入、输出设备组成,采用“指令驱动”方式。当初,它是为解非线性、微分方程而设计的,并未预见到高级语言、操作系统等的出现,以及适应其他应用环境的特殊要求。在相当长的一段时间内,软件子系统都是以这种冯·诺伊曼结构为基础而发展的。但是,其间不相适应的情况逐渐暴露出来,从而推动了计算机系统结构的变革。
计算机组织与实现 是研究组成计算机的功能、部件间的相互连接和相互作用,以及有关计算机实现的技术,均属于计算机组织与实现的任务。
在计算机系统结构确定分配给硬子系统的功能及其概念结构之后,计算机组织的任务就是研究各组成部分的内部构造和相互联系,以实现机器指令级的各种功能和特性。这种相互联系包括各功能部件的布置、相互连接和相互作用。
随着计算机功能的扩展和性能的提高,计算机包含的功能部件也日益增多,其间的互连结构日趋复杂。现代已有三类互连方式,分别以中央处理器、存储器或通信子系统为中心,与其他部件互连。以通信子系统为中心的组织方式,使计算机技术与通信技术紧密结合,形成了计算机网络、分布计算机系统等重要的计算机研究与应用领域。
与计算实现有关的技术范围相当广泛,包括计算机的元件、器件技术,数字电路技术,组装技术以及有关的制造技术和工艺等。
软件 软件的研究领域主要包括程序设计、基础软件、软件工程三个方面。程序设计指设计和编制程序的过程,是软件研究和发展的基础环节。程序设计研究的内容,包括有关的基本概念、规范、工具、方法以及方法学等。这个领域发展的特点是:从顺序程序设计过渡到并发程序设计和分币程序设计;从非结构程序设计方法过渡到结构程序设计方法;从低级语言工具过渡到高级语言工具;从具体方法过渡到方法学。
基础软件指计算机系统中起基础作用的软件。计算机的软件子系统可以分为两层:靠近硬件子系统的一层称为系统软件,使用频繁,但与具体应用领域无关;另一层则与具体应用领域直接有关,称为应用软件;此外还有支援其他软件的研究与维护的软件,专门称为支援软件。