《计算机组成原理》阅读笔记一 计算机组成原理 计算机组成原理学习笔记。阅读书籍为唐朔飞老师《计算机组成原理》第3版(笔记中的截图均来自第2版pdf)
概论 概论主要介绍计算机系统的基本组成、应用与发展,对整体内容进行结构性介绍。 1. 计算机系统概论 1.1 计算机系统简介 1.1.1 计算机的软硬件概念 计算机系统包括硬件和软件。硬件指计算机的实体部分,即看得见摸得着的部分。软件指摸不着的内部程序,包括系统软件和应用软件。系统软件:用来管理计算机系统。例如:标准程序库、语言处理程序(翻译高级语言程序的编译程序等)、操作系统、服务程序、数据库管理系统、网络软件等。应用软件:用户根据任务需要编制的各种程序。 1.1.2 计算机系统的层次结构 高级程序语言,经过编译系统后,翻译得到汇编语言程序; 汇编语言程序,经过汇编系统后,得到机器语言程序; 机器语言程序会被解释为机器指令; 硬件执行机器指令。 1.1.3 计算机组成和计算机体系结构 计算机体系结构是指哪些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。 计算机组成是指如何实现计算机体系结构所体现的属性,包含了许多对程序员而言是透明的硬件细节。 指令系统体现了计算机的属性,这是计算机体系结构的问题,但是指令的实现(如何取指令、分析指令、取操作数、运算、送结果等)这是属于计算机组成问题。 因此,两台机器指令系统相同时,认为它们具有相同的结构,但是这两台机器是如何实现的这个指令系统,则可以完全不同。 1.2 计算机的基本组成 1.2.1 冯诺依曼计算机的特点 计算机由运算器、存储器、控制器、输入设备和输出设备五大部分组成。指令和数据以同等地位存放于存储器内,并可按地址寻访。指令和数据均用二进制数表示。指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数载存储器中的位置。程序存放在存储器中,这是核心特点。机器以运算器为中心:输入输出设备与存储器间的数据传送通过运算器完成。 1.2.2 计算机的硬件框图 典型的冯诺依曼计算机是以运算器为中心的,但是现代计算机已转化为以存储器为中心了,如下图所示。以运算器为中心,会导致运算器成为计算机系统的瓶颈。
运算器完成算术运算和逻辑运算,将运算中间结果保存在运算器内。存储器用来存放数据和程序。控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果。输入设备将人们熟悉的信息形式转换为机器能识别的信息形式。如键盘鼠标。输出设备将机器运算结果转换为人们熟悉的信息形式。如打印机、显示器。 由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,大规模集成电路制作工艺的出现,将运算器和控制器集成在同一个芯片上,即中央处理器CPU,输入与输出设备简称为I/O设备。 因此现代计算机可认为包括三部分:CPU、I/O设备与主存储器(Main Memory)。CPU与主存储器合起来又可称为主机,I/O设备可称为外部设备。 现代计算机组成框图如下图所示。
主存储器:存储器中的一类,用来存放程序和数据,可直接与CPU交换信息。存储器除了主存外,还包括辅助存储器,也称外存。算数逻辑单(ALU):简称算逻部件,用来完成算术逻辑运算。控制单(CU):用来解释存储器中的指令,发出各种操作命令来执行指令。ALU和CU是CPU的核心部件。 1.2.3 计算机的工作步骤 用计算机解决问题包括:上机前的准备和上机运行。下面用一个例子来描述整个过程。 上机前的准备包括:建立问题的数学模型;确定问题的计算方法;编制解决问题的程序。 【例如】:计算
。 首先,建立数学模型,已建立好了,上述公式就是解决某个问题的。 其次,确定上述公式的计算方法: 直观的结果可分为如下8步:将
取至运算器中;乘以
,得到
,存在运算器中;乘以
,得到
,存在运算器中;将
送至存储器中;取
至运算器中;乘以
,得到
,存在运算器中;将
从存储器中取出与
相加,得
,存在运算器中;取
与
相加,得结果。 若是将上式子改写为:
,则只需要5步:将x取至运算器中;乘以
,得
,存在运算器中;加
,得
,存在运算器中;乘以
,得
,存在运算器中;加
,得
,存在运算器中。 为了更快地解决问题,选择5步的计算方法,至此计算方法确定了。 最后,编制程序。此处的程序指机器语言程序(高级语言程序最终都会被翻译为机器语言的)。我们要在某机器上运行
的运算程序,需要知道该机器的相关信息。假设该机器的指令字长为16位,其中操作码占6位,地址码占10位。机器指令格式如下图:
其中,操作码表示机器所执行的各种操作,如取数、存数、加减乘除、停机、打印等。地址码表示参加运算的数字在存储器内的位置。下图表示了操作码与具体操作的对应表。
在编写上述程序之前,需要先将
存到存储器的相应单内。 现在可以编写程序了。
至此,面向某机器的机器语言程序就编写完成了,可以进行下一步的上机运行了。 上机运行 为了更清楚地描述计算机内部的运行过程,我们需要了解一个更细化的计算机组成框图。
在介绍程序运行过程之前,得先熟悉一下主存储器、运算器、控制器、I/O四部分。 主存储器 主存储器包括存储器M、各种逻辑部件及控制电路等。 存储体M由许多存储单组成,每个存储单又包含若干个存储件,每个存储件能存储一个二进制码0/1。存储字就是一个存储单内存储的这串二进制码,二进制码的长度就是就是存储字长。存储字长可以是8位、16位、32位(8的倍数)。每个存储单都有一个唯一的地址号,不会与其余存储单冲突。 主存的工作就是按存储单的地址号来对存储单进行读写。这种方式就是按地址存取。为了实现按地址访问的方式,主存中配置了两个寄存器MAR和MDR。 MAR(Memory Address Register)是存储器地址寄存器,用来存放欲访问的存储单的地址。MAR的位数与存储单的个数是相关的,如MAR有10位,那么存储单就有
个存储单。 MDR(Memory Data Register)是存储器数据寄存器,用来存放从存储单中取出/写入的数据。MDR的位数与存储单的位数,即存储字长是相等的。 随着硬件技术地发展,主存都制成大规模集成电路的芯片,MAR与MDR也都集成在了CPU芯片中。 运算器 运算器最少包括3个寄存器:ACC、MQ、X。当然现代计算机内部往往设有通用寄存器组。ACC是累加寄存器,MQ是乘商寄存器,X为操作数寄存器。 下面是个寄存器所存放的各类操作数。
控制器 控制器是计算机的神经中枢,由它指挥各部件自动、协调地工作。控制器中包括PC、IR、CU。控制器完成一条指令,具体包括3步:取指:从PC寄存器中取出指令的地址,去相应的地方得到相应的指令放到IR寄存器中。其中,PC寄存器存放待执行指令的地址。IR寄存器存放待执行指令。分析:从IR寄存器中取出待执行的指令,分析操作码和地址码。OP(IR)代表操作码,Ad(IR)代表地址码执行:分析当前指令所需完成的操作,并发出各种微操作命令序列。 I/O I/O包括各种I/O设备及其相应的接口。每种I/O设备都由接口与主机联系,它接收CU发出的控制命令,并完成相应的操作。 熟悉完上述四部分,下面根据下图描述一下计算机完成一条取数指令(从存储体中取某个数到ACC中)的全过程。
PC中存放着指令的地址,将其送到MAR;根据MAR中的地址,去存储体中获得具体的指令,并放到MDR中;MDR中的指令送入IR中;OP(IR)即IR存放的指令中的操作码部分送入CU,CU进行分析,分析后得知这是取数指令;Ad(IR)送给MAR;根据MAR中的地址,去存储体获得具体的数据,并放到MDR中;将MDR中的数据送入ACC寄存器。 上面机器的运行过程就是执行一条指令的过程:从存储体中取一个数到ACC的过程。执行
的机器语言程序,就是机器顺序执行一条条指令的过程。将程序通过输入设备送至计算机;程序首地址 —-> PC;启动程序运行;取指令:PC -> MAR -> M -> MDR -> IR, (PC) + 1 -> PC;分析指令:OP(IR) -> CU; 分析出这是一条取数指令。执行指令:Ad(IR) -> MAR -> M -> MDR -> ACC; 执行取数指令。…一条条指令顺序执行下去 1.3 计算机硬件的主要技术指标 1.3.1 机器字长 机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。 字长越长,数的标识范围越大,精度越高。 机器字长对硬件的造价也有较大的影响。 1.3.2 存储容量 存储容量包括主存容量和辅存容量。 主存容量是指主存中存放二进制码的总位数:存储单的个数乘以存储字长。MAR的位数可以反应存储单的个数,MDR的位数反应存储字长。 现代计算机以字节数来描述容量的大小。一个字节为8位。 1.3.3 运算速度 计算机的运算速度与许多因素有关:机器的主频、操作类型、主存速度等。 评价运算速度的方式:吉普森法:考虑每条指令的执行时间以及它们在全部操作中所占的百分比。MIPS:1秒钟能执行几百万条指令。CPI:执行一条指令所需的时钟周期。FLOPS:每秒钟的浮点运算次数。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/61397.html