Free考研资料 - 免费考研论坛

 找回密码
 注册
打印 上一主题 下一主题

唐朔飞《计算机组成原理》(第2版)【教材精讲+考研真题解析】讲义与视频课程【5

[复制链接]
跳转到指定楼层
楼主
ooo 发表于 17-8-13 16:23:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下载地址:http://free.100xuexi.com/Ebook/134305.html
目录                                                                                        封面
内容简介
视频讲解教师简介
目录
第一部分 教材精讲[视频讲解]
 第1章 计算机系统概论[视频讲解]
 第2章 计算机的发展及应用[视频讲解]
 第3章 总线系统[视频讲解]
 第4章 存储器[视频讲解]
 第5章 输入输出系统[视频讲解]
 第6章 计算机的运算方法[视频讲解]
 第7章 指令系统[视频讲解]
 第8章 CPU的结构和功能[视频讲解]
 第9章 控制单元的功能[视频讲解]
 第10章 控制单元的设计[视频讲解]
 附录10A PC整机介绍[视频讲解]
 部分考研真题讲解[视频讲解]
 考研重点、难点串讲[视频讲解]
第二部分 考研真题解析[视频讲解]
 2015年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合真题及详解
 2014年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合真题及详解
 2013年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合真题及详解
 2012年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合真题[视频讲解]
 2011年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合真题[视频讲解]
 2010年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合真题[视频讲解]
 2009年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合真题及详解
                                                                                                                                                                                                    内容简介                                                                                            
不同一般意义的传统图书,本书是一种包含高清视频课程的多媒体“图书”,是用“高清视频”和“传统电子书”两种方式结合详解唐朔飞《计算机组成原理》(第2版)教材内容和名校考研真题的多媒体电子书【电子书+高清视频课程(53.5小时)】。作为唐朔飞《计算机组成原理》(第2版)教材的配套辅导书,本书提供视频课程的讲义内容,同时也提供参考教材的高清视频讲解(最新视频讲解,可免费升级获得),具体来说包括以下两部分:
第一部分为教材精讲【含46小时视频讲解】。本书参考国内名校名师讲授该教材的课堂笔记,浓缩经典教材的知识精华,同时精选该教材的重点内容,名师高清视频同步讲解,帮助考生牢记重点知识内容,轻松应对考试。
第二部分为考研真题解析【含7.5小时视频讲解】。为了强化考生对重要知识点的理解,本书精选了七套考研真题,每道试题都有详尽的答案解析,其中,2010~2012年配有名师高清视频讲解,所选考研真题基本涵盖了该教材各个章节的考点和难点,特别注重联系实际,凸显当前热点。
                                                                                                                                    本书更多内容>>
                                                                                                                                                                                                                    使用说明                                                                                                   
                                                                                    

内容预览
第一部分 教材精讲[视频讲解]
第1章 计算机系统概论[视频讲解]
1.1 计算机系统简介

1.1.1 计算机的软硬件概念
计算机系统由“硬件”和“软件”两大部分组成。
所谓“硬件”,是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成,如主机、外部设备等。
所谓“软件”,它看不见摸不着,由人们事先编制的具有各类特殊功能的程序组成。通常把这些程序寄寓于各类媒体,它们通常存放在计算机的主存或辅存内。
由于“软件”的发展不仅可以充分发挥机器的“硬件”功能,提高机器的工作效率,而且已经发展到能局部模拟人类的思维活动,因此在整个计算机系统内,“软件”的地位和作用已经成为评价计算机系统性能好坏的重要标志。当然,“软件”性能的发挥也必须依托“硬件”的支撑。因此,概括而言,计算机性能的好坏取决于“软”、“硬”件功能的总和。
计算机的软件通常又可以分为两大类:系统软件和应用软件。
系统软件又称为系统程序,主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度,高效运行。它包括:标准程序库、语言处理程序(如将汇编语言翻译成机器语言的汇编程序或将高级语言翻译成机器语言的编译程序)、操作系统(如批处理系统、分时系统、实时系统)、服务程序(如诊断程序、调试程序、连接程序等)、数据库管理系统、网络软件等。
应用软件又称为应用程序,它是用户根据任务需要所编制的各种程序,如科学计算程序、数据处理程序、过程控制程序、事务管理程序等。
1.1.2 计算机系统的层次结构
现代计算机的解题过程如下。
通常由用户用高级语言编写程序(称为源程序),然后将它和数据一起送入计算机内,再由计算机将其翻译成机器能识别的机器语言程序(称为目标程序),机器自动运行该机器语言程序,并将计算结果输出。其过程如图l.1所示。

