1,数据的表示
进制转换
第一种:X进制-----转成十进制
分开加和,几进制就是几的 n次方
eg: 二进制1011=8+2+1=11 8进制521=564+28+1=337
第二种:二进制----转成X进制—因为二进制表示位数
转8进制0-7 000-111 三位从右到左划分
10001110 转成8进制 010 001 110 就是8进制的216 写成(216)8 或者O216
转16进制 0-15 0000-1111 四位划分,避免两位机器混淆10用A表示 BCDEF
10011110 转成16进制 1001 1110 就是16进制的9 E 写成(9E)16 或者OX9E 或者9E H
数的表示-8位有符号数
原码 反码 补码 移码
所以1+(-1) =0 只有用补码才是正确的;
取值范围 如下
浮点数运算
状态条件寄存器 有时候也归控制器管,这个选项比较特殊;
运算器
算术逻辑单元ALU:数据的算术运算和逻辑运算
累加奇存器AC:通用奇存器,为ALU提供个工作区,用在暂存数据
数据缓冲奇存器DR:写内存时,暂存指令或数据
状态条件寄存器PSW:存状态标志与控制标志(争议:也有将其归为控制器的)
控制器
程序计数器PC:存储下一条要执行指令的地址
指令奇存器R:存储即将执行的指令
指令译码器ID:对指令中的操作码字段进行分析解释
时序部件:提供时序控制信号
立即寻址---------特点:操作数直接在指令中, 速度快,灵活性
直接寻址---------特点:指令中放的操作数的地址(钥匙)
间接寻址方式----特点:指令中存放了一个地址,这个地址对应的内容是操作数的地址(两把钥匙)
寄存器寻址-------特点:寄存器放操作数
寄存器间接寻址–特点:寄存内放的是操作数的地址
执行时间计算、吞吐率、加速比、效率
在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作以提高各部件的利用率和指令的平均执行速度
执行总时间 = 第一条指令执行时间 + (指令总数 -1}) * {MAX(取址、译码、执行)}
吞吐率=指令总条数/执行总时间
最大吞吐率=指令总条数/MAX(取址、译码、执行)
加速比Sp=nm/m+n-1(不采用流水线的执行时间/采用流水线的执行时间)
1.Cache
由于在CPU与存储系统间存在着数据传送带宽的限制,因此在其中设置了Cache(高速缓冲存
储器,通常速度比内存快),以提高整体效率。但由于其成本更高,因此Cache的容量要比内存小
得多。
(1)Cache原理、命中率、失效率
使用Cache改善系统性能的主要依据是程序的局部性原理(2.1.3节对该概念进行了详细说
明)。通俗地说,就是一段时间内,执行的语句常集中于某个局部。而Cache正式将访问集中的内
容放在速度更快的Cache上,以提高性能。引入Cache后,CPU在需要数据时,先找Cache,如果没
有再找内存。
如果Cache的访问命中率为h(通常1-h就是Cache的失效率),而Cache的访问周期时间是
t 1 ,主存储器的访问周期时间是t 2 ,则整个系统的平均访存时间就应该是:
t 3 =ht 1 +(1-h) t 2
从公式可以看出,系统的平均访存时间与命中率有着很密切的关系。灵活地应用这个公式,可
以计算出所有情况下的平均访存时间。
例如:设某流水线计算机主存的读/写时间为100ns,有一个指令和数据合一的Cache,已知该
Cache的读/写时间为10ns,取指令的命中率为98%,取数的命中率为95%.在执行某类程序时,约有1/5
指令需要存/取一个操作数。假设指令流水线在任何时候都不阻塞,则设置Cache后,每条指令的平
均访存时间约为多少?其实这是应用该公式的简单数学题:
(2%*100ns + 98%*10ns)+ 1/5 x(5%*100ns + 95%10ns)=14.7ns
(2)Cache存储器的映射机制
CPU发生访存请求时,会先让Cache判断是否包括,如果命中(即包括请求的内容)就直接使
用。这个判断的过程就是Cache地址映射,这个速度应该尽可能快,常见的映射方法有直接映射、
全相联映射和组相联映射三种,其原理如图1-5所示。
直接映射:是一种多对一的映射关系,但一个主存块只能够复制到Cache的一个特定位置上
去。Cache的行号i和主存的块号j有函数关系:i=j%m(其中m为Cache总行数)。例如:某Cache
容量为16KB(可用14位表示),每行的大小为16B(可用4位表示),则说明其可分为1024行(可
用10位表示)。则主存地址的最低四位为Cache的行内地址,中间10位为Cache行号。如果内存地
址为1234E8F8H的话,那么最后四位就是1000(对应16进制数的最后一位),而中间10位,则应从
E8F(111010001111)中获取,得到1010001111。
相联映射:将主存中一个块的地址与块的内容一起存于Cache的行中。速度更快,但控制复
杂。
组相联映射:是前两种方式的折中方案。它将Cache中的块再分成组。然后通过直接映射方式
决定组号,再通过相联映射的方式决定Cache中的块号。
要注意的是,在Cache映射中,主存和Cache存储器将均分成容量相同的块。
例如:容量为64块的Cache采用组相联方式映像,字块大小为128个字,每4块为一组。若主存
容量为4096块,且以字编址,那么主存地址应该为多少位?主存区号为多少位?这样的题目,首先
根据主存与Cache块的容量需一致,因此内存也是128个字,因此共有124096个字,即
2 19 (2 7 +2 12 )个字,因此主存地址需要19位;而内存所需要分为4096/64块,即2 6 ,因此主存区号需要6位。
(3)Cache淘汰算法
当Cache数据已满,并且出现未命中情况时,就是淘汰一些老的数据,更新一些新的数据。而
选择淘汰什么数据的方法就是淘汰算法,常见的方法有三种:随机淘汰、先进先出(FIFO)淘汰
(淘汰最早调入Cache的数据)、最近最少使用(LRU)淘汰法。其中平均命中率最高的是LRU算
法。
(4)Cache存储器的写操作
在使用Cache时,需要保证其数据与主存一致,因此在写Cache时就需要考虑与主存间的同步问
题,通常使用以下三种方法:写直达(写Cache时,同时写主存)、写回(写Cache时不马上写主
存,而是等其淘汰时回写)、标记法。
2. 主存(内存)
(1)主存储器的种类
RAM:随机存储器,可读写,断电后数据无法保存,只能暂存数据。
SRAM:静态随机存储器,在不断电时信息能够一直保持。
DRAM:动态随机存储器,需要定时刷新以维持信息不丢失。
ROM:只读存储器,出厂前用掩膜技术写入,常用于存放BIOS和微程序控制。
PROM:可编程ROM,只能够一次写入,需用特殊电子设备进行写入。
EPROM:可擦除的PROM,用紫外线照射15~20分钟可擦去所有信息,可写入多次。
E2PROM:电可擦除ERPOM,可以写入,但速度慢。
闪速存储器:现在U盘使用的种类,可以快速写入。
记忆时,抓住几个关键英文字母。A,即Access,说明读写都行;O,即Only,说明只读;P,即
Programmable,说明可通过特殊电子设备写入;E,即Erasable,说明可擦写;E平方说明是两个E,第二
个E是电子。
总线系统
可靠性
校验码
1.标准:对重复性事务和概念所做的统一规定
2.标准化对象:标准化的具体对象(需要指定标准的具体事务);标准化的总体对象(各种
具体对象的全体所构成的整体)
3.标准化活动过程:标准的制定,标准的实施,标准的更新
4.标准的分类:根据适用范围(国际标准,国家标准,区域标准,行业标准,企业标准,项
目规范);根据标准的性质(技术标准,管理标准,工作标准);根据标准化的对象和作用(基
础标准,产品标准,方法标准,安全标准,卫生标准,环境保护标准,服务标准);根据法
律的约束性(强制性标准,推荐性标准)
5.信息技术标准化:信息编码标准化(如 ASCII 码);汉字编码标准化(如 gb2312);软件
工程标准化(基础标准,开发标准,文档标准,管理标准)
6.权威国际标准化组织:国际标准化组织(ISO);国际电工委员会(IEC)
7.知识产权:人们基于自己的智力活动创造的成果和经营管理活动中的经验、知识而依法享
有的权利
8.知识产权的分类:工业产权(专利、实用新型、工业品外观设计、商标、服务标记、厂商
名称、产地标记、原产品名称、制止不正当竞争等);著作权(版权)
9.知识产权的特点:无形性,双重性,确认性,独占性,地域性,时间性
知识产权保存年限
软件产品是作品的一种,公民拥有的为死后50年,单位拥有的为发表后50年;但公民的署名权、修改权(对于非软件作品还有保护作品完整权)是永远保护的。
10.计算机软件著作权受保护条件:独立创作,可被感知,逻辑合理
11.计算机软件著作权的权利:人身权(发表权,署名权);著作财产权(使用权,复制权,
修改权,发行权,翻译权,注释权,信息网络传播权,出租权,使用许可权,获得报酬权,
转让权)
11.软件经济权利的许可使用:独占许可使用,独家许可使用,普通许可使用,法定许可使
用,强制许可使用
12.软件著作权:谁开发,谁享有
13.计算机软件著作权特点:技术性,依赖性,多样性,运行性
14.软件著作权侵权的法律责任:民事责任,行政责任,刑事责任
15.商业秘密:部位公众所知的、能为权利人带来经济利益、具有实用性并经权利人采取保
密措施的技术信息和经营信息;包括经营秘密和技术秘密
16.商业秘密的构成条件:未公开性,实用性,保密性
17.授予专利权的条件:新颖性,创造性,实用性
18.软件企业应建立的合同规范:劳动合同关系,软件开发合同,软件许可使用(或转让)
合同
创建型
工厂 方法—Factory Method
抽象工厂—Abstract Factory
原型
单例
构造器
结构性
适配器
装饰器
桥接
组合
外观
享元
代理
行为型
责任链
解释器
迭代器
命令
中介者
备忘录
观察者
访问者
策略
状态
模板方法
工厂模式可以分为三类:
简单工厂模式(Simple Factory)
工厂方法模式(Factory Method)
抽象工厂模式(Abstract Factory)
简单工厂其实不是一个标准的的设计模式。GOF 23种设计模式中只有「工厂方法模式」与「抽象工厂模式」。简单工厂模式可以看为工厂方法模式的一种特例,为了统一整理学习,就都归为工厂模式。
这三种工厂模式在设计模式的分类中都属于创建型模式,三种模式从上到下逐步抽象。
用例图、类图与对象图、顺序图、活动图、状态图。
UML分 【构造快】、【公共机制】、【规则】 三个模块构成;
用例图(也可称用例建模)描述的是外部执行者(Actor)所理解的系统功能。用例图用于需求
分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的
共识。
在UML中,用例表示为一个椭圆。图13-2显示了一个图书管理系统的用例图。其中,“新增书籍信息”、“查询书籍信息”、“修改书籍信息”、“登记外借情况”、“查询外借情况”、“统
计金额与册数”等都是用例的实例。
运行—就绪----等待(阻塞) 三态模型
PV操作 申请释放资源操作 休眠唤醒操作
s=s-1;s<0;
s=s+1,s<=0;
争夺打印机;互斥模型================ pv同步进行
单缓冲区(一次只有一个进程);同步模型============pv成对出现 同步进行
前趋图 箭头流入代表一个P操作 流出代表V唤醒下一个
标准的“进程三态图”,其中1表示就绪进程被调度;2表示运行进程的时间片到了;3表示运行进程执行了P操作,进程进入了阻塞状态;4表示被阻塞进程等待的事件发生了。
其中的1与2有着一定的关联,因为当一个正在运行的进程时间片到了以后,该进程将从运行态
转换为就绪态,同时,需要调入另外一个处于就绪态的进程,使之转换为运行态。
死锁
给进程分配原本需要资源数-1,再留一个公共支配的。就不会产生死锁;
互斥、保持等待、不剥夺、环路等待 ------产生死锁;
所以
有序资源分配法/银行家算法(趋利)
页式存储、段式存储;
页面置换算法
将一些主存中的页淘汰到外存Swapping。其工作原理与Cache调入相类似。
最优算法(OPT):淘汰不用的或最远的将来才用的页。理想算法,不能实现。
随机算法(RAND):随机淘汰。这种算法开销小,但性能不稳定。
先进先出算法(FIFO):选择最早调入(也是驻留时间最长)的页。
最近最少使用算法(LRU):选择离当前时刻最近的一段时间内使用得最少的页。
eg:某磁盘磁头从一个磁道移至另一个磁道需要10ms。文件在磁盘上非连续存放,逻辑上相邻数据
块的平均移动距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和2ms,则读取一个
100块的文件需要__(6)__ms时间。
(6)A.10200 B.11000 C.11200 D.20200
在本题中读取磁盘数据的时间应包括:
(1)找磁道的时间。逻辑上相邻数据块的平均移动距离为10个磁道,那么平均读取一块数据所
需要的找磁道时间=1010=100ms。
(2)找块(扇区)的时间,即旋转延迟时间
(3)传输时间
按照上面的描述计算,我们可以找到平均读取一块数据需要的时间为:
100+100+2=202ms,那么读取100块数据需要的时间为100202=20200ms。
媒体分为感觉媒体、表示媒体、表现媒体、存储媒体和传输媒体。
感觉媒体:指人们接触信息的感觉形式。如:视觉、听觉、触觉、嗅觉和味觉等。
表示媒体:指信息的表示形式。如:文字、图形、图像、动画、音频和视频等。语言编码、电报码、条形码、图像编码、
显示媒体(表现媒体):表现和获取信息的物理设备。如:键盘、鼠标和麦克风、显示器、打印机和音箱等。
存储媒体:存储数据的物理设备,如磁盘、光盘和内存等。
传输媒体:传输数据的物理载体,如电缆、光缆和交换设备等。
中间代码表示形式:语法树、后缀式、三地址代码;
编译程序五个阶段:词法分析、语法分析、语义分析、优化、目标代码生成。
( 1 )词法分析:也就是从左到右一个一个的读入源程序,识别一个单词或符号,并进行归类。源程序可以简单地被看成是一个多行的字符串。词法分析阶段是编译过程的第一阶段,这个阶段的任务是对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个“单词”符号。词法分析的主要任务有:识别出源程序中的各个单词符号,并将其转换为内部编码形式;删除无用的空白字符、回车字符以及其他非实质性字符:删除注释。
( 2 )语法分析:在词法分析的基础上,将单词序列分解成各类语法短语,逻辑结构,如“程序”,“语句”,“表达式”等。
( 3 )语义分析:审查源程序是否有语义的错误,当不符合语言规范的时候,程序就会报错。
( 4 )代码优化:对前阶段的中间代码进行变换或改造,目的是使生成的目标代码更为高效,即节省时间和空间。
( 5 )目标代码生成:也就是把优化后的中间代码变换成指令代码或汇编代码。
词法分析和语法分析本质上都是对源程序的结构进行分析。 编译正确的程序可以消除词法及语法错误,但不能完全消除语乂错误。语乂错误分两类,静态和动态,前者通过编译程序检测发现,而动态语义错误需要到运行时才能被发现;
本题考查程序语言基础知识。用户编写的源程序不可避免地会有一些错误,这些错误大致可分为静态错误和动态错误。动态错误也称动态语义错误,它们发生在程序运行时,例如变量取零时作除数、引用数组元素下标越界等错误。静态错误是指编译时所发现的程序错误,可分为语法错误和静态语义错误,如单词拼写错误、标点符号错、表达式中缺少操作数、括号不匹配等有关语言结构上的错误称为语法错误。而语义分析时发现的运算符与运算对象类型不合法等错误属于静态语义错误。
保护期限不受限制的有:署名权,修改权,保护作品完整权。
保护期限为作者终身及死后50年的,包括发表权、使用权和获得报酬权
Cache
当CPU发出访存请求后,存储器地址先被送到cache控制器以确定所需数据是否已在cache中,若命中则直接对cache进行访问。这个过程称为cache的地址映射。常见的映射方法有直接映射、相联映射和组相联映射。当cache存储器产生了一次访问未命中之后,相应的数据应同时读入CPU和cache。但是当cache已存满数据后,新数据必须淘汰cache中的某些旧数据。最常用的淘汰首法有随机淘汰法、先进先出法(FIFO)和近期最少使用淘汰法(LRU)。因为需要保证缓存在cache中的数据与主存中的内容一致,相对读操作而言,cache的写操作较复杂,常用的有以下几种方法。(1) 写直达(write through)。当要写cache时,数据同时写回主存储器,有时也称为写通。(2) 写回(writeback)。CPU修改cache的某一行后,相应的数据并不立即写入主存储器单元,而是当该行从cache中被淘汰时,才把数据写回到主存储器中。(3) 标记法。对cache中的每一_据设罝一^有效位。当数据进入cache后,有效位罝1;而当CPU要对该数据进行修改时,数据只需写入主存储器并同时将该有效位清0。当要从cache中读取数据时黑要测试其有效位:若为1则直接从cache中取数,否则从主存中取数。
**在计算机中,I/O系统可以有5种不同的工作方式,**分别是程序控制方式、程序中断方式、DMA工作方式、通道方式、I/O处理机。1、程序控制方式分为无条件查询和程序查询方式。 ① 无条件传送方式,I/O端口总是准备好接受主机的输出数据,或是总是准备好向主机输入数据,而cpu在需要时,随时直接利用I/O指令访问相应的I/O端口,实现与外设的数据交换。优点是软、硬件结构简单,缺点是对时序要求高,只适用于简单的I/O控制。② 程序查询方式程序查询方式也称为程序轮询方式,该方式采用用户程序直接控制主机与外部设备之间输入/输出操作。CPU必须不停地循环测试I/O设备的状态端口,当发现设备处于准备好(Ready)状态时,CPU就可以与I/O设备进行数据存取操作。这种方式下的CPU与I/O设备是串行工作的。2、中断方式当I/O设备结束(完成、特殊或异常)时,就会向CPU发出中断请求信号,CPU收到信号就可以采取相应措施。当某个进程要启动某个设备时,CPU就向相应的设备控制器发出一条设备I/O启动指令,然后CPU又返回做原来的工作。CPU与I/O设备可以并行工作,与程序查询方式相比,大大提高了CPU的利用率。3、DMA(直接内存存取)方式DMA方式也称为直接主存存取方式,其思想是:允许主存储器和I/O设备之间通过“DMA控制器(DMAC)”直接进行批量数据交换,除了在数据传输开始和结束时,整个过程无须CPU的干预。4、通道控制方式在一定的硬件基础上利用软件手段实现对I/O的控制和传送,更多地免去了cpu的接入,使主机和外设并行工作程度更高。5、I/O处理机指专门负责输入/输出的处理机。可以有独立的存储器、运算部件和指令控制部件。
原型法-需求不清晰、多变;
结构化-规模简单,规模小,不复杂,需求变化不复杂;
Jackson-小规模面向数据结构;
数据库
分片透明性是指用户不必关系数据是如何分片的,它们对数据的操作在全局关系上进行,即关系如何分片对用户是透明的,因此,当分片改变时应用程序可以不变。分片透明性是最高层次的透明性,如果用户能在全局关系一级操作,则数据如何分布,如何存储等细节自不必关系,其应用程序的编写与集中式数据库相同。
复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。在分布式数据库系统中,可以把一个场地的数据复制到其他场地存放,应用程序可以使用复制到本地的数据在本地完成分布式操作,避免通过网络传输数据,提高了系统的运行和查询效率。但是对于复制数据的更新操作,就要涉及到对所有复制数据的更新。
位置透明性是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用户是透明的。因此,数据分片模式的改变,如把数据从一个站点转移到另一个站点将不会影响应用程序,因而应用程序不必改写。
局部映像透明性(逻辑透明)是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关系局部 DBMS 支持哪种数据模型、使用哪种数据操纵语言,数据模型和操纵语言的转换是由系统完成的。因此,局部映像透明性对异构型和同构异质的分布式数据库系统是非常重要的。