计算机组成原理(第一章)

名词解释

计算机主机组成部分

运算器:计算机的执行部件,用于对数据进行加工处理。
控制器:计算机的指挥中心,由其控制各部件自动协调地进行工作。
存储器:计算机的存储部件,用于存放程序和数据。
输入设备:将程序和数据以机器所能识别和接受的信息形式输入到计算机。
输出设备:将计算机的处理结果以某些的形式输出。

性能指标

机器字长:计算机进行一次整数运算所能处理的二进制数据的位数。
数据通路带宽:数据总线一次所能并行传递信息的位数。
主存容量:主存储器所能存储信息的最大容量。

吞吐量:系统在单位时间内处理请求的数量
响应时间:从用户提交请求到系统首次产生响应并获得其所需要的结果所用的时间。
时钟周期:节拍脉冲或T周期,CPU中最小的时间单位。
主频:机器内部主时钟的频率,时钟周期的倒数。
CPI:执行一条指令所需的时钟周期数
执行时间:运行一个程序所花费的时间
MIPS:每秒执行多少百万条指令
FLOPS:每秒执行多少次浮点运算,分别为MFLOPS,GFLOPS等。

本章节的几个问题

1)计算机由哪几部分组成?

计算机由运算器控制器存储器输入设备输出设备五大部分组成,现代计算机通常把运算器控制器集成在一个芯片上,合称为中央处理器
而在微处理器面世之前,运算器和控制器分离,而且存储器的容量很小,故而设计成以运算器为中心的结构,其他部件都通过运算器完成信息的传递。如下所示

随着微电子技术的进步,同时计算机需要处理、加工的信息量也与日俱增,大量I/O设备的速度和CPU的速度差距悬殊,故以运算器为中心的结构不能满足计算机发展的要求。现代计算机已经发展为以存储器为中心,使I/O操作尽可能绕过CPU,直接在I/O设备和存储器之间完成,以提高系统的整体运行效率。

2)主频高的CPU一定比主频低的CPU快吗

衡量CPU运算速度的指标有很多,不能以单独的某个指标来判断CPU的好坏。CPU的主频,即CPU内核工作的时钟频率。CPU的主频表示CPU内数字脉冲信号震荡的速度,主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能衡量二者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(架构、缓存、指令集、CPU的位数、Cache的大小等)。由于主频并不能直接代表运算速度,因此在一定的情况下很可能会出现主频较高的CPU实际运算速度较低的现象。

3)不同级别的语言编写的程序有什么区别?哪种语言编写的程序能被硬件直接执行?

机器语言和汇编语言与机器指令对应,而高级语言不与指令直接对应,具有较好的可移植性。其中机器语言可以被硬件直接执行。

4)同一个功能既可以由软件实现又可以由硬件实现吗?

硬件和软件使两种完全不同的形态,硬件是实体,是物质基础;软件是一种信息,看不见,摸不到。但在逻辑功能上,软件和硬件是等效的。因此,在计算机系统中,许多功能既可以由硬件直接实现,又可以在硬件的配合下由软件实现。
例如,乘法的运算即可用专门的乘法器(主要由加法器和移位器组成)实现,也可用乘法子程序实现,又可以在硬件的配合下由软件实现。

5)翻译程序、汇编程序、编译程序、解释程序的区别和联系?

翻译程序是指把高级语言源程序翻译乘机器语言程序(目标程序)的软件。
翻译程序有俩种:一种是编译程序,它将高级语言源程序一次全部翻译成目标程序,每次执行程序时,只需执行目标程序,因此只要源程序不变,就无需重新翻译,请注意同一种高级语言在不同体系结构下,编译成目标程序是不一样的,目标程序与体系结构相关,但仍不失计算机硬件能够直接执行的程序。另一种是解释程序,它将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译然后翻译下一条源程序语向并执行,直至所有源程序语可全部被翻译并张行
以解释程序的执行过程是翻译一句执行一 句,汇编程序也是种语言翻译程序,它把汇编语言源程序翻译为机器语言程序。汽并且不会生成目标程序,与机器语言一对应。种面向机器的低级语言,是机器语言的符号表示
编译程序与汇编程序的区别:若源语言是诸如C. C++. Java等“高级语言”,而日社诸如光随防首成机薄酒言之类的“优质语言”则这样的个秋无在冲平程件,而目标语言是机器语言,则这样的一个翻译程序称为汇编程序。

6)计算机体系结构和计算机组成的区别和联系?

计算机体系结构是指机器语言或汇编语言程序员所看得到的传统机器的属性,包括指令集、数据类型、存储器寻址技术等,大都属于抽象的属性。
计算机组成是指如何实现计算机体系结构所体现的属性,它包含对许多对程序员来说透明的硬件细节。例如,指令系统属于结构的问题,但指令的实现即如何取指令、分析指令、取操作数、如何运算等都属于组成的问题。因此,当两台机器指令系统相同时,只能认为它们具有相同的结构,至于这两台机器如何实现其指令,完全可以不同,即可以认为它们的组成方式是不同的。例如,台机器是否具备乘法指令 是一个结构的问题, 但实现乘法指令采用什么方式则是一个组成的问题。

7)机器字长、指令字长、存储字长的区别和联系?

机器字长:计算机能直接处理的二进制数据的位数,机器字长般等于内部寄存器的大小,它决定了计算机的运算精度。
指令字长:一个指令字中包含的二进制代码的位数。
存储字长:一个存储单元存储的二进制代码的长度。它们都必须是字节的整数倍。
指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,则需要2次访存来取出一条指令,因此取指周期为机器周期的2倍;若指令字长等于存储字长,则取指周期等于机暴周期。
早期的计算机存储字长一般和机器的指令字长与数据字长相等,故访问-次主存便可取出一条指令或个数据。随着计算机的发展,指令字长可变,数据字长也可变,但它们必须都是字节的整数倍。
请注意64位操作系统是指特别为64位架构的计算机而设计的操作系统,它能够利用64位处理器的优势。但64位机器既可以使用64位操作系统,又可以使用32位操作系统。而32位处理器是无法使用64位操作系统的。

8)什么是透明性?透明是指什么都能看见吗?

在计算机领域中,站在某类用户的角度,若感觉不到某个事物或属性的存在,即“看”不到某个事物或属性,则称为“对该用户而言,某个事物或属性是透明的”。这与日常生活中的“透明”概念(公开、看得见)正好相反。
例如,对于高级语言程序员来说,浮点数格式、乘法指令等这些指令的格式、数据如何在运算器中运算等都是透明的:而对于机器语言或汇编语言程序员来说,指令的格式、机器结构、数据格式等则不是透明的。
在CPU中,IR、MAR和MDR对各类程序员都是透明的。

猜你喜欢

转载自www.cnblogs.com/godoforange/p/jizu1.html