图1.1 计算机的解题过程
实际上,早期的计算机只有机器语言(用0、l代码表示的语言),用户必须用二进制代码(0、1)来编写程序(即机器语言程序)。这就要求程序员对他们所使用的计算机硬件及其指令系统十分熟悉,编写程序难度很大,操作过程也极容易出错。但用户编写的机器语言程序可以直接在机器上执行。直接执行机器语言的机器称为实际机器M1,如图1.2所示。

图1.2 实际机器M1
20世纪50年代开始出现了符号式的程序设计语言,即汇编语言。它用符号ADD、SUB、 MUL、DIV等分别表示加、减、乘、除等操作,并用符号表示指令或数据所在存储单元的地址,使程序员可以不再使用繁杂而又易错的二进制代码来编写程序。但是,实际上没有一种机器能直接识别这种汇编语言程序,必须先将汇编语言程序翻译成机器语言程序,然后才能被机器接受并自动运行。这个翻译过程是由机器系统软件中的汇编程序来完成的。
如果把具有翻译功能的汇编程序的计算机看做一台机器M2,那么,可以认为M2在M1之上,用户可以利用M2的翻译功能直接向M2输入汇编语言程序,而M2又会将翻译后的机器语言程序输入给M1,M1执行后将结果输出。因此,M2并不是一台实际机器,它只是人们感到存在的一台具有翻译功能的机器,称这类机器为虚拟机。这样,整个计算机系统便具有两级层次结构,如图l.3所示。

图1.3 具有两级层级结构的计算机系统
尽管有了虚拟机M,使用户编程更为方便,但从本质上看,汇编语言仍是一种面向实际机器的语言,它的每一条语句都与机器语言的某一条语句(0、1代码)一一对应。
因此,使用汇编语言编写程序时,仍要求程序员对实际机器M.的内部组成和指令系统非常熟悉,也就是说,程序员必须经过专门的训练,否则是无法操作计算机的。另一方面,由于汇编语言摆脱不了实际机器的指令系统,因此,汇编语言没有通用性,每台机器必须有一种与之相对应的汇编语言。这使得程序员要掌握不同机器的指令系统,不利于计算机的广泛应用和发展。
20世纪60年代开始先后出现了各种面向问题的高级语言,如FORTRAN、BASIC、PASCAL、 C等。这类高级语言对问题的描述十分接近人们的习惯,并且还具有较强的通用性。程序员完全不必了解、掌握实际机器M1的机型、内部的具体组成及其指令系统,只要掌握这类高级语言的语法和语义,便可直接用这种高级语言来编程,这给程序员带来了极大的方便。
当然,机器M1本身是不能识别高级语言的,因此,在进入机器M1运行前,必须先将高级语言程序翻译成汇编语言程序(或其他中间语言程序),然后再将其翻译成机器语言程序;也可以将高级语言程序商接翻译成机器语言程序。这些工作都是由虚拟机器M1来完成的,对程序员而言,他们并不知道这个翻译过程。由此又可得出具有三级层次结构的计算机系统,如图l.4所示。

