计算机系统结构透明性分析:透明与不透明特性探讨

需积分: 10 2 下载量 151 浏览量 更新于2024-09-25 收藏 465KB DOC 举报
"计算机系统结构相关的习题答案,主要涉及透明性概念在计算机系统结构中的应用,以及不同层次程序员视角下的透明性。" 在计算机系统结构中,透明性是一个重要的概念,它指的是用户或者程序员在使用系统时,无需了解其内部具体实现细节。透明性可以提高系统的易用性和兼容性,简化编程复杂性。 1. 透明性在计算机系统中的体现: - 存储器的模m交叉存取:用户无需知道数据是如何在存储器的不同位置间交错存取的。 - 数据总线宽度:程序员可以忽略数据在总线上传输的具体宽度,只关注数据的大小。 - 阵列运算部件:对于使用数组操作的代码,程序员不必了解硬件如何执行这些运算。 - 通道是采用结合型还是独立型:I/O操作对用户来说是透明的,他们只需要启动I/O操作,无需关心实现方式。 - PDP-11系列的单总线结构:用户不会关心总线的架构,只要能正常通信即可。 - 串行、重叠还是流水线控制方式:这些是处理器内部的控制策略,不影响用户程序的编写。 - Cache存储器:用户通常不需要知道数据何时被缓存,何时从主存读取。 2. 不透明的部分: - 浮点数据表示:不同的浮点格式可能会影响计算结果,需要程序员处理。 - I/O系统是采用通道方式还是外围处理机方式:这涉及到设备驱动的编写,对程序员可见。 - 字符行运算指令:这类特定指令的使用需要程序员了解其功能和限制。 - 访问方式保护:访问权限控制是操作系统级别的,程序员需要遵循。 - 程序性中断:中断处理需要程序员编写相应的中断服务例程。 - 堆栈指令:程序员需要知道如何使用堆栈进行数据管理和控制流程。 - 存储器最小编址单位:内存分配和管理需要考虑最小单位。 3. 从不同层次程序员的角度看透明性: - 机器(汇编)语言程序员: - 透明的:指令缓冲器、时标发生器、乘法器、主存地址寄存器、移位器。 - 不透明的:指令地址寄存器、条件寄存器、磁盘外设、先行进位链、通用寄存器、中断字寄存器。 - 系统程序员: - 透明的:虚拟存储器、Cache存储器、程序状态字。 - 不透明的:系列机各档不同的数据通路宽度。 - 应用程序员: - 透明的:系列机各档不同的数据通路宽度、“启动I/O”指令、“执行”指令、指令缓冲寄存器。 - 不透明的:虚拟存储器、Cache存储器、程序状态字。 4. 数据表示和数据结构的关系: - 数据表示是硬件层面支持的数据类型,如整型、浮点型等。 - 数据结构是逻辑上的组织方式,如数组、链表、树等,它反映了数据元素之间的关系,通常由软件实现。 确定和引入数据表示的基本原则通常包括兼容性、效率、精度和可扩展性。例如,选择适合特定应用的数据表示可以提高运算速度,引入浮点表示以支持更广泛的数值范围,同时考虑到向后兼容性和未来升级的可能性。