计算机组织与结构个人总结

计组第一章

计算机体系结构architecture是指那些对程序员可见的系统属性,是直接影响程序的逻辑执行

计算机组成organization是实现结构规范的操作单元 及其相互连接

功能function:作为结构组成部分单个独立部件的操作

结构structure:中央处理器,主储存器,系统互联,IO

cpu:控制单元CU,计算逻辑单元ALU,寄存器CPU内部互连

第二章

区别计算机发展阶段是计算机电子元件

冯诺依曼机(存储程序式计算机)结构:主储存器,ALU(AC存储计算结果),控制单元通过时钟信号控制其他单元,IO

从晶体管开始用硅片半导体

微电子时代(integrate circuit level)计算机由门、存储器单元及他们之间的互连组成

在取址周期(fetch cycle)中,下一条指令的操作码装入IR,地址部分装入MAR

在执行周期(excuse cycle)中,存储器将数据传入MBR,PC加一

嵌入式系统embedded system:是计算机硬件,软件,和可能附加的机械或其他部分的一种组合,用于执行特定的功能

CPU性能公式   1兆赫就是10^6赫兹

CPU时间=(IC*CPI)/频率

IC是指令条数,CPI i是第i种指令的指令周期

I i是第i种指令的数量

因为不同的指令其周期不同

所以CPI一般是每种指令的平均时钟周期数

CPI=CPU时钟周期数目/IC

或者把所有的指令的时钟周期都找出来做平均数也行。

MIPS指标是指cpu每秒可以执行多少百万条指令数

在计算时,直接用处理器的时钟频率除以平均(CPI*10^6)

在计算优化处理器的加速因子Speedup时,等于运算某一任务,优化前的运行时间除以优化后的运行时间,由于考虑到优化的部分不一定是全部,所以使用Amdahl's law来计算Speedup=改进前的性能/改进后的性能,如一任务的浮点操作占整个操作时间的40%,改进后,其浮点操作部分加速k倍,则计算speedup=1/(60% + 40%/k)

第三章

一个指令周期(取址周期和执行周期)包括的状态有:

指令地址计算

读取指令

指令操作译码

操作数地址计算

取操作数

数据操作

存储操作数

计算时间周期即把每一个包括的状态所用的时钟周期数求和

存储器地址寄存器(MAR)

存储器缓存寄存器(MBR)

程序计数器(PC)计算地址

指令寄存器(IR)

累加器(AC)

指令的功能有:{

处理器-内存:数据可以从处理器传送到内存,也可以从内存传送到处理器。

处理器-l/0:数据可以通过处理器和1/O模块之间的传输传输到或从外围设备。

数据处理:处理器可以对数据执行一些算术或逻辑操作。

控制:指令可以指定更改执行顺序。}

中断是把IO程序部分中断,使得节约了处理器 等待IO操作的时间,但同时也会产生其他的指令,但因为部分IO操作的时间和用户指令执行时间相重叠,使用中断效率都提高了。

当中断发生时,挂起当前正在执行的程序,并保存其状态,即保存PC当前内容以及任何与处理器当前活动相关的数据

多重中断有两种方法:{

关闭中断(disable interupt):在中断处理过程中忽略其他中断

判断优先级:定义中断的优先级,且允许优先级高的中断引起优先级低的中断处理程序本身被中断。}

大多计算机通过总线的互联结构来实现‘储存器’‘IO模块’‘处理器’之间的信息交换

总线的结构包括{数据总线,地址总线,控制总线,扩展总线,局部总线}

总线一次只能传输一个设备

最高级的叫系统总线(system bus)

地址总线用于传送地址,其宽度决定了能访问存储器的最大容量,因为每个地址的存储器是一个存储单元(即一字节)所以如16位地址总线最大能访问存储器容量为2^8 = 265字节,而数据总线用于传输数据的二进制,则如16位的数据总线,即该处理器一个字为16位,每个总线周期中只能传输两个字节,已知总线周期可以计算总线传输率。

常说的数据总线的宽度就是指32/64/128根分离导线的数量,每条线传输一位。(如用32位的数据总线传输64位的指令则需要访问两次储存器)

地址总线的宽度决定了系统能够使用到的最大容量的储存器容量

控制线用于控制对地址线和数据线的存取和使用