图1.4 具有三级层级结构的计算机系统
通常,将高级语言程序翻译成机器语言程序的软件称为翻译程序。
翻译程序有两种:①编译程序,②解释程序。
编译程序是将用户编写的高级语言程序(源程序)的全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序。因此;只要源程序不变,就无须再次:进行翻译。例如,FORTRAN、PASCAL等语言就是用编译程序来完成翻译的。
解释程序是将源程序的一条语句翻译成对应于机器语言的一条语句,并且立即执行这条
语句,接着翻译源程序的下一条语句,并执行这条语句,如此重复直至完成源程序的全部翻译任务。它的特点是翻译一次执行一次,即使下一次重复执行该语句时,也必须重新翻译。例如,BASIC语言的翻译就有解释程序和编译程序两种。
从上述介绍中不难看出,由于软件的发展,使实际机器M1向上延伸构成了各级虚拟机器。同理,机器M1内部也可向下延伸而形成下一级的微程序机器M0。机器M0是直接将机器M1中的每一条机器指令翻译成一组微指令,即构成一个微程序。机器M0每执行完对应于一条机器指令的一个微程序后,便由机器M1中的下一条机器指令使机器M0自动进入与其相对应的另一个微程序的执行。由此可见,微程序机器M0可看做是对实际机器M1的分解,即用M0的微程序解释并执行M1的每一条机器指令(有关微程序机器的介绍,详见第10章)
由于机器M0也是实际机器,因此,为了区别于M1,通常又将M1称为传统机器,将M0称为微程序机器。这样又可认为计算机系统具有四级层次结构,如图l.5所示。

图1.5 具有四级层次结构的计算机系统
在上述四级层次结构的系统中,实际上在实际机器M1与虚拟机器M2之间还有一级虚拟机器,它是由操作系统软件构成的。操作系统提供了在汇编语言和高级语言的使用和实现过程中所需的某些基本操作,还起到控制并管理计算机系统全部硬件和软件资源的作用,为用户使用计算机系统提供极为方便的条件。操作系统的功能是通过其控制语言来实现的。图1.6描绘了一个常见的五级计算机系统的层次结构。

图1.6 多级层次结构的计算机系统
虚拟机器M4还可向上延伸,构成应用语言虚拟机。这一级是为使计算机满足某种用途而专门设计的,该级所用的语言是各种面向问题的应用语言,如用于人工智能和计算机设计等方面的语言。应用语言编写的程序一般由应用程序包翻译到虚拟机器M4上。
从计算机系统的多级层次结构来看,可以将硬件研究的主要对象归结为传统机器M1和微程序机器M0。软件的研究对象主要是操作系统级以上的各级虚拟机。值得指出的是,软硬件交界界面的划分并不是一成不变的。随着超大规模集成电路技术的不断发展,一部分软件功能将由硬件来实现,例如,目前操作系统已实现了部分固化(把软件永恒地存于只读存储器中),称为固件等。可见,软硬件交界界面变化的趋势正沿着图1.6所示的方向向上发展。
本书主要讨论传统机器M1和微程序机器M0的组成原理及设计思想,其他各级虚拟机的内容均由相应的软件课程讲授。
1.1.3 计算机组成和计算机体系结构
1.在学习计算机组成时,应当注意如何区别计算机体系结构与计算机组成这两个基本概念。
计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。
计算机系统的属性通常是指用机器语言编程的程序员(也包括汇编语言程序设计者和汇编程序设计者)所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等,大都属于抽象的属性。
由于计算机系统具有多级层次结构,因此,站在不同层次上编程的程序员所看到的计算机属性也是各不相同的。例如,用高级语言编程的程序员可以把IBM PC与 RS6000两种机器看成是同一属性的机器。可是,对使用汇编语言编程的程序员来说,IBM PC与 RS6000是两种截然不同的机器。因为程序员所看到的这两种机器的属性,如指令集、数据类型、寻址技术等,都完全不同,因此,认为这两种机器的结构是各不相同的。
计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。
例如,指令系统体现了机器的属性,这是属于计算机结构的问题。但指令的实现,即如何取指令、分析指令、取操作数、运算、送结果等,这些都属于计算机组成问题。因此,当两台机器指令系统相同时,只能认为它们具有相同的结构。至于这两台机器如何实现其指令的功能,完全可以不同,则它们的组成方式是不同的。
例如,一台机器是否具备乘法指令的功能,这是一个结构问题,可是,实现乘法指令采用什么方式,则是一个组成问题。实现乘法指令可以采用一个专门的乘法电路,也可以采用连续相加的加法电路来实现,这两者的区别就是计算机组成的区别。究竟应该采用哪种方式来组成计算机,要考虑到各种因素,如乘法指令使用的频度、两种方法的运行速度、两种电路的体积、价格、可靠性等。
不论是过去还是现在,区分计算机结构与计算机组成这两个概念都是十分重要的。例如,许多计算机制造商向用户提供一系列体系结构相同的计算机,而它们的组成却有相当大的差别,即使是同一系列不同型号的机器,其价格和性能也是有极大差异的。因此,只知其结构,不知其组成,就选不好性能价格比最合适的机器。此外,一种机器的体系结构可能维持许多年,但机器的组成却会随着计算机技术的发展而不断变化。
例如,1970年首次推出了IBM System/370结构,它包含了许多机型。一般需求的用户可以买价格便宜的低速机型;对需求高的用户,可以买一台升级的价格稍贵的机型,而不必抛弃原来已开发的软件。许多年来,不断推出性能更高、价格更低的机型,新机型总归保留着原来机器的结构,使用户的软件投资不致浪费。
本书主要研究计算机的组成,有关计算机体系结构的内容将在“计算机体系结构”课程中讲述。
1.2 计算机的基本组成

