计算机组成
第一章 计算机系统概述
本章知识回顾
本章总结
1)计算机由哪几部分组成?以哪部分为中心?计算机由运算器、控制器、存储器、输入设备及输出设备五大部分构成,现代计算机通常把运算器和控制器集成在一个芯片上,合称中央处理器。
在微处理器面世之前,运算器和控制器分离,而且存储器的容量很小,因此设计成以运算器为中心的结构,其他部件都通过运算器完成信息的传递。随着微电子技术的发展,同时计算机需要处理、加工的信息量也与日俱增,大量IO设备的速度和CPU的速度差距悬殊,因此以运算器为中心的结构不能满足计算机发展的要求。现代计算机已发展为以存储器为中心,使 IO 操作尽可能地绕过 CPU,直接在IO设备和存储器之间完成,以提高系统的整体运行效率。
2)主频高的 CPU 一定比主频低的 CPU 快吗?为什么?
衡量CPU运算速度的指标有很多,不能以单独的某个指标来判断CPU的好坏。CPU的主频表示CPU内数字脉冲信号振荡的速度,主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(架构、缓存、指令集、CPU的位数、Cache 大小等)。由于主频并不直接代表运算速度,因此在一定情况下很可能会出现主频较高的 CPU 实际运算速度较低的现象。
3)翻译程序、汇编程序、编译程序、解释程序有什么差别?各自的特性是什么?
见常见问题和易混淆知识点1。
4)不同级别的语言编写的程序有什么区别?哪种语言编写的程序能被硬件直接执行?
机器语言和汇编语言与机器指令对应,而高级语言不与指令直接对应,具有较好的可移植性。
其中机器语言编写的程序可以被硬件直接执行。
常见问题和易混淆知识点
1、翻译程序、解释程序、汇编程序、编译程序的区別和联系是什么?
翻译程序有两种;一种是编译程序,它将高级语言程序一次全部翻译成目标程序,只要程序不变,就无须重新翻译。另一种是解释程序,它将源程序的一条语言翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语言并执行,直至所有源程序语全部被翻译并执行完。所以解释程序的执行过程是翻译一句执行一句,并且不会生成目标程序。
汇编程序也是一种语言翻译程序,它把汇编语言源程序翻译为机器语言程序。编译程序与汇编程序的区别;若源语言是诸如C、c、javs等“高级语言”,而目标语言是诸如汇编语言或机器语言之类的“低级语言”,则这样的一个翻译程序称为编译程序。若源语言是汇编语言,而目标语言是机器语言,则这样的一个翻译程序称为汇编程序。
2.什么是透明性?透明是指什么都能看见吗?
在计算机领域中,站在某类用户的角度,若感觉不到某个事物或属性的存在,即“看”不到某个事物或属性,则称为“对该用户而言,某个事物或属性是透明的”。这与日常生活中的“透明”概念(公开、看得见)正好相反。例如,对于高级语言程序员来说,浮点数格式、乘法指令等这些指令的格式、数据如何在运算器中运算等都是透明的;而对于机器语言或汇编语言程序员来说,指令的格式、机器结构、数据格式等则不是透明的。在CPU中,IR、MAR和MDR对各类程序员都是透明的。
成的间顾即使是回度的差异
3、字、字长、机器字长、指令字长、春储字长的区别和联系是什么?
字长是指CPU内部用于整数运算的数据通路的宽度,因此字长等于CPU内部用于整数运算的运算器位数和通用寄存器宽度,它反映了计算机处理信息的能力。
字和字长的概念不同。字用来表示被处理信息的单位,用来度量数据类型的宽度,如x86机器中将一个字定义为16位。
**指令字长:**一个指令字中包含的二进制代码的位数。
**存储字长:**一个存储单元存储的二进制代码的位数。
它们都必须是字节的整数倍。
指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,则需要2个访存周期来取出一条指令;若指令字长等于存储字长,则取指令周期等于机器周期。
早期的存储字长一般与指令字长、字长相等,因此访问一次主存储器便可取出一条指令或一个数据。随着计算机的发展,指令字长、字长都可变,但必须都是字节的整数倍。
4、计算机体系结构和计算机组成的区别和联系是什么?
计算机体系结构是指机器语言或汇编语言程序员所看得到的传统机器的属性,包括指令集、
数据类型、存储器寻址技术等,大都属于抽象的属性。,分算机组成是指如何实现计算机体系结构所体现的属性,它包含许多对程序员来说透明的硬件细节。例如,指令系统属于结构的问题,但指令的实现即如何取指令、分析指令、取操作数、如何运算等都属于组成的问题、因此,当两合机器的指令系统相同时,只能认为它们具有相同的格局,至于这两合机器如何实现其指令,则完全可以不同、即可以认为它们的组成方式是不同的销物、三台机器是否具备乘法指令是一个结构的问题,但安现法指采什么式则是一个组成的问题。许多计算机厂商提供一系列体系结构相同的计算机,而它们的组成却有相当大的差别,即使是同一系列的不同型号机器,其性能和价格差异也很大。
5.基准程序执行得越快说明机器的性能越好吗?一般情况下,基准测试程序能够反映机器性能的好坏。但是,由于基准程序中的语句存在度的差异,因此运行结果并不能完全说明问题。