一:计算机组成与体系结构
两个重点概念:
计算机体系结构:对程序员可见的属性。体系结构属性包括有:指令集、表示数据类型的比特数、输入输出机制、内存寻址技术。
计算机组成:实现结构规范的操作单元及其相互连接。组成属性包括那些对程序员可见的硬件细节:控制信号、计算机和外设的接口、存储器的使用技术。
例如:是否有乘法指令是计算机体系结构设计的问题,而这条指令是由特定的乘法单元实现还是重复使用系统的加法单元来实现,则是组成问题。
个人理解:总的来说,结构就是出于更上层or抽象的,而组织则是基于上层的or抽象的结构来具体实现。
二:结构和功能
计算机是一个复杂的系统,我们在设计计算机时会将其划分为各个系统层次,而每个层次具有其特定的结构和功能。所以在每一层的设计上,我们更关心它的结构和功能:
结构:部件相互关联的方法。
功能:作为结构组成部分的单个独立部件的操作。
<1>:功能
计算机的基本功能概括为:
数据处理
数据存储
数据传送 (数据通信:数据传送到远方设备or接收从远方设备传入的数据的过程)
控制
“为适应功能而改变计算机的结构的情况很少发生。计算机的通用性是根本,所有功能专门化均发生在变成阶段,而不是设计阶段。”
<2>:结构
计算机的4种主要结构部件:
中央处理单元(CPU):控制计算机的操作并且执行数据处理功能
主存储器:存储数据
I/O:在计算机及其外部环境之间进行数据的传送
系统互连:为CPU/I/O/存储器之间提供一些通信机制。一个常见的就是系统总线
CPU:
控制单元:控制CPU以至整个计算机的操作
算术逻辑单元(ALU):执行计算机的数据处理功能
寄存器:提供CPU的内部存储
CPU互连:提供控制器、算术逻辑单元和寄存器的通信机制
三:思考题
1.1计算机组成与计算机体系结构在概念上有什么区别?
答:计算机组成:实现结构规范的操作单元和相互连接。
计算机体系结构:对于程序员可见的部分,是对计算机的顶层设计。
1.2计算机结构和计算机功能在概念上有什么区别?
答:计算机结构:部件相互关联的方法
计算机功能:作为结构组成的单个独立的操作
1.3计算机的4个主要功能是:
答:4个主要功能:数据处理、数据存储、数据传送、控制
1.4列出并定义计算机的主要结构部件:
答:1.CPU:(ALU、控制单元、寄存器、互连)中央处理器,执行计算机的数据处理的控制。2.主存储器:存储数据。3.I/O:进行计算机与外部环境的数据传送4.互连:进行CPU、主存储器、I/O之间的信息传送的机制,如:总线。
1.5:如1.4
第二章
0:存储程序:将程序以某种形式与数据一同存于存储器中,这样,计算机就可以通过在存储器中读取程序来获取指令,而且通过设置一部分存储器的值就能够实现编写和修改程序。
1.冯诺依曼的ISA计算机模型:
主存储器:用于存储指令和数据
能够处理二进制数的算数逻辑单元
控制器:负责解释内存中的指令并执行之
由控制器操纵的输入输出设备
1:IAS无论是控制器还是ALU都包括了存储区域---寄存器。
存储器缓冲寄存器(MBR):包含将要写到存储器或者送到I/O单元或者接受来自存储器或I/O单元的一个字。
存储器地址寄存器(MAR):指定将要从MBR写进存储器或从存储器读入MBR的存储器字单元的一个字。
指令寄存器(IR):包含正在执行的8位操作码指令。
指令缓冲寄存器(IBR):用来暂存来自存储器一个字的右指令。
程序计数器(PC):存放将要从存储器中获取的下一对指令的地址。
累加器(AC)和乘商寄存器(MQ):用来暂存ALU运算的操作数和结果。例如:两个40位的数相乘,结果是一个80位的数,则高40位放在AC中,低40位放在MQ中。
2:控制器通过以此从存储器中取一条指令并执行它的方式来操作IAS。
3:ISA通过反复执行指令周期来运行。指令周期分为:取指周期、执行周期。
取值周期:下一条指令的操作码装入IR,地址部分装入MAR。指令可以从IBR中获取也可以从存储器中获取,即先从存储器装在一个字到MBR,然后将该字解开放入IBR、IR、MAR。那么问题来了,为什么不直接取呢?因为这些操作都是由电子电路控制并且导致数据路径的使用。为了简化电路、只用一个寄存器来指定存储器中读写的地址,而且也只用一个寄存器来存放数据源或目标。
执行周期:一旦操作码在IR中,则进行执行周期。控制电路翻译操作码,并且通过发送相应的控制信号来执行指令,这些信号控制数据的传送和ALU操作的执行。
4:IAS计算机的指令可分为以下几类:
数据传送
无条件转移
条件转移
算术运算
地址修改
5:计算机发展历程:
第一代:真空管-----代表有:ENIAC、冯.诺伊曼机、商用计算机
第二代:晶体管-----代表有:IBM7094、使用了高级语言,并为计算机提供了系统软件
第三代:集成电路---代表有:IMB System/360
半导体存储器、微处理器(将CPU的所有原件放入同一块芯片的处理器)
6:性能差异:
晶体管:比电子管体积更小、更便宜、发热更少,并且能够以与真空管相同的方式建造计算机。电子管以导线、金属片、玻璃外壳和真空管构成;集体管是固态器件,由硅片构成。
微电子技术:只有”逻辑门“、存储器位元是必须的。存储位元具有存储一位数据的元件。
四个基本功能:<1>:数据存储、<2>:数据处理、<3>:数据移动、<4>:控制。
7:默尔定律:单芯片上所能包含的晶体管的数量每12/18个月翻一番。
摩尔定律的影响:
芯片集成快速增长,单个芯片成本几乎没变,计算机的逻辑电路和存储器电路成本迅速下降。
集成度高的芯片中逻辑和存储器单元的位置更接近,电子线路长度更短,提高了工作速度。
计算机等体积更小,便于携带。
减少电能消耗和对冷却的要求
集成电路内部的连接比焊接可靠。
幸成稳定的集成电路产业投资和良好的用户生态,能够持续稳定的推动计算机产业的发展和进步。
8:高速缓存:在大而慢的存储器与存取此存储器的处理器逻辑之间插入的一个相对小而快的存储器。此高速缓存保存最近被访问过的数据,并被设计用来加快对同一数据的后续访问。
9:性能平衡:处理器的性能以惊人的速度向前发展时,计算机的其他关键部件却没有跟上。这引发了性能平衡的要求:调整组成和结构,补偿各种部件之间能力不匹配的问题。
10:嵌入式系统:是计算机硬件、软件和可能附加的机械或其它部分的一种组合,用于执行特定的功能。
11:性能评价:在评价小狐狸其硬件和设置新系统的需求时,性能是必须要考虑的因素之一。
12:时钟速度和每秒指令数
1.系统时钟:处理器在执行的操作,如取指令、译码该指令、执行算数运算等,都是由系统时钟掌控的。典型的做法是,所有的操作都是随着时钟的脉冲开始,用HZ/每秒周期数测量。
2.脉冲的速率被定义为时钟频率,或时钟速度。每增加一个脉冲或时钟被称为一个时钟周期。两个脉冲之间的时间被定义为周期时间。
3.指令的执行包括很多离散的步骤。有些指令执行需要几个周期,而有些执行则需要几十个周期。此外,当使用流水线时,多条指令被同时执行,因此不同处理器的时钟速度的直接比较是不能说明性能的整体情况的。
4.指令执行速度。处理器由时钟驱动,时钟具有确定的频率f,等价为确定的时间周期t=1/f。
Ic:一个程序运行完要执行的指令条数。
CPI:一个程序中每条指令平均周期数。
Ii:某一给定的程序中执行的i类指令的条数。
处理器执行一个给定的程序所需要的时间可表示为:T = Ic * CPI * t;
由于传送字的时间取决于存储器的周期时间,可能比处理器周期时间长,于是上式可改写为:T = Ic * (P + m * k)*t;
p:译码和执行指令所需要的处理器周期数
m:所需要访问存储器的次数
k:存储器周期时间和处理器周期时间之比。
5.这5个性能因子搜系统属性影响:指令集设计、编译技术、处理器的实现、cache与主存的层次结构。
6.处理性能的一个通用度量:指令执行的速率,表示每秒百万指令(MIPS):
7.另一个通用性能金用于浮点指令,在很多科学计算和游戏中比较常用。MFLOPS = 程序中执行浮点操作的次数 / (执行时间 * 10^6);
8.使用上述两种处理性能的通用度量是不充分的,因为存在不同的指令集,特定指令集针对特定度量具有极大的优势。“程序执行某一给定程序的性能并不能决定它是如何执行其它类型的应用程序。”所以出现了使用基准程序来测量系统的性能。
9.基准程序的基本要求:
(1):高级语言编写、可以运行在不同的机器上
(2):它是各种特殊设计的代表
(3):易于度量
(4):有广泛的发性
10:SPEC基准程序不关心指令的执行速度,而是速度度量、频率度量。
速度度量:测试一台计算机完成单个任务的能力,用运行时间和系统运行时间的比值表示。
频率度量:测试一台机器执行多个人物的吞吐量或频率。频率度量用多个基准程序运行的时间与系统运行时间的比值表示。
13:阿姆达尔定律:我们在考虑系统性能时,计算机系统设计者希望通过改变设计或改变技术来提高性能。如:并行处理器的使用、存储器高速缓存的使用、以及由于技术的改进用来加快存储器的访问和I/O的传送速率。在所有的这些情况中,我们需要注意的是:只是加速技术or设计的一个方面并不能提高性能的相应改变。
阿姆达尔定律是研究一个程序在使用多个处理器时与使用单个处理器时可能出现的加速比。speedUp = 单个处理器上运行的时间/在N个并行的处理器上运行的时间 = 1/((1-f)+ (f/n));
两个重要推论:<1>: f很小时,使用并行处理器几乎没有影响;<2>:N的的增大,加速比被限制,因此使用更多的处理器只能导致速度下降。
二:思考题
1.什么是存储程序式计算机:
答:将程序以某种形式与数据一同存于存储器中,这样,计算机就可以通过在存储器中读取程序来获取指令,而且通过设置一部分存储器的值就能够实现编写和修改程序。
2.任何计算机的四个主要部件:
答:处理器、主存储器、I/O、系统互连
3.对集成电路级别而言,计算机系统的三个基本组成部分是什么:
答:逻辑门、存储器位元、系统互连(总线)
4.解释摩尔定律:
答:摩尔定律:每隔12/18个月,芯片上的集成电路将翻一倍。
5.列出并说明计算机系列的主要特征:
答:。。。。向上兼容、性能不断提升、价格不断下降、体积质量减小
6.区分微处理器的主要特征:
答:CPU的实现是否是都在一块芯片上。