1.2.1 冯·诺依曼计算机的特点
1945年,数学家冯·诺依曼(von Neumann)在研究EDVAC机时提出了“存储程序”的概念。以此概念为基础的各类计算机通称为冯·诺依曼机。
它的特点可归结如下:
(1)计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。
(2)指令和数据以同等地位存放于存储器内,并可按地址寻访。
(3)指令和数据均用二进制数表示。
(4)指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
(5)指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
(6)机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。
1.2.2 计算机的硬件框图
典型的冯·诺依曼计算机是以运算器为中心的,如图1.7所示。


现代的计算机已转化为以存储器为中心,如图l.8所示。


图中各部件的功能如下:
(1)运算器用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内。
(2)存储器用来存放数据和程序。
(3)控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果。
(4)输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠标等。
(5)输出设备可将机器运算结果转换为人们熟悉的信息形式,如打印机输出、显示器输出等。
计算机的五大部件(又称五大子系统)在控制器的统一指挥下,有条不紊地自动工作。
由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,尤其在大规模集成电路制作工艺出现后,这两大部件往往集成在同一芯片上,因此,通常将它们合起来统称为中央处理器(Centra1Processing Unit,CPU)。把输入设备与输出设备简称为I/O设备(Input/Output Equipment)。
这样,现代计算机可认为由三大部分组成:CPU、I/O设备及主存储器(Main Memory,MM),如图l.9所示。CPU与主存储器合起来又可称为主机,I/O设备又可称为外部设备。

图1.9 现代计算机的组成框图
图1.9中的主存储器是存储器子系统中的一类,用来存放程序和数据,可以直接与CPU交换信息。另一类称为辅助存储器,简称辅存,又称外存,其功能参阅4.4节。
算术逻辑单元(Arithmetic Logic Unit,ALU)简称算逻部件,用来完成算术逻辑运算。控制单元(Contro1Unit,CU)用来解释存储器中的指令,并发出各种操作命令来执行指令。ALU和CU是CPU的核心部件。I/O设备也受CU控制,用来完成相应的输入、输出操作。可见,计算机有条不紊地自动工作都是在控制器统一指挥下完成的。
1.2.3 计算机的工作步骤
用计算机解决一个实际问题通常包含两大步骤。一个是上机前的各种准备,另一个是上机运行。
1.上机前的准备
在许多科学技术的实际问题中,往往会遇到许多复杂的数学方程组,而数字计算机通常只能执行加、减、乘、除四则运算,这就要求在上机解题前,先由人工完成一些必要的准备工作。这些工作大致可归纳为:建立数学模型、确定计算方法和编制解题程序3个步骤。
(1)建立数学模型
有许多科技问题很难直接用物理模型来模拟被研究对象的变化规律,如地球大气环流、原子反应堆的核裂变过程、航天飞行速度对飞行器的影响等。不过,通过大量的实验和分析,总能找到一系列反映研究对象变化规律的数学方程组。通常,将这类方程组称为被研究对象变化规律的数学模型。一旦建立了数学模型,研究对象的变化规律就变成了解一系列方程组的数学问题,这便可通过计算机来求解。因此,建立数学模型是用计算机解题的第一步。
(2)确定计算方法
由于数学模型中的数学方程式往往是很复杂的,欲将其变成适合计算机运算的加、减、乘、除四则运算,还必须确定对应的计算方法。
例如,欲求sinx的值,只能采用近似计算方法,用四则运算的式子来求得(因计算机内部没有直接完成三角函数运算的部件)。

