1、计算机组成原理 与 汇编语言程序设计,与教师联系方式,与书中作者和中央电大联系方式见书中P2 与安徽电大责任教师联系方式E-mail:HomePage:论坛:电大在线IP:61.132.182.83留言簿:电大在线课程资源:安徽电大在线,上课、自修、考试要求,笔记:记书上没有的 网上学习:省电大多媒体教室 作业:书面和电子邮件俱可 课后疑问:在论坛里FAQ 考试:全国统一考试,省电大阅卷 实验:汇编语言部分的实验在省电大机房,对学生的要求,单纯对语言课来说,这是所有语言课中最难的一门计算机语言课 理解是最重要的,本课程记忆的部分也很多 要有不怕烦的一股钻劲, 英语要较好,学习资源,书本资源 编
2、码的奥秘英文名CODE机械工业出版社Charles Petzold著 Microsofts 80386/80486编程指南 Ross P.Nelson著 电子工业出版社 IBM-PC 汇编语言程序设计 沈美明 温冬婵 著 清华大学出版社 8086、奔腾机汇编语言程序设计 Barry B.Brey 著 电子工业出版社,学习资源,操作系统原理DOS篇张昆仓 著清华大学出版社 PC机汇编语言程序设计 SOCHA&NORTON 著 学苑出版社 宏汇编语言MASM6实用大全 东阳生等著 科学出版社,网上资源,汇编语言站点 网站 破解站点 网站 黑客站点 网站注意事项,本书软件资源,微软的MASM6.14
3、-支持最新的奔腾III处理器 微软的DEBUG-最经典的汇编工具 微软的CodeView 其他,注意事项,汇编语言网站往往本身就是破解和黑客站点,提供了大量具有破坏性的病毒和木马。请大家注意网络道德。 汇编语言本身也具有较大的破坏性,请大家尽量不要在办公用机或公共机房练习。 以上上述站点大多是个人网站和地下站点,所以不可避免的带有大量非健康信息的链接,请大家注意。,课前解疑,Q:这门课的地位? A:专业基础课,软硬件的交汇点 Q:这门课的作用? A:从宏观上把握了计算机的脉络 Q:学好这门课有什么作用? A:高手必由之路,90%的病毒(除宏病毒外)都是用汇编写的。例如:CIH病毒,1-1 计算
4、机发展与组成,1946-1958 第一代电子管计算机。磁鼓存储器,机器语言、汇编语言编程。世界上第一台数字计算机ENIAC。,1-1-1 发展概况,1958-1964 第二代晶体管计算机。磁芯作主存储器, 磁盘作外存储器,开始使用高级语言编程。,1964-1971 第三代集成电路计算机。使用半导体存储器,出现多终端计算机和计算机网络。,1971- 第四代大规模集成电路计算机。出现微型计算机、单片微型计算机,外部设备多样化。,1981- 第五代人工智能计算机。模拟人的智能和交流方式。,1946年由美国宾夕法尼亚大学研制 ENIAC(Electronic Numerical Integrator
5、And calculator),运算速度 5000次/秒,功耗150kw/h,占地170m2 ,造价100万美元。,第一章 绪论,要求:计算机工作原理的两个基础性概念工作方式信息表示,1.1计算机的基本概念,什么是计算机? 定义:一种存储事先已经编制好的程序并能连续而自动地取出这些程序来执行,只能对事先已数字化的信息进行算术或逻辑运算的快速工具。,计算机定义的概略解释,1、算术、逻辑运算(我们在小学就已学完 的加减乘除四则运算)2、信息的数字化(一架冰冷的机器所能听 懂的唯一语言)3、存贮程序的工作方式(现代化的流水 线)符合以上特征的即被称之为冯诺依曼体系结构的计算机,冯诺依曼体系结构的计算
6、机(1),约翰.冯.诺依曼(John Von Neumann) 到目前为止,几乎生产的所有计算机都是冯诺依曼体系结构的计算机,这也是我们正在使用的诸如奔2奔3之类的微机的体系结构。(但是现在的计算机科学家认为只有打破冯诺依曼体系,计算机的效率才能得到突破),冯诺依曼体系结构的计算机(2),采用二进制代码表示数据和指令。 采用存储程序工作方式,即:事先编制程序。实现存储程序。自动、连续地执行程序。,冯诺依曼体系结构的计算机(3),3.由以下五大部件组成计算机硬件系统。A:运算器(进行简单四则运算逻辑运算)B:控制器(命令自己或外部设备作这作那)C:存储器D:输入设备E:输出设备,1、存储器(主存
7、储器),计算机存取数据的部件,常用半导体做成,存储器中存放二进制单元称为在座单元,每个存储单元有一个编号,称为地址,计算机是根据地址来访问存储器的。存储器的主要技术指标有存储容量和速度。速度可用存取时间和存储周期来衡量,存取时间TA是指从启动一次存储器操作(读/写)到完成该操作所需的时间。存储周期Tm是指边疆两次访问存储器所需的最小时间间隔。通常Tm比TA稍大,这是由于存储器的积压部分都必须有一段稳定恢复的时间,所以读出后不能立即进行访问。,2、控制器,是计算机的控制指挥部件,也是全机的控制指挥中心,其主要功能是通过向计算机的各个部分发出控制信号,使整个机器自动、协调地进行工作。,3、运算器,
8、在控制器的控制下,完成算术运算和逻辑运算的部件。,4、输入设备,输入设备是给计算机输入信息的设备。输入住处通过输入设备转换成计算机能识别的二进制代码,送入存储器中保存。常用的输入设备有键盘、鼠标器和光笔。,5、输出设备,输出设备是输出计算结果的设备。常见的输出设备有显示器、打印机、绘图机等。,11计算机的基本概念,1.1.1存储程序工作方式 事先编制程序。 实现存储程序。 自动、连续地执行程序。 1.1.2信息的数字化表示 1.在计算机中的各种信息用数字代码表示。 2.用数字型电信号表示数字代码。,1.1.1存储程序工作方式,事先编制程序。 实现存储程序。 自动、连续地执行程序。这也称之为控制
9、流驱动方式。于此相对应的还有称之为数据信息流。,从生活中的例子看一看控制流与信息流 有一张留言的纸条,上面写着几句话: “到菜市场卖2斤猪肉” “洗干净肉” “将肉剁成肉馅” 红色字是动词,是命令去干什么 蓝色字是名词,是命令所要处理的对象 控制流就相当于命令去做什么的动词 而信息流就相当于命令所处理的对象 这也像一条生产流水线,流水线上的机器和人都是动作的执行者, 等待半成品到自己跟前,干自己该干的活。控制流是做动作,信息流就像生产线上的物料。(返回),1.1.2信息的数字化表示,1.在计算机中的各种信息用数字代码表示。 2.用数字型电信号表示数字代码。,1、在计算机中的各种信息用数字代码表
10、示(1),1.在计算机中的各种信息用数字代码表示。其实在计算机中,流动的也不是0、1这些数字,而是电信号。0、1是阿拉伯数字。是古印度人发明的,阿拉伯人传到西方的。是今天的人们为了方便而人为地把有无电信号用1、0称呼。计算机是根本不认识什么0、1的。 并行线图例,并行线图例,返回,1、在计算机中的各种信息用数字代码表示(2),正是因为计算机只认识电信号,所以我们尽可以放心大胆地下个绝对化的结论:任何信息,不管是命令计算机干这干那的控制信息还是储存在计算机中的数据信息,都必须化为电信号来表示。如果我们用阿拉伯数字的0、1来表示这些电信号而不是用“有电”或“没电”来叙述它们的话,我们就可以把这些电
11、信号写在纸上,写在纸上的这些0、1数字我们也容易研究,并从中寻找规律和发现规律。,1、在计算机中的各种信息用数字代码表示(3),正因为写在纸上的已经是一些数字了,外行看到的计算机专业的人们也一天到晚在研究这些数字,所以把它称之为“数字化”。由于计算机仅仅懂得电信号即这些0、1数字,所以逼得我们必须绞尽脑汁想尽办法把我们身边的图形、声音、文字等等一切一切用数字进行编码。其实用数字进行编码一点儿也不神秘,在我们生活中,早就在用数字进行编码了。,1、在计算机中的各种信息用数字代码表示(4),比如:学生的学号,在没有计算机的时代管理人员为了管理方便,就会把学生进行编制学号。把人抽象为数字。 平面与立体
12、空间。人们为了描述事物在空间中的位置,人们将空间进行了数字化,这就是坐标。上述人们进行的编码,不管有意无意,都属于“数字化”的范畴。而且进行这些工作时,人们连计算机这个名词都没有听说过。,2.用数字型电信号表示数字代码(1),计算机内部流动的电信号很单纯,它不象无线电波或水波那样连绵不绝、大小不一。在计算机内部的电信号如果测量一下的话,在不同的时间内,它要么是最大值、要么是最小值(高电平和低电平),而与水波类似的正弦波在一点测量的话,它的值可能在在最大值与最小值之间的任何一个数字上。这好像我们猜一枚硬币的正反面一样,反正不是正就是反。但是在一艘漂在海上的小木船上,木船不停地随着波浪上上下下。如
13、果让您猜一下木船现在的非常精确的海拔高度,您会那么有把握吗?,2.用数字型电信号表示数字代码(2),大家对这种电信号是否有这样的疑问?如果有一万名学生该如何表示呢?因为一个电信号只能表示两种状态,为了给这1万名学生编号,我们多用一些电信号就行了。,2.用数字型电信号表示数字代码(3),数字化方法表示信息的优点:1、抗干扰能力强,可靠性高。2、依靠多位数字信号的组合,可表示 为几乎无限的数目。3、数字化信息可以存储、易传送4、可表示的信息类型与范围广泛。5、能用逻辑代数等数字逻辑技术处理 电信号信息。,1.2 计算机系统的硬软件组成,1.2.1计算机硬件系统 1.2.2计算机软件系统,1.2.1
14、计算机硬件系统,什么是计算机硬件? 计算机硬件系统的组成1.CPU2.主存储器3.外存储器4.I/O设备5.总线6.接口,1.2.1计算机硬件系统,1.2.1计算机硬件系统,图1_1,1.2.1计算机硬件系统,CPU,主存,接口,接口,I/O设备,I/O设备,CPU,主存,接口,接口,I/O设备,I/O设备,什么是计算机硬件?,联想奔4机,1.2.1计算机硬件系统,什么是计算机硬件?,联想奔4机内部,1.2.1计算机硬件系统,什么是计算机硬件?,外设鼠标键盘,1.2.1计算机硬件系统,什么是计算机硬件?(返回),外设显示器,1.2.1计算机硬件系统,计算机硬件系统的组成CPU,CPUCentr
15、al Processing Unit由于集成电路工业的技术进步,冯 诺伊曼体系的五大部件中的运算器和控制器已经可以做在一块硅晶片上,我们把它称之为CPU。因为我们不能凭借肉眼去看清CPU的内部组成,所以我们在这儿将CPU的几个重要的组成叙述,1.2.1计算机硬件系统,计算机硬件系统的组成CPU,一下:运算器和控制器、寄存器和计数器。运算器的最基本部件就是加法器,在加法器的基础上又可制出减法器,而二进制数的移位又可制成乘除法部件。但是,一般的通用CPU的功能也就到此为止了,而一切高等的计算如微积分、矩阵、方程等的计算都要经,1.2.1计算机硬件系统,计算机硬件系统的组成CPU,过人类的专业科学家
16、将这些高等的运算逐步拆分细化,直到所有的运算已经拆分为最简单的加减乘除,这时的计算机就可以发挥其运算速度惊人的快和不出差错的优点,这些人工运算会花费很长时间的运算计算机一眨眼就能得出结果。而且你教给计算机的运算方法(程序)它会牢牢记住,,1.2.1计算机硬件系统,计算机硬件系统的组成CPU,相同的运算你无须再教,“只编一次,享用终生”。打个比方:您是一位数学家,你会做微积分,但是你不想把自己的宝贵时间浪费在计算大量重复的微积分计算上,你找了一些小学三年级的学生,然后,你把每一种微积分运算细细拆分,拆分到加减乘除的四则运算为止。以后你需要微积,1.2.1计算机硬件系统,计算机硬件系统的组成CPU
17、,分结果的话,只管问这些小学生要答案就是了。至于CPU如何区分指令还是数据,我们在后面的汇编语言部分还要详细叙述。,1.2.1计算机硬件系统,计算机硬件系统的组成CPU图,Intel MMX233,1.2.1计算机硬件系统,计算机硬件系统的组成CPU图,Intel最新的P4 2GHz,1.2.1计算机硬件系统,计算机硬件系统的组成CPU图,Intel MMX233,1.2.1计算机硬件系统,计算机硬件系统的组成CPU图,Intel MMX233,1.2.1计算机硬件系统,计算机硬件系统的组成CPU图,Intel MMX233,1.2.1计算机硬件系统,计算机硬件系统的组成CPU图,Intel
18、MMX233,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,CPU能够直接存取的存储器叫主存储器,主存储器因为不同时代的电子工业的发展水平不同,而主存储器的形态不同。但要记住本质:主存储器是唯一CPU可以编码寻址的存储器,CPU能且只能在主存储器中提取和存放数据。但是,主存储器里不能对数据进行任何处理,主存,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,储器就是一个存放数据的地方,并不是个对数据进行加工的地方,能对数据进行处理的地方只有是CPU的内部。但是CPU的内部存储数据的空间很少,而且这些空间也不是用来存放数据用的,主要是用来在计算过程中暂时存放数
19、据和中间步骤的一些临时数据用的。,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,打个比方:CPU内部好比是一条加工流水线,流水线是一张长的工作台,工人和一些设备在工作台的两边,原材料从原料仓库被送来,经过各个工序变成半成品、成品。原料仓库的各种原料来自全国甚至全世界,有专门的采购人员去采购。车间的人们只需要知道到原料仓库的什么地方去提取现在或今天需要的原料即,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,可。而生产线上的工作台只是原料的暂时存放的地方,工人们和加工机械对放在工作台上的原料进行处理,加工完毕的半成品要立刻挪走,否则别的大量的待加工的原料连放
20、都放不上工作台,有怎么可能被加工呢?CPU就是加工车间,CPU的内部可以那些可以暂时存放正在处理当中的数据的地方叫寄存器,寄存器就像加,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,工车间的工作台,寄存器的数据被处理后要立刻挪到主存储器里,以腾出空间给大量的有待处理的数据。而CPU只对主存储器进行了地址编码,主存储器就像原料仓库,CPU的所有数据和指令都存放在主存储器里。CPU不可能对别的存储设备能进行直接的存取了,只能通过软件(如通过操作系统)进行间接的存取。,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,外存储器的范围很广,我们所熟知的软盘、硬盘、光
21、盘、MO盘、磁带机、DVD盘等等。都属于外存储器的范畴。相对于主存储器而言,外部存储器有如下几个特点:,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,1.外部存储器的空间是无限的。 2.外部存储器存贮的数据具有不易失性。,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,SDRAM内存条,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,SDRAM内存条,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,SDRAM内存条,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,希捷硬盘,1.2.1计算机硬件系统,计算
22、机硬件系统的组成主存储器和外存储器,希捷硬盘,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,软盘驱动器,1.2.1计算机硬件系统,计算机硬件系统的组成主存储器和外存储器,软盘驱动器,1.2.1计算机硬件系统,计算机硬件系统的组成I/O设备,输入/输出(Input/Output)设备的范围很广。而且,信息不是无本之木、无源之水,人类需要计算机帮助我们对信息进行处理,但是计算机自己不会自动产生原本在人类社会中的数据,必须经过输入系统才能将外部信息引入到计算机内部,但是外部的信息必须,1.2.1计算机硬件系统,计算机硬件系统的组成I/O设备,有个数字化过程,这就是外部设备的主要工
23、作。比如:声卡经过数/模转换,将模拟的声波信号转化为数字信号,也只有转化为数字信号计算机才能识别、存储、处理;扫描仪将彩色图形文本转化为数字图像;数码相机、摄像机将自然界中的多彩生活转化为数字式视频交给计算机处理。因为计算机内的数字电信号要输出到,1.2.1计算机硬件系统,计算机硬件系统的组成I/O设备,计算机外,因为人类无法直接了解和解读电信号,为了使人类能够知道计算机的处理结果,必须要经过翻译转换后输出到一些设备转换为我们熟悉的文字、图形、或还原为声音,这些就是输出设备。,1.2.1计算机硬件系统,计算机硬件系统的组成I/O设备,声卡,计算机硬件系统的组成I/O设备,鼠标,1.2.1计算机
24、硬件系统,计算机硬件系统的组成I/O设备,键盘,1.2.1计算机硬件系统,计算机硬件系统的组成I/O设备,液晶显示器,1.2.1计算机硬件系统,计算机硬件系统的组成总线,正式因为CPU与主存储器、主存储器与外存储器间存在着大量的数据和指令交换,而这些交换又是体现在数字电信号的来来往往,而电的传输必须有金属导体的参与,总线就是这样的金属电线的集合,它采用分时共享的方式来防止传输冲突,总线又有专门性:即地址总线、数据总线,1.2.1计算机硬件系统,计算机硬件系统的组成总线,控制总线。地址总线是从CPU发出的很多“电线”,这些电线主要是发出主存储器或外设端口的地址码,告知数据的所在。取出的数据则通过
25、数据总线传回CPU,CPU发出的控制外部设备的命令则是通过控制总线发出的,当然,外部设备向CPU提出的申请也是通过控制总线到达CPU的。,1.2.1计算机硬件系统,计算机硬件系统的组成接口,1.2.1计算机硬件系统,计算机硬件系统的组成接口,1.2.1计算机硬件系统,1.2.2计算机软件系统,系统软件应用软件,1.2.2计算机软件系统,操作系统 编译程序、解释程序 各种软件平台,1.系统软件,处理机调度管理 存贮器管理 I/O设备管理 文件管理 作业管理,1.2.2计算机软件系统,操作系统,1.什么是机器语言? 2.什么是汇编语言? 3.什么是高级语言?,1.2.2计算机软件系统,编译程序、解
26、释程序,科学计算类 工程设计类 数据处理类 信息管理类 自动控制类,1.2.2计算机软件系统,应用软件,1.2.3 系统组成的层次结构,1.2.3 系统组成的层次结构,硬件系统(硬核) 机器语言(指令系统) 操作系统 语言处理程序及各种软件资源 用户程序,1.3 处理机的工作过程,1.3.1 处理问题的步骤1.3.2 指令执行过程,1.3.1 处理问题的步骤,系统分析 建立数学模型,设计算法 编写应用程序 编译为目标代码 由硬件执行目标程序,1.3.2指令执行过程,1.取指与指令分析 2.读取操作数 3.运算 4.后继指令地址,1.4数字计算机的特点与性能指标,1.4.1数字计算机的特点 1.
27、4.2计算机的性能指标,1.4.1数字计算机的特点,1.能在程序控制下自动连续地工作 2.运算速度快 3.运算精度高 4.具有很强的信息存储能力 5.通用性强,应用领域极其广泛,1.4.2计算机的性能指标,1.基本字长 2.数据通路宽度 3.运算速度 4.主存储器容量 5.外存容量 6.配置的外围设备及其性能 7.系统软件配置,1.5计算机的发展与应用,1.5.1计算机的发展历程 1.5.2计算机应用举例,1.5.1计算机的发展历程,1.计算机的换代 2.分类 3.计算机网络,1.5.2计算机应用举例,1.科学计算 2.信息管理中的数据处理 3.科技工程中的数据处理 4.自动控制 5.计算机辅助设计(CAD),计算机辅助制造(CAM),计算机模拟,计算机辅助教学(CAI) 6.人工智能,