PCI总线用于连接其他需要与处理器直接连接的外围设备

SCSI总线通常用于将视频设备连接到处理器

要合理设计设备连接到总线的结构来提高性能

使用单总线的好处是:我们可以减少所需的硬件(线)数量,从而降低成本

使用多总线的好处{

每个总线上连接的设备少,总线长度短,传输延迟小

缓解了瓶颈效应(通过提高总线的数据传输率或使用更宽的总线来缓解)

}

总线设计考虑因素{

类型(专用/复用),仲裁arbitration方式(集中式/分布式),时序(同步synchronous/异步),总线宽度(地址/数据),数据传输类型

}

集中式总线判优控制:

1、链式查询:连线简单,易于扩充,对电路故障最敏感

2、计数器定时查询:优先级设置较为灵活,复杂

3、独立请求式:速度最快,成本最高

学会描述时序图:

如同步读和写操作的时序图描述:处理器在第一个时钟周期将存储器地址放到地址总线上,并且可以声明各种地址线。一旦地址线上的信号稳定,处理器就会发出一个地址允许信号。对于读操作,处理器在第二个时钟周期开始时发出一个读命令。存储器模块识别地址,在延迟一个周期后,将数据放到数据线上。处理器从数据线上读取数据,并且撤销读信号。对于写操作,在第二个周期开始时将数据放到数据线上,并且在数据线稳定后发出一个写命令。存储器模块在第三个数据线上复制信息。

如一个异步写操作:总线的主控者将数据放到数据线上,与此同时启动状态线和地址线,存储器模块通过从数据线上复制数据来响应写命令,并使确认线上的信号有效。然后,主控者撤除写命令信号,而存储器模块撤除确认信号。

总线支持的数据传输类型:{

内存到处理器:处理器从内存中读取一条指令或一个数据单元。

处理器到内存:处理器将一个数据单元写入内存。

I/0到处理器:处理器通过1/O模块从1/O设备读取数据。

处理器到I/O:处理器将数据发送到l/O设备。

I/O和内存的直接交互:对于这两种情况,1/O模块允许直接与内存交换数据,而不需要经过处理器,使用直接内存访问(DMA)。}

PCI总线:(为高速的IO子系统提供更好的性能)(复用/集中式仲裁/同步时序)

PCI信号线的功能组:{

系统引脚:包括时钟和复位引脚。

地址和数据引脚:包括32行,用于地址和数据的时间复用。

接口控制引脚:控制事务的时间,提供发起者和目标之间的协调。

仲裁引脚:与其他PCI信号线不同,这些不是共享线。相反,每个PCI主服务器都有自己的一对仲裁线,将其直接连接到PCI总线仲裁器。错误报告引脚:用于报告奇偶校验和-14}

计组第四章

存储器特征:

存储容量:通常用字节或字来表示,所说的KB(2^10字节),MB(2^20字节)都是字节

传输单元:指每次读入或输出的位数,对于一些外设,每次传输单元也称为块

数据单元的存储方式:

顺序存取存取时间取决于数据存储的位置和深度(磁带)

直接存取磁盘

随机存取主存

关联存取cache

性能: 存取时间:进行一次读或写的操作时间

存储周期时间:主要用于RAM,是存取时间加下一次存取开始之前的附加时间,与系统总线有关,与处理器无关

传输率:对于RAM,R=1/周期时间,对于RAM有 Tn = Ta + n/R(Tn指读或写n位的平均时间,Ta指平均存取时间,n指位数,R传输率)

存储器物理特性:易失性(磁表面存储器)/不易失性(半导体),可擦出性(RAM)/不可擦除(ROM)

存储器结构层次:register  ->  cache  ->  main-memory  ->  磁盘  ->  磁带

可以通过改进不同层次的存储器之间数据的传输机制来减少miss penalty

cache:

局部性原理locality of reference(三种):

时间局部性the temporal aspect of locality of reference:如果一个信息项正在被访问,那么它近期很有可能会再次被访问

空间局部性the spacial aspect of locality of reference:在最近的将来将要用到的信息很可能与正在使用的信息在空间地址上是临近close

顺序局部性:在典型程序中,除转移类指令外,大部分指令是顺序进行的。顺序执行和非顺序执行的比例大致是5:1

cache分为:逻辑cache和物理cache