又如,计算机不能直接求解开方x,但可用迭代公式:

通过多次迭代,便可求得相应精度的值。
(3)编制解题程序
程序是适合于机器运算的全部步骤,编制解题程序就是将运算步骤用一一对应的机器指令描述。例如,计算

可分解为以下步骤:
①将x取至运算器中。
②乘以x,得x2,存于运算器中。
③再乘以a,得ax2,存于运算器中。
④将ax2送至存储器中。
⑤取b至运算器中。
⑥乘以x,得bx,存于运算器中。
⑦将ax2从存储器中取出与bx相加,得ax2+bx,存于运算器中。
⑧再取c与ax2+bx相加,得口ax2+bx+c,存于运算器中。
可见,不包括停机、输出打印共需8步。
若将上式改写成:(ax+b)x+c,则其步骤可简化为以下5步。
①将x取至运算器中。
②乘以a,得ax,存于运算器中。③加b,得ax+b,存于运算器中。
④乘以x,得(ax+b)x,存于运算器中。
⑤加c,得(ax+b)x+c,存于运算器中。
将上述运算步骤写成某计算机一一对应的机器指令,就完成了运算程序的编写。设某机的指令字长为16位,其中操作码占6位,地址码占10位,如图l.10所示。

图1.10 某机器指令格式
操作码表示机器所执行的各种操作,如取数、存数、加、减、乘、除、停机、打印等。地址码表示参加运算的数在存储器内的位置。机器指令的操作码和地址码都采用0、1代码的组合来表示。表l.1列出了某机与上例有关的各条机器指令的操作码及其操作性质的对应关系。
表1.1 操作码与操作性质的对应表

此例中所用到的数a、b、c、x,事先需存入存储器的相应单元内。
按ax2+bx+c的运算分解,可用上述机器指令编写出一份运算的程序清单,如表1.2所列。
表1.2 计算ax2+bx+c程序清单

以上程序编完后,便可进入下一步上机。
2.计算机的工作过程
为了比较形象地了解计算机的工作过程,首先分析一个比图l.9更细化的计算机组成框图,如图l.11所示。

