计算机组成原理:第一章-计算机系统体系结构
- 格式:docx
- 大小:3.21 MB
- 文档页数:25
《计算机组成原理》唐朔飞第⼆版_笔记第1章概论1,计算机系统的软硬件概念1)硬件:计算机的实体部分,它由看得见摸得着的各种电⼦元器件,各类光、电、机设备的实物组成,如主机、外部设备等。
2)软件:由⼈们事先编制的具有各类特殊功能的程序组成,分为系统软件和应⽤软件。
①系统软件⼜称为系统程序,主要⽤来管理整个计算机系统,监视服务,使系统资源得到合理的调度,⾼效运⾏。
它包括:标准程序库、语⾔处理程序(编译程序)、操作系统、、服务程序(如诊断、调试、连接程序)、数据库管理系统、⽹络软件等。
②应⽤软件⼜称应⽤程序,它是⽤户根据任务需要所编制的各种程序,如科学计算程序、数据处理程序、过程控制程序、实物管理程序。
2、计算机系统的层次结构:1)硬联逻辑级:第零级是硬联逻辑级,这是计算机的内核,由门,触发器等逻辑电路组成。
2)微程序级:第⼀级是微程序级。
这级的机器语⾔是微指令集,程序员⽤微指令编写的微程序,⼀般是直接由硬件执⾏的。
3)传统机器级:第⼆级是传统机器级,这级的机器语⾔是该机的指令集,程序员⽤机器指令编写的程序可以由微程序进⾏解释。
操作4)系统级:第三级是操作系统级,从操作系统的基本功能来看,⼀⽅⾯它要直接管理传统机器中的软硬件资源,另⼀⽅⾯它⼜是传统机器的延伸。
5)汇编语⾔级:第四级是汇编语⾔级,这级的机器语⾔是汇编语⾔,完成汇编语⾔翻译的程序叫做汇编程序。
6)⾼级语⾔级:第五级是⾼级语⾔级,这级的机器语⾔就是各种⾼级语⾔,通常⽤编译程序来完成⾼级语⾔翻译的⼯作。
7)应⽤语⾔级:第六级是应⽤语⾔级,这⼀级是为了使计算机满⾜某种⽤途⽽专门设计的,因此这⼀级语⾔就是各种⾯向问题的应⽤语⾔。
把计算机系统按功能分为多级层次结构,就是有利于正确理解计算机系统的⼯作过程,明确软件,硬件在计算机系统中的地位和作⽤。
3、计算机组成和计算机体系结构1)计算机体系结构:是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。
计算机体系结构与组成原理计算机体系结构与组成原理讨论了计算机系统的基本原理、组成结构和相互关系。
它研究了计算机的硬件和软件组件,并介绍了计算机如何执行指令以及数据在计算机内部的处理方式。
本文将从计算机体系结构和计算机组成原理两个方面来探讨这一主题。
一、计算机体系结构计算机体系结构是指计算机硬件和操作系统之间的接口关系。
它定义了计算机的结构、功能和性能特征,包括内存、输入输出设备和处理器等组件。
计算机体系结构的设计决定了计算机系统的可扩展性和性能。
1. 冯·诺依曼体系结构冯·诺依曼体系结构是一种广泛应用的计算机体系结构,是由冯·诺依曼于1945年提出的。
它包括了一个存储器、一个运算器、一个控制器、输入设备和输出设备等组件。
其中存储器用于存储数据和指令,运算器用于执行算术和逻辑运算,控制器用于指挥各个组件的操作。
2. 硬件层次结构计算机体系结构还可以按照硬件的层次结构进行分类。
常见的硬件层次结构包括计算机系统、总线、处理器和存储器等。
计算机系统是最高层次的硬件,它由多个处理器和存储器组成,并通过总线进行连接。
二、计算机组成原理计算机组成原理研究了计算机硬件的内部结构和功能,包括处理器、存储器、输入输出设备等。
它关注计算机内部数据的存储、传输和处理方式。
1. 处理器处理器是计算机的核心组件,负责执行指令和处理数据。
它由控制器和算术逻辑单元组成。
控制器用于解析和执行指令,算术逻辑单元用于执行算术和逻辑运算。
2. 存储器存储器用于存储计算机内部的数据和指令。
根据存取方式的不同,存储器可以分为随机存取存储器(RAM)和只读存储器(ROM)。
RAM用于临时存储数据和程序,而ROM则用于存储固定的指令和数据。
3. 输入输出设备输入输出设备用于将数据和指令传递给计算机系统,或将计算结果输出到外部设备。
常见的输入输出设备包括键盘、鼠标、显示器和打印机等。
三、计算机体系结构与组成原理的关系计算机体系结构和组成原理是相互关联的,在计算机系统设计和优化过程中起着重要作用。
第一章计算机系统概述1.电子(电子线路)数字(电子线路是数学式)通用(计算机本身功能多样)计算机系统。
2.计算机系统由计算机硬件(构成计算机的所有实体部件的组合)和计算机软件(一系列按照待定顺序组织的计算机数据和指令的集合)组成。
3.硬件指由中央处理器,存储器以及外围设备等组成的实际装置,硬件的作用是完成每条指令规定的功能。
指令是计算机运行的最小的功能单位,指令是指示计算机硬件执行某种运算,处理功能的命令。
4.软件是为了使用计算机而编写的各种系统的和用户的程序,程序由一个序列的计算机指令组成。
指令是用于设计的一种计算机语言。
5.计算机系统的层次结构:数字逻辑层,微体系结构层(这两层是硬件部分),指令系统层(处在硬件和软件系统),操作系统层,汇编语言层,高级语言层(这三层是软件部分)。
6.运算器(ALU,算术逻辑单元)(1)算术运算和逻辑运算(2)在计算机中参与运算的数是二进制的(3)运算器的长度一般是8,16,32或64位。
7.存储器(1)存储单元:在存储器中保存一个n位二进制数的n个触发器,组成一个存储单元。
(2)存储器地址:存储器是由许多存储单元组成,每个存储单元的编号称为地址。
(3)内存储器(ROM,RAM)8.信息单位(1)位(bit,简写b)数字计算机信息单位;包含1位二进制(0或1)(2)字节(Byte,简写B)由8位二进制信息组成(3)字(Word)计算机一次所能处理的二进制位数,至少一个字节,通常把组成一个字的二进制位数称为字长9.存储器的分类(1)按照在计算机中的作用(主存储器,寄存器,闪速存储器,高速缓冲存储器,辅助存储器等)10.主存储器(主存)通常采用半导体存储器(1)随机存取存储器(RAM)CPU可读写,断电时内容被消除(2)只读存储器(ROM)CPU只能读写,断电后可保留其数据,存储在ROM中的软件常被称为固件。
11.寄存器(CPU内部的一组特殊存储单元)(1)读写速度比主存快的多,通常被用于使用最为频繁的数据项,以避免多次访问主存,减少主存访问可大大加快计算机速度。
第1章计算机系统概论1.1 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:计算机系统由硬件和软件两大部分组成。
硬件即指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成,如主机、外设等。
软件是看不见摸不着的,由人们事先编制成具有各类特殊功能的信息组成,用来充分发挥硬件功能,提高机器工作效率,便于人们使用机器,指挥整个计算机硬件系统工作的程序、资料、数据集合。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
1.2 如何理解计算机系统的层次结构?解:(1)第一级:实际机器M1 (机器语言机器),机器语言程序直接在M1上执行;(2)第二级:虚拟机器M2(汇编语言机器),将汇编语言程序先翻译成机器语言程序,再在M1-上执行;(3)第三级:虚拟机器M3(高级语言机器),将高级语言程序先翻译成汇编语言程序,再在M2、M1(或直接到M1)上执行;(4)第零级:微程序机器M0(微指令系统),由硬件直接执行微指令。
(5)实际上,实际机器M1和虚拟机器M2之间还有一级虚拟机,它是由操作系统软件构成,该级虚拟机用机器语言解释操作系统。
(6)虚拟机器M3还可以向上延伸,构成应用语言虚拟系统。
1.3 说明高级语言、汇编语言和机器语言的差别及联系。
解:机器语言由0、1代码组成,是机器能识别的一种语言。
用机器语言编写程序时要求程序员对他们所使用的计算机硬件及其指令系统十分熟悉,编写程序难度很大,操作过程也极易出错。
汇编语言是符号式的程序设计语言,汇编语言是面向机器的语言,它由一些特殊的符号表示指令。
用汇编语言编写的汇编语言程序必须先被翻译成机器语言程序,才能被机器接受并自动运行。
汇编语言的每一条语句都与机器语言的某一条语句(0、1代码)一一对应。
高级语言是面向用户的语言,与具体的计算机指令系统无关、对问题的描述更接近于人们习惯,且易于掌握和书写。
它具有较强的通用性,程序员完全不必了解、掌握实际机器M1的机型、内部的具体组成及其指令系统,只要掌握这类高级语言的语法和语义,便可直接用这种高级语言来编程,给程序员带来了极大的方便。
组成原理与计算机体系结构计算机是一个非常复杂的系统,它在现代社会中扮演着至关重要的角色。
那么,计算机是如何诞生的呢?它的组成原理又是什么呢?本文将为大家介绍计算机的组成原理和体系结构,希望能够帮助大家更好地理解计算机。
一、计算机的组成原理计算机是由许多不同的部件组成的,这些部件需要相互配合才能正常工作。
计算机的主要组成部分包括:中央处理器(CPU)、随机存储器(RAM)、硬盘、输入设备和输出设备等。
下面将分别介绍这些部件。
1、中央处理器中央处理器是计算机的“大脑”,它负责处理所有的指令和数据。
中央处理器包括两个重要的部分:控制单元和算术逻辑单元。
控制单元的主要功能是从内存中取出指令并执行它们,而算术逻辑单元则是负责执行各种算数和逻辑运算。
2、随机存储器随机存储器是计算机的内存,它用于暂时存储数据和指令。
随机存储器的容量和速度非常重要,它们直接影响计算机的性能。
3、硬盘硬盘是计算机的主要存储设备,它用于长期存储数据和程序。
硬盘的容量随着技术的发展而不断增加,目前最大的硬盘容量已经达到数十TB。
4、输入设备和输出设备输入设备和输出设备也是计算机的主要组成部分。
输入设备包括键盘、鼠标、扫描仪等,而输出设备则包括显示器、打印机、喇叭等。
二、计算机体系结构计算机体系结构是计算机硬件和软件之间的接口,它描述了计算机的组成和运行方式。
计算机体系结构包含两个层次:指令集体系结构和微体系结构。
下面将分别介绍这两个层次。
1、指令集体系结构指令集体系结构是计算机处理器和编译器之间的接口。
它定义了计算机所支持的指令集以及这些指令的语法和语义。
指令集体系结构包含许多方面,比如地址模式、数据类型、寄存器、中断和异常等。
2、微体系结构微体系结构是计算机处理器内部的设计,它描述了如何实现指令集体系结构。
微体系结构包括处理器中的电路、指令流水线、分支预测、缓存和总线等。
三、计算机体系结构的发展计算机体系结构的发展经历了几个重要的阶段。
第一章计算机系统概论习题答案1、答:计算机系统由硬件和软件两大部分组成。
硬件即指计算机的实体部分,它由看得见摸的着的各种电子元器件,各类光电、机设备的实物组成,如主机、外设等。
软件时看不见摸不着的,由人们事先编制成具有各类特殊功能的信息组成,用来充分发挥硬件功能,提高机器工作效率,便于人们使用机器,指挥整个计算机硬件系统工作的程序集合。
软件和硬件都很重要。
2、答:从计算机系统的层次结构来看,它通常可有五个以上的不同级组成,每一个上都能进行程序设计。
由下至上可排序为:第一级微程序机器级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持和执行;第五级高级语言机器级,采用高级语言,由各种高级语言编译程序支持和执行,还可以有第六级应用语言机器级,采用各种面向问题的应用语言。
3、答:机器语言由0、1代码组成,是机器能识别的一种语言。
汇编语言是面向机器的语言,它由一些特殊的符号表示指令,高级语言是面向用户的语言,它是一种接近于数学的语言,直观,通用,与具体机器无关。
4、答:计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。
计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性,通常是指用机器语言编程的程序员所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等等,大都属于抽象的属性。
5、答:特点是:(1) 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成(2) 指令和数据以同等的地位存放于存储器内,并可以按地址寻访(3) 指令和数据均可以用二进制代码表示(4) 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置(5) 指令在存储器内按顺序存放。
通常,指令是顺序执行的,在特定情况下,可根据运算结果或根据设定的条件改变执行顺序(6) 机器以运算器为中心,输入输出设备与存储器的数据传送通过运算器。
计算机体系结构与组成原理计算机体系结构与组成原理是计算机科学与技术领域中的重要基础课程,它主要介绍了计算机系统的组成和工作原理。
本文将围绕这一主题展开探讨,从计算机体系结构和计算机组成原理两个方面展开论述。
一、计算机体系结构计算机体系结构指的是计算机硬件系统的架构和组织方式,它包括了计算机的指令集、寻址方式、存储器结构、总线结构、输入输出系统等。
计算机体系结构是计算机软件与硬件之间的接口,对计算机的性能和功能起着至关重要的作用。
1.1 指令集体系结构指令集体系结构定义了计算机能够执行的指令集合以及指令的格式和含义。
常见的指令集体系结构有RISC(精简指令集计算机)和CISC(复杂指令集计算机)。
这两种指令集体系结构在指令的数量、长度、执行速度等方面存在差异,对计算机的硬件设计和编程有着不同的影响。
1.2 存储器结构存储器结构是计算机中负责存储数据和指令的组成部分,包括主存储器(RAM)和辅助存储器(硬盘、固态硬盘等)。
常见的存储器结构有层次结构和并行结构。
层次结构中,各级存储器按照速度和容量的大小排列,高速缓存存储器(Cache)作为主存储器与CPU之间的缓冲区,提高数据的访问速度。
并行结构中,多个存储器模块同时工作,提高了数据的传输速率和系统的并行处理能力。
1.3 总线结构总线结构是计算机各部件之间传输数据和控制信息的通信线路,包括地址总线、数据总线和控制总线。
总线结构的设计要考虑数据传输的速度、容量和稳定性等因素,对于计算机系统的性能和可靠性有着重要影响。
二、计算机组成原理计算机组成原理是指计算机系统各个硬件组成部分的工作原理和实现方式。
它包括了算术逻辑单元(ALU)、控制器、寄存器、时钟信号等。
2.1 算术逻辑单元(ALU)算术逻辑单元是计算机中负责进行算术运算和逻辑判断的部件,它由逻辑门电路和寄存器组成。
ALU根据控制信号执行不同的运算操作,如加法、减法、乘法、除法等,同时也能够进行逻辑运算,如与、或、非等。
计算机组成原理目录目录如下:第1篇概论第1章计算机系统概论1.1 计算机系统简介1.1.1 计算机的软硬件概念1.1.2 计算机系统的层次结构1.1.3 计算机组成和计算机体系结构1.2 计算机的基本组成1.2.1 冯·诺依曼计算机的特点1.2.2 计算机的硬件框图1.2.3 计算机的工作步骤1.3 计算机硬件的主要技术指标1.3.1 机器字长1.3.2 存储容量1.3.3 运算速度1.4 本书结构思考题与习题第2章计算机的发展及应用2.1 计算机的发展史2.1.1 计算机的产生和发展2.1.2 微型计算机的出现和发展2.1.3 软件技术的兴起和发展2.2 计算机的应用2.2.1 科学计算和数据处理2.2.2 工业控制和实时控制2.2.3 网络技术的应用2.2.4 虚拟现实2.2.5 办公自动化和管理信息系统2.2.6 CAD/CAM/CIMS2.2.7 多媒体技术2.2.8 人工智能2.3 计算机的展望思考题与习题第2篇计算机系统的硬件结构第3章系统总线3.1 总线的基本概念3.2 总线的分类3.2.1 片内总线3.2.2 系统总线3.2.3 通信总线3.3 总线特性及性能指标3.3.1 总线特性3.3.2 总线性能指标3.3.3 总线标准3.4 总线结构3.4.1 单总线结构3.4.2 多总线结构3.4.3 总线结构举例3.5 总线控制3.5.1 总线判优控制3.5.2 总线通信控制思考题与习题第4章存储器4.1 概述4.1.2 存储器的层次结构4.2 主存储器4.2.1 概述4.2.2 半导体存储芯片简介4.2.3 随机存取存储器4.2.4 只读存储器4.2.5 存储器与CPU的连接4.2.6 存储器的校验4.2.7 提高访存速度的措施4.3 高速缓冲存储器4.3.1 概述4.3.2 Cache—主存地址映射4.3.3 替换策略4.4.1 概述4.4.2 磁记录原理和记录方式4.4.3 硬磁盘存储器4.4.4 软磁盘存储器4.4.5 磁带存储器4.4.6 循环冗余校验码4.4.7 光盘存储器思考题与习题附录4A 相联存储器第5章输入输出系统5.1 概述5.1.1 输入输出系统的发展概况5.1.2 输入输出系统的组成5.1.3 I/O设备与主机的联系方式5.1.4 I/O设备与主机信息传送的控制方式5.2 I/O设备5.2.1 概述5.2.2 输入设备5.2.3 输出设备5.2.4 其他I/O设备5.2.5 多媒体技术5.3 I/O接口5.3.1 概述5.3.2 接口的功能和组成5.3.3 接口类型5.4 程序查询方式5.4.1 程序查询流程5.4.2 程序查询方式的接口电路5.5 程序中断方式5.5.1 中断的概念5.5.2 I/O中断的产生5.5.3 程序中断方式的接口电路5.5.4 I/O中断处理过程5.5.5 中断服务程序的流程5.6 DMA方式5.6.1 DMA方式的特点5.6.2 DMA接口的功能和组成5.6.3 DMA的工作过程5.6.4 DMA接口的类型思考题与习题附录5A ASCⅡ码附录5B BCD码附录5C 奇偶校检码第3篇中央处理器第6章计算机的运算方法6.1 无符号数和有符号数6.1.1 无符号数6.1.2 有符号数6.2 数的定点表示和浮点表示6.2.1 定点表示6.2.2 浮点表示6.2.3 定点数和浮点数的比较6.2.4 举例6.2.5 IEEE754标准6.3 定点运算6.3.1 移位运算6.3.2 加法与减法运算6.3.3 乘法运算6.3.4 除法运算6.4 浮点四则运算6.4.1 浮点加减运算6.4.2 浮点乘除法运算6.4.3 浮点运算所需的硬件配置6.5 算术逻辑单元6.5.1 ALU电路6.5.2 快速进位链思考题与习题附录6A 各种进位制6A.1 各种进位制的对应关系6A.2 各种进位制的转换附录6B 阵列乘法器和阵列除法器附录6C 74181逻辑电路第7章指令系统7.1 机器指令7.1.1 指令的一般格式7.1.2 指令字长7.2 操作数类型和操作类型7.2.1 操作数类型7.2.2 数据在存储器中的存放方式7.2.3 操作类型7.3 寻址方式7.3.1 指令寻址7.3.2 数据寻址7.4 指令格式举例7.4.1 设计指令格式应考虑的各种因素7.4.2 指令格式举例7.4.3 指令格式设计举例7.5 RISC技术7.5.1 RISC的产生和发展7.5.2 RISC的主要特征7.5.3 RISC和CISC的比较思考题与习题第8章 CPU的结构和功能8.1 CPU的结构8.1.1 CPU的功能8.1.2 CPU结构框图8.1.3 CPU的寄存器8.1.4 控制单元和中断系统8.2 指令周期8.2.1 指令周期的基本概念8.2.2 指令周期的数据流8.3 指令流水8.3.1 指令流水原理8.3.2 影响流水线性能的因素8.3.3 流水线性能8.3.4 流水线中的多发技术8.3.5 流水线结构8.4 中断系统8.4.1 概述8.4.2 中断请求标记和中断判优逻辑8.4.3 中断服务程序入口地址的寻找8.4.4 中断响应8.4.5 保护现场和恢复现场8.4.6 中断屏蔽技术思考题与习题第4篇控制单元第9章控制单元的功能9.1 微操作命令的分析9.1.1 取指周期9.1.2 间址周期9.1.3 执行周期9.1.4 中断周期9.2 控制单元的功能9.2.1 控制单元的外特性9.2.2 控制信号举例9.2.3 多级时序系统9.2.4 控制方式9.2.5 多级时序系统实例分析思考题与习题第10章控制单元的设计10.1 组合逻辑设计10.1.1 组合逻辑控制单元框图10.1.2 微操作的节拍安排10.1.3 组合逻辑设计步骤10.2 微程序设计10.2.1 微程序设计思想的产生10.2.2 微程序控制单元框图及工作原理10.2.3 微指令的编码方式10.2.4 微指令序列地址的形成10.2.5 微指令格式10.2.6 静态微程序设计和动态微程序程序设计10.2.7 毫微程序设计10.2.8 串行微程序控制和并行微程序控制10.2.9 微程序设计举例思考题与习题附录10A PC整机介绍10A.1 主板10A.1.1 主板的主要组成部件10A.1.2 CPU芯片及插座(插槽)10A.1.3 内存条插槽10A.1.4 扩展插10A.1.5 配套芯片和器件10A.1.6 主板结构的改进10A.2 芯片组10A.2.1 芯片组的功能10A.2.2 芯片组的组成《计算机组成原理》是2008年1月1日高等教育出版社出版的图书,作者是唐朔飞。
第一章计算机系统概论p.191。
1 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?计算机系统:计算机硬件、软件和数据通信设备的物理或逻辑的综合体计算机硬件:计算机的物理实体计算机软件:计算机运行所需的程序及相关资料硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要1.2如何理解计算机系统的层次结构?实际机器M1向上延伸构成了各级虚拟机器,机器M1内部也可向下延伸而形成下一级的微程序机器M0,硬件研究的主要对象归结为传统机器M1和微程序机器M0,软件研究对象主要是操作系统及以上的各级虚拟机1。
3说明高级语言、汇编语言和机器语言的差别及其联系.机器语言是可以直接在机器上执行的二进制语言汇编语言用符号表示指令或数据所在存储单元的地址,使程序员可以不再使用繁杂而又易错的二进制代码来编写程序高级语言对问题的描述十分接近人们的习惯,并且还具有较强的通用性1。
4如何理解计算机组成和计算机体系结构?计算机体系结构是对程序员可见的计算机系统的属性计算机组成对程序员透明,如何实现计算机体系结构所体现的属性1.5冯·诺依曼计算机的特点是什么?由运算器、控制器、存储器、输入设备、输出设备五大部件组成指令和数据以同一形式(二进制形式)存于存储器中指令由操作码、地址码两大部分组成指令在存储器中顺序存放,通常自动顺序取出执行以运算器为中心(原始冯氏机)1。
6画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要技术指标。
计算机硬件各部件运算器:ACC, MQ, ALU, X控制器:CU, IR,PC主存储器:M,MDR, MARI/O设备:设备,接口计算机技术指标:机器字长:一次能处理数据的位数,与CPU的寄存器位数有关存储容量:主存:存储单元个数×存储字长运算速度:MIPS, CPI, FLOPS1。
7解释概念主机:计算机硬件的主体部分,由CPU+MM(主存或内存)组成CPU:中央处理器,是计算机硬件的核心部件,由运算器+控制器组成主存:计算机中存放正在运行的程序和数据的存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成存储单元:可存放一个机器字并具有特定存储地址的存储单位存储元件/存储基元/存储元:存储一位二进制信息的物理元件,是存储器中最小的存储单位,不能单独存取存储字:一个存储单元所存二进制代码的逻辑单位存储字长:一个存储单元所存二进制代码的位数存储容量:存储器中可存二进制代码的总量机器字长:CPU 能同时处理的数据位数指令字长:一条指令的二进制代码位数1.8解释英文代号CPU:Central Processing UnitPC:Program CounterIR: Instruction RegisterCU: Control UnitALU: Arithmetic Logic UnitACC:AccumulatorMQ: Multiplier—Quotient RegisterX:操作数寄存器MAR: Memory Address RegisterMDR:Memory Data RegisterI/O: Input/OutputMIPS: Million Instructions Per SecondCPI: Cycle Per InstructionFLOPS:Floating-point Operation Per Second1。
计算机组成原理与体系结构是计算机科学领域中最重要的一个主题,在计算机发展的历史上,它扮演了重要的角色。
计算机组成原理是指计算机系统的各种硬件组成部分的实现原理,而计算机体系结构则是指执行计算机指令所涉及的各种数据、功能和控制方法的总体结构框架。
在本文中,我们将会分别探究的相关知识。
一、计算机组成原理计算机组成原理是计算机科学的重要分支,它关注的是计算机系统的硬件构成和实现原理。
计算机系统可以看作是由多个硬件组成的,每个硬件都有其对应的作用,各个硬件间通过总线相连,并通过指令系统进行协调,从而实现计算机的各项功能。
计算机硬件主要由以下部分组成:1.中央处理器(CPU)中央处理器(CPU)是计算机最重要的组成部分之一。
它是负责执行计算机指令的中央控制单元。
它由算数逻辑单元(ALU)、控制单元(CU)和寄存器组成。
其中,ALU是负责执行算术运算和逻辑运算的部件,CU则用于解释指令和控制计算机中其他组件的操作,寄存器则用于存储数据和地址。
CPU的速度直接影响到计算机的性能。
2.随机存储器(RAM)随机存储器(RAM)是计算机的一种内部存储器,它可以快速存取数据,并提供给CPU进行计算。
RAM的速度比磁盘等外部存储器快得多,但其容量较小。
在计算机中,RAM被操作系统用于存储运行中的程序和数据。
3.输入/输出(I/O)设备输入/输出(I/O)设备用于数据的输入和输出,例如鼠标、键盘、显示器、打印机、网络接口卡等。
I/O设备一般连接在计算机系统的外围,通过总线与CPU进行通信。
4.存储器层次结构存储器层次结构指不同容量和速度的存储器组成的存储系统。
存储器数据的读取速度从cpu到高速缓存(l1、l2)到主存,最后到硬盘。
其中的理念是:越靠近CPU的存储容量越小,但速度越快,越靠外层的存储容量越大,但速度越慢。
5.总线总线是计算机系统各个部件之间传递信息的通道。
计算机中常用的总线有地址总线、数据总线和控制总线。
二、计算机体系结构计算机体系结构是一种规范,它决定了计算机的指令集、数据类型、寄存器的种类和数量、内存的寻址方式、I/O的方式、中断的处理方式等。
计算机组成原理第一章计算机组成原理第一章主要涉及计算机发展的历史背景及计算机的基本概念。
在计算机产生之前,人们使用机械计算器进行数学计算,并且需要手动操作进行算术运算。
而计算机的诞生改变了这种情况,计算机可以自动执行计算任务,大大提高了计算速度和精确度。
计算机系统由硬件和软件两部分组成。
硬件包括中央处理器(CPU)、内存、输入输出设备等。
而软件则是安装在计算机硬件上的程序和数据。
计算机通过执行软件中的指令来完成各种任务。
计算机的基本运算包括加法、减法、乘法和除法。
在计算机中,数值以二进制形式表示,并且利用电子开关来表示0和1。
这种二进制形式的计算和存储使得计算机系统更加高效和可靠。
在计算机系统中,信息的传输是通过电路连接实现的。
信息可以通过数据总线、控制总线和地址总线进行传输。
数据总线负责传输数据,控制总线负责控制和协调计算机内部各个部件的工作,地址总线用于指定存储器或者设备的地址。
计算机也需要进行数据的存储和检索。
内存是计算机存储数据和程序的地方,它被划分为多个存储单元,每个存储单元可以存储一个数据或者指令。
计算机还需要外部存储器来存储大量的数据,例如硬盘和光盘等。
计算机的指令集架构是计算机体系结构的重要组成部分。
指令集架构定义了计算机系统中处理器的指令和寄存器,以及指令的执行方式。
目前常用的指令集架构包括x86、ARM和MIPS 等。
计算机的工作方式可以分为单指令周期工作方式和多指令周期工作方式。
单指令周期工作方式意味着计算机每个指令在一个时钟周期内完成执行。
而多指令周期工作方式则允许计算机在一个时钟周期内执行多个指令。
总之,计算机组成原理第一章主要介绍了计算机的基本概念和发展历史,以及计算机系统的组成和工作方式。
了解这些基本知识对于理解计算机的工作原理和设计原则非常重要。
1.l 解释下列名词摩尔定律:对集成电路上可容纳的晶体管数目、性能和价格等发展趋势的预测,其主要内容是:成集电路上可容纳的晶体管数量每18个月翻一番,性能将提高一倍,而其价格将降低一半。
主存: 计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取。
控制器:计算机的指挥中心,它使计算机各部件自动协调地工作。
时钟周期:时钟周期是时钟频率的倒数,也称为节拍周期或T周期,是处理操作最基本的时间单位。
多核处理器:多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。
字长:运算器一次运算处理的二进制位数。
存储容量: 存储器中可存二进制信息的总量。
CPI:指执行每条指令所需要的平均时钟周期数。
MIPS:用每秒钟执行完成的指令数量作为衡量计算机性能的一个指标,该指标以每秒钟完成的百万指令数作为单位。
CPU时间:计算某个任务时CPU实际消耗的时间,也即CPU真正花费在某程序上的时间。
计算机系统的层次结构:计算机系统的层次结构由多级构成,一般分成5级,由低到高分别是:微程序设计级,机器语言级,操作系统级,汇编语言级,高级语言级。
基准测试程序:把应用程序中使用频度最高的那那些核心程序作为评价计算机性能的标准程序。
软/硬件功能的等价性:从逻辑功能的角度来看,硬件和软件在完成某项功能上是相同的,称为软/硬件功能是等价的,如浮点运算既可以由软件实现,也可以由专门的硬件实现。
固件:是一种软件的固化,其目的是为了加快软件的执行速度。
可靠性:可靠性是指系统或产品在规定的条件和规定的时间内,完成规定功能的能力。
产品可靠性定义的要素是三个“规定”:“规定条件”、“规定时间”和“规定功能”。
MTTF:平均无故障时间,指系统自使用以来到第一次出故障的时间间隔的期望值。
MTTR:系统的平均修复时间。
MTBF:平均故障间隔时间,指相邻两次故障之间的平均工作时间。
可用性:指系统在任意时刻可使用的概率,可根据MTTF、MTTR和MTBF等指标计算处系统的可用性。
一计算机系统体系结构1.1 什么是计算机体系结构本章的第一个概念是计算机系统(computer system)。
计算机系统包括读取并执行程序的中央处理单元(CPU,保存程序和数据的存储器以及将芯片转换为实用系统的其他子系统。
这些子系统会使CPU与显示器、打印机、Internet等外部设备之间的通信变得更加容易。
•cpu(处理器): 计算机实际执行程序的部分•微处理器: 在单个硅片上实现的CPU•微机: 围绕微处理器构建的计算机计算机的性能既取决于CPU;也取决于其他子系统。
如果不能高效进行数据传输,仅仅提高CPU的性能是毫无意义的。
Figure 1:•信息(程序和数据): 保存在存储器中;计算机会使用不同类型的存储器,达到不同的目的。
–如果不能叫信息保存在正确的存储器,那么CPU的速度再快也将毫无意义–Cache: 保存常用的数据是高速专用的存储器。
–主存: 存放大量的工作数据,断电消失–辅存: 指磁盘等,用于存储海量的数据。
永久存储•组成计算机的各个子系统通过总线连接在一起,数据通过总线从计算机中的一个位置传递到另一个位置。
什么是计算机Figure 2:•输入: 指用户交给计算机的信息•输出: 指计算机返回给用户的信息可编程计算机接收两种类型的输入: 它将要处理的数据,以及准确描述要如何处理输入数据的程序。
程序不过是计算机所执行的完成给定任务的操作序列。
Figure 3:•CPU读程序并完成程序指定的操作。
内部使用寄存器来保存数据•存储器系统保存两类信息:程序,程序处理或产生的数据计算机从存储器中读出指令并执行这些指令(即完成或执行指令定义的动作)。
执行指令时,可能要从存储器中读出数据,对数据进行操作,将数据写回存储器。
寄存器是CPU内部用来存放数据的存储单元。
时钟提供了脉冲流,所有内部操作都在时钟脉冲的触发下进行。
时钟频率是决定计算机速度的一个因素程序执行过程Figure 4:CPU先读取一条指令;在CPU分析或解码指令;从存储器中读出这条指令所需的所有数据。
1.LOAD X: 从存储器中读出变量X的值。
并将它暂存到寄存器中2.LOAD Y: 从存储器中读出变量X的值。
并将它暂存到寄存器中3.Z=X+Y: 将两个寄存器中的内容相加,并将结果写在第三个寄存器中4.STORE Z: 将结果写回到存储单元z中###计算机指令尽管计算机能够执行上百种不同指令,但下面的6条基本指令可以将所有计算机指令进行分类:•Mov A, B: 将B的值复制到A•LOAD A, B: 将存储单元B的值复制到寄存器A中•STORE A, B: 将寄存器B的值复制到存储单元A中•ADD A, B: A与B相加,结果保存到A中•TEST A: 测试A的值是否为o•BEQ Z: 若最后一次测试结果为TRUE,执行地址Z处的代码,否则继续执行1.2 体系结构和组成体系结构: 描述了一些与计算机组成方式有关的内容;因为不同的用户会从完全不同的角度看待计算机。
寄存器1.用来存放一个单位的数据或字数据的存储单元。
使用它保存数据的位数来描述–典型的有8位、16位、32位和64位。
2.与存储器中的字存储单元没有本质区别。
唯一区别在于寄存器里cpu近,访问速度远远大于存储器计算机体系结构通常被认为是程序员视角中的计算机•程序员看到的是计算机的抽象视图;计算机的实际硬件和实现都被隐藏起来了•这个抽象视图现在通常被称作指令集体系结构(ISA)计算机组成表示其体系结构的具体实现机器码汇编语言高级语言计算机上执行的代码表示为二进制1和0组成的串,被称作机器码(machine code)。
每种计算机都只能执行一种特定的机器码。
人类可读的机器码(例如ADD R0 ,Time)叫作汇编语言。
能够在类型完全不同的计算机上运行,与底层计算机体系结构几乎没有关系的代码叫作高级语言(比如C或Java)。
在执行之前,高级语言程序必须首先被编译为计算机的本地机器码。
体系结构与组成是不能完全分离的。
例如;微处理器内的32位寄存器可以按照与16位计算机相同的方式实现,如使用16位数据总线,以16位为单位传输数据,功能单元也是16位的。
如果程序员指示计算机将寄存器A中的32位数据复制到寄存器B中,他将要执行一个32位操作,但16位计算机将执行两个16位操作,这对程序员来说是完全不可见的。
按照这个例子,我们可以说一台计算机的体系结构是32位的,但它的组成却是16位的。
指令集体系结构包括: 数据类型(每个字的位数以及各个位的含义),用来保存临时结果的寄存器,指令的类型和格式,以及寻址方式(表示数据在存储器中存放位置的方法)。
不同层次的程序员看到的计算机是不一样的。
汇编语言程序员看到的计算机与C 或Java等高级语言程序员看到的有很大的区别。
即使都是高级语言程序员,C程序员所看到的也与Prolog或LISP程序员看到的有很大的不同。
微代码(Microcode)与微处理器无关。
微代码定义了一组基本操作(微指令),通过执行这些操作可以解释执行机器码。
ADD P,Q,R是一条典型的机器指令,而微指令可能像“将数据从寄存器X移到总线Y上”那么简单。
如何定义微指令是芯片设计者的职责。
1.术语“体系结构(architecture)”代表计算机的抽象指令集体系结构(它的指令集)2.术语“组成(organization)”代表计算机的实际硬件实现–“组成”一词也会被用于描述完整的计算机,包括它的CPU、存储器、总线以及输入/输出机制。
3.术语“微体系结构(microarchitecture)”代表CPU的实现1.2.1 计算机系统和技术Figure 5:•技术: 说明了计算机组件的工艺的重要性(例如,芯片制造技术决定了芯片的速度和功耗)。
–计算机速度是设计计算机首要考虑的问题。
摩尔定律: 芯片的集成度每18个月翻一番。
•应用: 表示计算机的最终应用。
一些计算机被用于汽车的嵌入式控制系统,一些被用于游戏机,还有一些用于家庭或办公室。
•工具: 一些计算机之外的因素也会影响计算机设计最先进的计算机使用了最新的制造技术。
Figure 6:1.设备技术: 决定了计算机的速度及其存储系统的容量,包括那些用于制造处理器和主存的半导体技术; 制造硬盘的磁技术;用于CD-ROM、DVD和蓝光光碟的光技术; 以及网络连接技术。
2.总线技术: 结构、组成和控制均对计算机性能有很大影响。
3.外设(如调制解调器、键盘、打印机和显示系统)与应用(如桌上排版、图形和多媒体)等技术,都会影响计算机系统的设计。
1.2.2 计算机体系结构在计算机科学中的地位1.计算机与计算机科学不能被分开2.计算机体系结构课程会概述计算机是如何工作的,计算机能做什么,并告诉学生们一台典型的存储程序计算机是如何运转的。
3.计算机是计算机科学的心脏——没有计算机,计算机科学只能作为理论数学的一个分支。
4.理解计算机体系结构对从事计算机领域的工作具有重要帮助。
5.计算机体系结构不能完全与软件分离。
6.计算机体系结构支撑了计算机科学课程体系中其他领域的许多重要观点。
时钟时钟是用于生成连续的间隔固定的电脉冲流。
之所以被称作时钟,是因为可用这些电脉冲来计时或确定计算机内所有事件的顺序时钟可用它的重复速率或频率来定义。
时钟也可以用时钟脉冲的宽度或持续时间来定义,即频率的倒数事件由时钟信号触发的数字电路被称作同步的,因为它们由时钟信号来同步。
1.3 计算机发展计算机的发展历史丰富而复杂,远比许多人想象得久远。
1.3.1 机械计算机人类是会计算的生物。
穴居人发明数学也许不是为了在湿冷的天气里玩数独游戏,而是为了丈量土地、建造房屋和报税。
罗马人将鹅卵石放在小托盘上表示数字。
后来,他们沿着线滑动鹅卵石辅助进行加法或减法,从而完成计算。
中亚的一些商店,那里的人们用算盘快速地进行计算。
•1642年,法国数学家布莱士·帕斯卡(Blaise Pascal)设计了一个原始的机械加减法计算装置,能够借助发条完成加减法。
•1694年,德国数学家弗里德·威廉·莱布尼茨Gottfried wilhelm Leibnite)制作了一台复杂的机械计算器,能够完成加减乘除运算。
这些设备都不能称作现代意义上的计算机,因为它们都是不可编程的。
可编程这个概念产生于工业革命时期,出于工业化控制的需要。
•1801年,人们发明了提花织机,能够自动地将预先设计好的图案织在布上提花织机使用穿孔木制卡片控制织在纺织品上的图案卡片上的一个位置上有没有洞决定水平方向的线是在垂直方向的线之前还是之后。
每个打了孔的卡片就是一个程序,因为每个孔的图案指定了一个唯一的操作序列。
•1882年,查尔斯·巴贝奇(Charles Babbage)在英格兰设计了一台叫作差分机( difference engine)的计算装置,能够自动地计算构造数学表所需的多项式的值。
巴贝奇没有完成他的差分机,1855年 Per Georg Scheutz 在瑞典制造出差分机。
1.3.2 机电式计算机机电( electromechanical)指那些有活动件但却由电控制的零件。
•1867年发明的打字机和1879年发明的穿孔制表机(穿孔卡片输入机) 都促进了机电式计算机的发展。
机电式计算机是连接机械时代与以真空管、晶体管和集成电路为代表的电子时代的纽带。
•20世纪40年代康拉德.楚泽在德国制造出自己设计的计算机,在第二次世界大战期间该计算机用来设计飞机。
楚泽的计算机是第一台可编程计算机;而同时代的其他机器都不是软件可编程的,只能算作是自动计算器。
楚泽还设计了世界上第一种程序设计语言,叫作Plankalküil,1.3.3 早期电子计算机•1937年~1942年,约翰·文森特·阿塔那索夫(John V.Atanasoff)制造出第一台电子计算机(ABC),用于解线性方程。
•1944年制造的巨像计算机(Colossus)是另一台早期计算机,它安放于布莱切利园,二战期间用来破译德军的恩格玛密文。
巨像计算机使用真空管,是一台真正的电子计算机,但它不能存储程序,因而只能完成专门的任务。
•1945年,J.莫奇利(J.Mauchly)和J.埃克特( J.Eckert)设计了ENIAC,一台能够处理10位10进制数的真空管计算机,但它不能像今天我们编写程序那样编程。
•埃克特和莫奇利还设计了一台更先进的计算机——EDVAC,具有存储程序的特征。
•在英格兰,曼彻斯特大学的研究人员于1948年设计出世界上第一台可操作的存储程序计算机——曼彻斯特宝宝。
•AT&T贝尔实验室在1948年发明了晶体管,之后发展出了半导体,它在功能上与真空管等效,但体积更小,功耗更低。