地址长度=s + w

映射功能:1,直接映射 (direct access):块大小=行大小=2^w ,主存的块数=2^s ,cache的行数=2^r ,则标记长度为(s-r)位

2,全相联映射(associative mapping):块大小=行大小=2^w ,主存的块数=2^s,标记长度为 s 位

3,组相联映射(set-associative mapping):块大小=行大小=2^w ,主存的块数=2^s ,v = 组数,k = 每组的行数,则标记长度=(s - k)

替换算法(replacement algorithm)LRU(替换掉目前最长时间未被访问的行),FIFO(替换掉在cache中停留时间最长的行),LFU(替换掉访问次数最少的行)

计算多级cache的平均存取时间(access time):

首先要知道惩罚时间是等于本级存储的hit time,miss time=下一级存储的hit time + 惩罚时间miss penalty

early-start:将数据直接从主存读到处理器的方式

读操作平均存取时间=(hit ratio)*(hit time)  +  (1 - hit ratio)*(miss time)

the main memory is structured into module each with its own address register called:ABR(地址缓存寄存器)

在交叉内存中,地址的地位用来表示模块的位置

当访问连续内存地址时,一次只访问一个模块

写操作的平均存取时间:

首先要知道cache的三种写操作

1.写回法(write--back)

  当CPU对cache写命中时,只修改cache的内容不立即写入主存命中时不换出,只当此行被换出时才写回主存。这种策略使cache在CPU-主存之间,不仅在读方而且在写方向上都起到高速缓存作用。对一cache行的多次写命中都在cache中快速完成修改,只是需被替换时才写回速度较慢的主存,减少了访问主的次数从而提高了效率。为支持这种策略,每个cache行必须配置一个修改位(脏位,写命中时脏位变为1),以反映此行是否被CPU修改过对于cache写未命中,此时要把cache的一行换出,检查脏位是否被修改,若被修改,则先要把修改过的行传回主存修改主存,同时miss的行都要被主存的一行所替换。

2.写直达法(write--through)

  又称全写法,写透。在写操作时,不论在cache是否命中,都会直接修改主存内容,即写入多少内容,主存传输量就是多少,但是在考虑未命中时如何将主存传入cache,这里不做详细讨论。这种策略 显然较好地维护了cache与主存的内容一致性,但这并不等于说全部解决了一致性问题。例如在多处理器系统中各CPU都有自己的cache,一个主存块若在多个cache中都有一份拷贝的话,某个CPU以写直达法来修改它的cache和主存时,其它cache中的原拷贝就过时了。即使在单处理器系统中,也有I/O设备不经过cache向主存写入的情况。总之,仍要关注一致性问题。

  写直达法是写cache与写主存同步进行,其优点是cache每行无需设置一个修改位以及相应的判测逻辑。写直达法的缺点是,cache对CPU向主存的写操作无高速缓冲功能,降低了cache的功效。

一个指令有两次内存引用

经验表明,写入的内存引用的百分比大约是15% (SMIT82)。然而,对于HPC应用程序,这个数字可能接近33%(向量-向量乘法),并可能高达50%(矩阵转置)。

对内存的读和写:读是直接找到目标地址的将数据读出,写是先找到目标地址,并且对目标地址的内容进行修改;

设:Ta是从cpu到cache的数据传输时间

Tb是从cache到主存的数据传输时间

Tm是从cpu到主存的数据传输时间

H为命中率

W是写访问所占比例

Wb是cache中一行已被修改的概率

hit:cpu直接从cache读数据T=Ta(1 - W)

miss:cpu先在cache中没找到,再到主存中找 T=Ta + Tm*(1 - W)

(写直达)hit:将数据同步传入主存和cacheT=Tm * W * H

写直达miss:cpu先将数据写入主存,主存再将数据写入cache T=Tm + Tb*(1-H)* W

写(写回式)hit:Ta * H * W

写(写回式)miss:(Tb*Hb + Tb)*(1-H)* W

空间局部性是指执行时倾向于涉及大量聚集的内存位置。时间局部性是指处理器访问最近使用过的内存位置的趋势。

cache行的大小会影响命中率,太大太小都不行

计组第五章:

本章存储器都是半导体材料

RAM随机存储器:必须持续供电,一旦断电,数据就会丢失