图1.11 细化的计算机组成框图
(1)主存储器
主存储器(简称主存或内存)包括存储体M、各种逻辑部件及控制电路等。存储体由许多存储单元组成,每个存储单元又包含若干个存储元件(或称存储基元、存储元),每个存储元件能寄存一位二进制代码“0”或“…1”。可见,一个存储单元可存储一串二进制代码,称这串二进制代码为一个存储字,这串二进制代码的位数称为存储字长。存储字长可以是8位、16位或32位等。
一个存储字可代表一个二进制数,也可代表一串字符,如存储字为0011011001111101,既可表示为由十六进制字符组成的367DH(有关十六进制数制详见附录6A),又可代表16位的二进制数,此值对应十进制数为13949,还可代表两个ASCII码:“6”和“}”(参见附录5A ASCII编码表)。一个存储字还可代表一条指令(参阅表1.2)。
如果把一个存储体看做一幢大楼,那么每个存储单元可看做大楼中的每个房间,每个存储元可看做每个房间中的一张床位,床位有人相当于“l”,无人相当于“0”。床位数相当于存储字长。显然,每个房间都需要有一个房间编号,同样可以赋予每个存储单元一个编号,称为存储单元的地址号。
主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写入)、取(读出)。这种存取方式称为按地址存取方式,即按地址访问存储器(简称访存)。存储器的这种工作性质对计算机的组成和操作是十分有利的。例如,人们只要事先将编好的程序按顺序存入主存各单元,当运行程序时,先给出该程序在主存的首地址,然后采用程序计数器加1的方法,自动形成下一条指令所在存储单元的地址,机器便可自动完成整个程序的操作。
又如,由于数据和指令都存放在存储体内各自所占用的不同单元中,因此,当需要反复使用某个数据或某条指令时,只要指出其相应的单元地址号即可,而不必占用更多的存储单元重复存放同一个数据或同一条指令,大大提高了存储空间的利用率。此外,由于指令和数据都由存储单元地址号来反映,因此,取一条指令和取一个数据的操作完全可视为是相同的,这样就可使用一套控制线路来完成两种截然不同的操作。
为了能实现按地址访问的方式,主存中还必须配置两个寄存器MAR和MDR。MAR(Memory Address Register)是存储器地址寄存器,用来存放欲访问的存储单元的地址,其位数对应存储单元的个数(如MAR为10位,则有210=1024个存储单元,记为1K)。MDR(Memory Data Register)是存储器数据寄存器,用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相等。
当然,要想完整地完成一个取或存操作,CPU还得给主存加以各种控制信号,如读命令、写命令和地址译码驱动信号等。随着硬件技术的发展,主存都制成大规模集成电路的芯片,而将MAR和MDR集成在CPU芯片中(参阅图4.5)。
早期存储字长一般和机器的指令字长与数据字长相等,故访问一次主存便可取一条指令或一个数据。随着计算机应用范围的不断扩大,解题精度的不断提高,往往要求指令字长是可变的,数据字长也要求可变。为了适应指令和数据字长的可变性,其长度不由存储字长来确定,而由字节的个数来表示。1个字节(Byte)被定义为由8位(bit)二进制代码组成。如4字节数据就是32位二进制代码;2字节构成的指令字长是16位二进制代码。当然,此时存储字长、指令字长、数据字长三者可各不相同,但它们必须是字节的整数倍。
(2)运算器
运算器最少包括3个寄存器(现代计算机内部往往设有通用寄存器组)和一个算术逻辑单元(ALU)。其中ACC(Accumulator)为累加器,MQ(Multiplier.Quotient Register)为乘商寄存器,x为操作数寄存器。这3个寄存器在完成不同运算时,所存放的操作数类别也各不相同。表1.3列出了寄存器存放不同类别操作数的情况。
表1.3 各寄存器所存放的各类操作数

不同机器的运算器结构是不同的。图l.11所示的运算器可将运算结果从ACC送至存储器中的MDR;而存储器的操作数也可从MDR送至运算器中的ACC、MQ或x。有的机器用MDR取代x寄存器。
下面简要地分析一下这种结构的运算器加、减、乘、除四则运算的操作过程。
设:M表示存储器的任一地址号,[M]表示对应M地址号单元中的内容;X表示x寄存器,[X]表示X寄存器中的内容;ACC表示累加器,[ACC]表示累加器中的内容;MQ表示乘商寄存器,[MQ]表示乘商寄存器中的内容。
假设ACC中已存有前一时刻的运算结果,并作为下述运算中的一个操作数,则
加法操作过程为

即将[ACC]看做被加数,先从主存中取一个存放在M地址号单元内的加数[M],送至运算器的X寄存器中,然后将被加数[ACC]与加数[X]相加,结果(和)保留在ACC中。
减法操作过程为

即将[ACC]看做被减数,先取出存放在主存M地址号单元中的减数[M]并送入X,然后[ACC]一[X],结果(差)保留在ACC中。
乘法操作过程为