DRAM 利用电容充电来表示单一位值0或1,其电信号属于模拟信号,要求支持刷新的电路,用于主存

SRAM采用触发器逻辑门来储存二进制数字信号,比DRAM快,用于cache

注意单位mbps是每秒传送比特数量,8 mbps = 1 mb

ROM只读存储器:可编程ROM(PROM),光可擦除可编程ROM(EPROM),点可擦除可编程ROM(EEPROM),快闪存储器

芯片逻辑:

通过将多片芯片通过矩阵组织在一起形成更大的芯片

片选信号选择行列

使用数据选择器或者译码器将地址接口先后对接行和列,(有可能地址接口最高两位为片选信号)

8位地址接口A0-A7,4位数据接口D0-D3加CS接口(片选)可组成64K*4bit芯片

2^8 * 2^8 * 4)

只有DRAM封装是多路复用的,SRAM不是(8个地址接口就只有2^8寻址范围)

学会芯片封装的线路图:

字扩展:数据线相同,地址线不同,如下图:

位扩展:地址线相同,数据线不同:如下图(课后5.8题)

字位扩展:地址线和数据线都不相同

刷新是以行(row)为单元进行刷新,即一个芯片要刷新所有的内存其刷新的次数等于其行数,且刷新的时间=存取时间。

纠错:

奇偶校验码只能检错,在原数据最后一位加检测位使得校验码中1的个数为奇数(奇校验)或偶数(偶校验)

汉明码纠错,能够纠错:

n位元数据有K位纠错码,计算K:找出最小整数K使得2^k-1 >= n+K(如8位原数据需要4位汉明码)

计算纠错码:n + K位的纠错码,从左往右数位数,纠错码依次插在1,2,4,8,16...(2^(x-1))位置(如8位原数据纠错码依次插在1 2 4 8处),第K个纠错码Cx=整个汉明码位数的二进制的第k位为1的位置的值做异或运算(如8位原数据的第一个纠错码=D3 D5 D7 D9 D11做异或)。

在从主存中读出汉明码后,重新计算纠错码,与原来的纠错码做按位异或运算得出发生错误的位置从而纠错。

第六章:

磁盘(magnetic disk),数据的记录读出都是通过磁头(head)进行

磁盘的结构分为磁道,间隙,扇区

所有盘面上的相同的相对位置的一组磁道为一个柱面

数据是以扇区为单位传入或传出磁盘

恒定角速度(CAV):优点是能以磁区号和扇区号直接寻址,缺点存储容量受内圈的限制

多带式记录:每一个扇区的位数是固定的,所以远离中心的磁道扇区更多,容纳更多位

大多数磁盘都是双面磁化的,在计算一个次磁盘驱动器的容量时,注意有个磁盘,每个磁盘是单面还是双面

一个磁盘驱动器上所有盘片上相同的相对位置的一组磁道被称为一个柱面磁头读取同一个柱面上的数据只需要一次寻道时间,且连续同连续磁道一样不需要移动磁头,当时在传送数据的时候只能一个磁道一个磁道一次传输数据,不能并行。

*磁盘性能参数:

寻道时间:磁头定位到该磁道所花时间(磁头寻找磁道的时间)

旋转延迟:等待相应扇区的起始处到达磁头的这段时间(盘片旋转的时间)