即将[ACC]看做被乘数,先取出存放在主存M号地址单元中的乘数[M]并送入乘商寄存器MQ,再把被乘数送入X寄存器,并将ACC清“0”,然后[X]和[MQ]相乘,结果(积)的高位保留在ACC中,低位保留在MQ中。
除法操作过程为

即将[ACC]看做被除数,先取出存放在主存M号地址单元内的除数[M]并送至X寄存器,然后[ACC]除以[X],结果(商)暂留于MQ,[ACC]为余数R。若需要将商保留在ACC中,只需做一步[MQ]→ACC即可。
(3)控制器
控制器是计算机的神经中枢,由它指挥各部件自动、协调地工作。具体而言,它首先要
命令存储器读出一条指令,称为取指过程(也称取指阶段)。接着,它要对这条指令进行分析,指出该指令要完成什么样的操作,并按寻址特征指明操作数的地址,称为分析过程(也称分析阶段)。最后根据操作数所在的地址以及指令的操作码完成某种操作,称为执行过程(也称执行阶段)。
以上就是通常所说的完成一条指令操作的取指、分析和执行3个阶段。
控制器由程序计数器(Program Counter,PC)、指令寄存器(Instruction Register,IR)以及控制单元(CU)组成。PC用来存放当前欲执行指令的地址,它与主存的MAR之间有一条直接通路。且具有自动加1的功能,即可自动形成下一条指令的地址。IR用来存放当前的指令,IR的内容来自主存的MDR。
IR中的操作码(OP(IR))送至CU,记作OP(IR)→CU,用来分析指令;其地址码(Ad(IR))作为操作数的地址送至存储器的MAR,记作Ad(IR)→MAR。CU用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象。
(4)I/O
I/O子系统包括各种I/O设备及其相应的接口。每一种I/O设备都由I/O接口与主机联系,它接收CU发出的各种控制命令,并完成相应的操作。例如,键盘(输入设备)由键盘接口电路与主机联系;打印机(输出设备)由打印机接口电路与主机联系。
下面结合图1.11进一步深入领会计算机工作的全过程。
首先按表l.2所列的有序指令和数据,通过键盘输入到主存第0号至第12号单元中,并置PC的初值为0(令程序的首地址为0)。启动机器后,计算机便自动按存储器中所存放的指令顺序有序地逐条完成取指令、分析指令和执行指令,直至执行到程序的最后一条指令为止。
例如,启动机器后,控制器立即将PC的内容送至主存的MAR(记作Pc→MAR),并命令存储器做读操作,此刻主存“0”号单元的内容“0000010000001000”(表1.2所列程序的第一条指令)便被送入MDR内。然后由MDR送至控制器的IR(记作MDR→IR),完成了一条指令的取指过程。经CU分析(记作OP(IR)→cu),操作码“000001”为取数指令,于是CU又将IR中的地址码“0000001000”送至MAR(记作Ad(IR)→MAR),并命令存储器做读操作,将该地址单元中的操作数x送至MDR,再由MDR送至运算器的ACC(记作MDR→ACC),完成此指令的执行过程。此刻,也即完成了第一条取数指令的全过程,即将操作数x送至运算器ACC中。与此同时,PC完成自动加1的操作,形成下一条指令的地址“1”号。同上所述,由PC将第二条指令的地址送至MAR,命令存储器做读操作,将“0001000000001001”送入MDR,又由MDR送至IR。接着CU分析操作码“000100”为乘法指令,故CU向存储器发出读命令,取出对应地址为“0000001001”单元中的操作数ax,经MDR送至运算器MQ,CU再向运算器发送乘法操作命令,完成ax的运算,并把运算结果ax存放在ACC中。同时PC又完成一次(PC)+1→Pc,形成下一条指令的地址“2”号。依次类推,逐条取指、分析、执行,直至打印出结果。最后执行完停机指令后,机器便自动停机。
1.3 计算机硬件的主要技术指标

衡量一台计算机性能的优劣是根据多项技术指标综合确定的。其中,既包含硬件的各种性能指标,又包括软件的各种功能。这里主要讨论硬件的技术指标。
1.3.1 机器字长
机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。字长越长,数的表示范围越大,精度也越高。机器的字长也会影响机器的运算速度。倘若CPU字长较短,又要运算位数较多的数据,那么需要经过两次或多次的运算才能完成,这样势必影响机器的运算速度。
机器字长对硬件的造价也有较大的影响。它将直接影响加法器(或ALU)、数据总线以及存储字长的位数。所以机器字长的确定不能单从精度和数的表示范围来考虑。
1.3.2 存储容量
存储器的容量应该包括主存容量和辅存容量。
主存容量是指主存中存放二进制代码的总位数。即存储容量=存储单元个数×存储字长
图1.11中MAR的位数反映了存储单元的个数,MDR的位数反映了存储字长。例如,MAR为16位,根据216=65536,表示此存储体内有65536个存储单元(即64K个存储字,1K=1024=210);而MDR为32位,表示存储容量为216×32=221=2M位(1M=2^20)。
现代计算机中常以字节数来描述容量的大小,因一个字节已被定义为8位二进制代码,故用字节数便能反映主存容量。例如,上述存储容量为2M位,也可用218字节表示,记作218B或256KB(B用来表示一个字节)。
辅存容量通常用字节数来表示,例如,某机辅存(如硬盘)容量为80GB(1 G=1024M=210×220=230)。
1.3.3 运算速度
计算机的运算速度与许多因素有关,如机器的主频、执行什么样的操作、主存本身的速度(主存速度快,取指、取数就快)等都有关。早期用完成一次加法或乘法所需的时间来衡量运算速度,即普通法,显然是很不合理的。后来采用吉普森(Gibson)法,它综合考虑每条指令的执行时间以及它们在全部操作中所占的百分比,即

其中,TM为机器运行速度;fi为第i种指令占全部操作的百分比数;ti为第i种指令的执行时间。现在机器的运算速度普遍采用单位时间内执行指令的平均条数来衡量,并用MIPS(Million In— struction Per Second,百万条指令每秒)作为计量单位。例如,某机每秒能执行200万条指令,则记作2 MIPS。也可以用CPI(Cycle Per Instruction)即执行一条指令所需的时钟周期(机器主频的倒数)数,或用FLOPS(Floating Point Operation Per Second,浮点运算次数每秒)来衡量运算速度。
1.4 本书结构

本书介绍计算机组成原理,其内容安排如下:
第1篇:概论,介绍计算机系统的基本组成、应用与发展。
第2篇:计算机系统的硬件结构,引导读者自顶向下了解计算机系统的硬件结构,包括中央处理器、存储器、I/O等主要部件以及连接它们的系统总线。其中,除中央处理器比较复杂放在第3篇单独讲述外,其他各部件均在此篇介绍。
第3篇:中央处理器(CPU),本篇讲述CPU的功能和结构,并对影响CPU特性、结构和功能的算逻单元及其运算方法、指令系统、指令流水、中断系统等进行详细分析。有关控制单元(CU)在第4篇单独介绍。
第4篇:控制单元(CU),本篇在详细分析时序系统以及微操作命令节拍安排的基础上,分别介绍如何用组合逻辑控制及微程序控制两种方法设计和实现控制单元。
总之,全书按自顶向下、由表及里的层次结构,向读者展示计算机的组成及其工作原理,目的是使读者能先从整体上对计算机有一个粗略的认识,然后,逐步深入到机器内核,从而更容易形成计算机的整体概念。图1.12形象地描述了上述各章节之间的联系。

图1.12 全书各章节之间的关系

下载地址:http://free.100xuexi.com/Ebook/134305.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系我们|Free考研资料 ( 苏ICP备05011575号 )

GMT+8, 25-2-23 07:30 , Processed in 0.104162 second(s), 10 queries , Gzip On, Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表