平均旋转延迟 = 磁盘旋转二分之一周的时间(1/2r

寻道时间 + 旋转时间 = 存取时间(即整个定位的过程)

当定位好后,开始传送数据的时间叫 传送时间T(传送一字节等于磁盘旋转一周时间除以每磁道字节数)

设旋转速率为r(单位rpm转/分)

每磁道的字节数为N

平均寻道时间是Ts

要顺序存取方式 传送b字节需要时间Ta = Ts + 1/2r + b/rN

而当某块数据是随机存放在磁盘上的,则每个扇区都需要重新寻道寻道时间和旋转旋转延迟

磁带驱动器是顺序存取设备,只能安物理记录依次读取

磁盘驱动器是直存取(direct-access)设备

计算突发传送率:不用考虑寻道时间和旋转延迟

第七章:

IO模块的功能:控制和定时,处理器通信,设备通信,数据缓冲,检错

三种基本IO技术

编程式I/O(programed I/O):当处理器发送一条命令到IO模块,必须等待IO操作完成

中断式I/O(interrupt-driver I/O):当处理器发送完IO命令后,继续执行其他指令,当IO结束工作时,处理器中断其他工作

DMA:处理器授权IO模块直接与主存交换数据,不经过cpu

*IO设备的两种编址方式:

1,存储器映射式I/O:存储单元与IO设备有统一的地址空间,使用相同的机器指令,使用统一的读线和写线

2,分离式IO:I/O独立编址,与存储单元使用不同的指令和读写线,IO的地址空间与存储器的地址空间分离。

在中断式I/O中,如何确定发出中断设备:1,多条中线 2,软件论询 3,菊花链电路(向量式)4,总线仲裁(向量式)

DMA:

IO模块必须控制总线系统来进行与存储器的数据传输,采用两种方式,1在总线空闲时插空传输,2则是周期窃取

突发式DMA:占用总线一次性传输所有数据

周期窃取:一般为每传输一个字(数据块,根据题目说明一次传输多大),窃取一个总线周期(需要依次总线控制转移时间),只有在数据传输的开始和结束是会有CPU参与

I/O通道(根据通道连接状况计算最大传输率):

选择通道:控制多个高速设备,每次选择一个高速设备进行有效的数据传输

多路通道:能够同时处理多个I/O设备,对于低速设备,多路并行传输多个设备;对于高速设备,多路交叉传输同一设备

处理器通过寄存器扫描和处理IO设备的指令,首先检查状态需要一条输入类型的指令来读取设备状态寄存器,加上至少一条其他指令来检查寄存器内容。如果设备准备好了,就需要一条输出类型的指令来向设备处理程序,所以一共三条指令。

第八章:

操作系统概述:

操作系统是控制处理器上执行和管理处理器资源的软件

操作系统的主要服务:程序创建,程序执行,存取IO,文件的存取控制,系统存取,错误检查和响应,统计

调度类型:

长期调度(scheduling):决定要执行的进程池

中期调度:决定增加主存中部分或全部进程的数量

短期调度:决定哪个可用进程将由处理器执行

进程是一个正在执行的程序,以及执行所需要的所有状态信息;而交换的目的是为了进程执行提供有效的主内存使用。

批处理系统

多道程序批处理系统追求处理器利用率最大(dispatcher)吞吐率,周转时间(当多道作业时处理器利用率为100%时,考虑最后一个作业的等待时间无需考虑处理器(交换)),和处理器利用率

分时系统追求响应时间最少

调度:进程(process)进程状态用进程控制块表示(PCB

存储器管理:

变长分区会导致存储器中出现很多小的空块,所以需要紧缩技术

存储器分块使用叫做分页,能有效减少空间浪费(程序员不可见)

当物理存储地址不够时,我们采用虚拟存储器的方式,使得每一个进程都有一个虚拟地址,最终对应到物理地址

虚拟地址是对现实地址的扩展

将用户页表存储在虚拟地址的优点:节省了物理空间(用户页表只有在需要时才能被分页到内存中,操作系统可以动态的分配用户页表,只有再创建进程时才创建一个用户页表。

缺点:地址转换需要额外的工作)

分段对程序员可见,目的是为程序员提供较大空间

本章最重要知识点在于虚拟地址转换为实际地址

已知虚拟分页与实际分页的对应关系

将虚拟地址mod分页大小得到虚拟页号,在表中检索对应实际页表的帧号

,若虚拟页表中有效位为0,说明当前虚拟地址无效,页失效,将虚拟地址/分页大小得到偏移量,则实际页基址+偏移量为物理地址

分段分页可同时被硬件支持,分段用于存储器逻辑分区,分页用于逻辑分区的物理再分配

已知系统分页逻辑结构,求处理器的逻辑地址格式

快表:页表项的高速缓存——TLB

页表的行数是页的个数,页表的列数是一个页存储的长度

计算机组织与结构课程笔记相关推荐

  1. 2010年6月计算机组织与结构,2010 计算机组织与体系结构课程设计.doc

    2010 计算机组织与体系结构课程设计 东 莞 理 工 学 院 本 科 课 程 设 计 课程设计题目: 具有访存及循环移位运算功能的 复杂模型机的设计 学生姓名: 许悦 学 号: 2008414021 ...

  2. 计算机组织与结构徐苏版电子书百度云,计算机组织与结构(计算机科学与技术21世纪高等学校规划教材)...

    导语 内容提要 徐苏主编的这本<计算机组织与结构>根据我国教育部教学指导委员会制定的"高等学校计算机科学与技术专业规范"组织编写,与美国ACM和IEEE CS计算机课程 ...

  3. 计算机组织与结构 试题,南昌大学计算机组织与结构历年试题

    南昌大学计算机组织与结构历年试题 南昌大学 2007-2008学年第一学期期末考试试卷 试卷编号: 12041 ( A )卷 课程编号: H61030007 课程名称: 计算机组成原理 考试形式: 闭 ...

  4. 计算机组织与结构实验,计算机组织与结构实验报告 CQUPT

    计算机组织与结构实验报告 重庆邮电大学 计算机组织与结构 实验报告 目录 实验一 Hamming码 .................................................. ...

  5. 计算机组成相关论文,计算机组成与结构课程论文.docx

    计算机组成与结构课程论文 计算机从产生到今天不过短短的60多年的时间.但它已经深入到人类生活的每一个角落,现在人类的生活如果离开了计算机是难以想象的.个人计算机(PC)已经是我们日常办公和娱乐的工具, ...

  6. 计算机组织与结构性能设计答案,计算机组织及结构—性能设计第八版答案-COA8e.pdf...

    计算机组织及结构-性能设计第八版答案-COA8e.pdf SOLUTIONS TO PRACTICE PROBLEMS COMPUTER ORGANIZATION AND ARCHITECTURE D ...

  7. 计算机组织与结构实验,计算机组织与结构实验报告 CQUPT.docx

    计算机组织与结构实验报告 CQUPT 计算机组织与结构实验报告实验一 Hamming码观察实验现象并记录相应数据输入输出规则对应如下:1.输入的8位操作数对应开关SD15~SD8,编码后的hammin ...

  8. 山东大学软件学院计算机组织与结构实验一

    山东大学软件学院计算机组织与结构实验一 有积分的可以支持一下(卑微) https://download.csdn.net/download/qq_44220394/12092299 注意: 本文章内容 ...

  9. 计算机组织与结构实验报告,计算机组织与结构实验报告四

    计算机组织与结构实验报告四 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 实验四.数据通路实验一. 实验目的及要求1. 进一步熟悉TE ...

最新文章

  1. 【C】——常用C时间库函数
  2. mybatis insert 忽略 联合唯一索引_MySQL实战中,Insert语句的使用心得总结
  3. mapper同时添加数据只能添加一条_springcloud项目搭建第二节:eureka+数据库
  4. ironpython console怎么用_如何在表單中插入ironpython控制台?
  5. php js跨域上传文件,Jquery实现跨域异步上传文件步骤详解
  6. echarts自适应父div大小
  7. LR学习笔记七 之 LR录制sql脚本
  8. android sdk dns,Android SDK 导入
  9. cpld的入门交流之三:JED to ABL 反编译方法
  10. flash做动画教程(基础篇)
  11. 如何使用 LumaQQ 核心 API
  12. redo日志和undo日志
  13. windows7/windows server 2008 r2升级至sp1
  14. 软件测试和软件开发学哪个好呢
  15. 关于WhatsApp Business 和WhatsApp的一些区别
  16. 微型计算机的 CPU主要由两部分构成,微机是由哪两部分组成
  17. 详解Docker的网络模式之host模式(host网络模式)
  18. Linux 中root权限
  19. 55欧式空间02——正交矩阵、欧氏空间的同构
  20. iOS-----GitHub上比较齐全的iOS 工具和App

热门文章

  1. 戴维营第七天上课总结
  2. 小游戏类项目 —— 五子棋游戏
  3. Unity多场景管理
  4. tensorrt 加速原理
  5. 不是有效的psd文件怎么修复_毛孔粗大怎么修复最有效
  6. 衣柜有味道就有甲醛吗
  7. 2021年,薪酬最高的5种编程语言,你想学哪个?
  8. 梅科尔工作室-Django学习笔记(二次学习)(3)
  9. Mac上制作Ubuntu USB启动盘
  10. 个人使用ChatGLM-6B遇到的部分问题汇总