控制器:
(1)指令寄存器(IR) : CPU执行一条指令时,从内存储器取到缓冲寄存器中,再送入IR暂存;
(2)程序计数器(PC): 将要执行的下一条指令的地址;
(3)地址寄存器(IR): 当前CPU所访问的内存单元地址;
(4)指令译码器(ID): 对指令中的操作码字段进行分析解释;
多核CPU可以满足用户同时进行多任务处理的要求;
单核多线程CPU是交替地转换执行多个任务,只不过交替转换的时间很短,用户一般感觉不出来;
单核多线程和多核相比,多核的速度更快;
数据表示: 机器数对应的实际数值称为数的真值;
(1)正数的反码与原码相同,负数的反码是其绝对值按位取反.
(2)正数的补码与原码相同,负数的补码是其反码的末尾加1.
补码中0有唯一编码:[+0]补=0 0000000,[-0]补=0 0000000;
(3)补码的符号位取反就是移码;
(4)N=2E×F,
E称为阶码,F称为尾数.
用阶称码和尾数表示的数为浮点数,这种表示方法称为浮点数表示法;
浮点数所能表示的数值范围主要由阶码决定,所表示数值的精度则由尾数决定;
(5)“NAN”即”不是一个数”,当运算结果不是实数或者无穷;
(6)对阶:使两个数的阶码相同,把阶码小的数的尾数右移(小阶向大阶看齐,这样丢失的精度少);
校验码:码距是指任意两个合法编码之间有多少个二级制位不同;
(1)奇偶校验码:
在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或为偶数(偶校验),从而使码距变为2;
奇校验可以检测代码中奇数位出错的编码,不能发现偶数位出错的情况,当合法编码中的奇数位发生了错误时,
即编码中的1变成0或0变成1,编码中1的个数的奇偶性就发生了变化,从而可以发现错误;
(2)海明码:
利用奇偶性来检错和纠错的方法;
设数据位是n位,校验位是k位,则n和k必须满足:2k>=k+n+1;
(3)循环冗余校验码(CRC)利用生成多项式为k个数据位产生r个校验位来进行编码,其编码长度为k+r;
校验码是由信息码产生的,校验码位数越多,该代码的校验能力就越强.
在求CRC编码时,采用的是模2运算.模2加减运算的规则是按位运算,不发生借位和进位;
CISC(复杂指令集计算机)的基本思想是 进一步增强原有指令的功能,
用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬化,导致机器的指令系统越来越庞大,复杂;
弊端:指令集过分庞杂,难以优化编译使之生成真正高效的目标代码;
微程序技术是CISC的重要支柱,需要多个CPU周期,降低了机器处理的速度;
强调完善的中断控制,势必导致动作繁多,设计繁杂,研制周期长;
使芯片种类增多,出错几率大,成本提高而成品率降低;
RISC(精简指令集计算机)的基本思想是通过减少指令总数和简化指令功能降低硬件设计的复杂度,
使指令能单周期执行,并通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序.指令系统进一步精简;
主要技术:重叠寄存器窗口技术;优化编译技术;超流水及超标量技术;硬布线逻辑与微程序控制相结合在微程序技术中;
指令的流水处理:
顺序方式优点是控制简单,缺点是速度慢,机器各部件的利用率低;
重叠方式在解释第K条指令的操作完成之前就可以开始解释第K+1条指令,通常采用的是第一次重叠,
即在任何时候,指令分析部件和指令执行部件都只有相邻两条指令在重叠解释。
这种方式的优点是速度有所提高,控制也不太复杂。缺点是会出现冲突,转移和相关等问题,在设计的时候必须想办法解决;
流水方式把重复的顺序处理过程解释为若干子过程,每个子过程能在专用的独立模块上有效地并发工作,
”一次重叠“是把一条指令解释分解为两个子过程,而“流水”则是分解为更多的子过程;
吞吐率是指单位时间内流水线处理机流出的结果数,对指令而言,就是单位时间内执行的指令数。
流水线开始工作,需经过一定时间才能达到最大吞吐率,这就是建立时间。
按存储器的工作方式可分为读/写存储器和只读存储器。
(1)读/写存储器(RAM);
(2)只读存储器(ROM)
① 固定只读存储器(Read Only Memory)在厂家生产时就写好数据,其内容只能读出不能改变。一般用于存放系统程序BIOS和用于微程序控制;
② 可编程的只读存储器(Programmable Read Only Memory,PROM)。其中的内容可以由用户一次性写入,写入后不能再修改;
③ 可擦除可编程的只读存储器(EPROM)内容既可以读出,也可以由用户写入,写入后还可以修改。
紫外线照射15-20分钟以擦去所有信息,然后再用特殊的电子设备写入信息;
④ 电擦除可编程的只读存储器(EEPROM)与EOROM相似,EEROM中的内容既可以读出,也可以进行改写。
只不过这种存储器是用电擦除的方法进行数据的改写;
⑤ 闪速存储器(Flash Memory)简称闪存,闪存的特性介于EPROM和EEPROM之间,类似于EEPROM,也可以使用电信号进行信息的擦除操作。
整块闪存可以在数秒内删除,速度远快于EPROM。
按访问方式分类:
(1)随机存储器(RAM)可对任何存储单元存入或读取数据,访问任何一个存储单元所需的时间是相同的;
(2)顺序存储器(ROM)访问数据所需要的时间与数据所在的存储位置相关,磁带是典型的顺序存储器;
(3)直接存储器(DAM)介于随机存取和顺序存取之间的一种寻址方式;
相联存储器是一种按内容访问的存储器,特别适合于信息的检索和更新;
高速缓存位于CPU与主存之间; 容量一般在几千字节到几兆字节之间; 速度一般比主存快5-10倍,由快速半导体存储器构成;
其内容是主存局部域的副本,对程序员来说是透明的;
主存地址转换成Cache存储器的地址,称为地址映像;
(1)直接映像:主存的块与Cache块的对应关系是固定的; 优点是地址变换简单,缺点是灵活性差;
(2)全相联映像:允许主存的任一块可以调入Cache存储器的任何一个块的空间中;
优点是主存的块调入Cache的位置不受限制,十分灵活.
缺点是无法从主存块号中直接获得Cache的块号,变换比较复杂,速度比较慢;
(3)组相联映像:是前两种方式的折中,是将Cache中的块再分成组.组采用直接映像方式而块采用全相联映射方式.
替换算法:使Cache获得尽可能高的命中率;
常用替换算法有:随机替换算法,先进先出算法,近期最少使用算法,优化替换算法;
Cache的性能分析:降低Cache失效率的方法主要有选择恰当的块容量,提高Cache的容量和提高Cache的相联度等;
Cache容量越大,则命中率越高,随着Cache容量的增加,其失效率接近0%(命中率逐渐接近100%).
但增加Cache容量意味着增加Cache的成本和增加Cache的命中时间;
外存储器:CPU不能直接访问外存中的程序和数据,只有将其以文件为单位调入主存才可以访问;
固态硬盘具有传统机械硬盘不具备的读写速度,质量轻,能耗低及体积小等特点,但价格较贵,容量较低,一旦硬件损坏,数据较难恢复;
微型计算机中最常用的内存与接口的编址方法:
(1)内存与接口地址独立编址方法:编程序或读程序时很容易使用和辨认.
缺点是用于接口的指令太少,功能太弱;
(2)内存与接口地址统一编址方法:用于内存的指令全都可以用于接口,增强了对接口的操作功能,在指令上不再区分内存或接口指令;
缺点在于整个地址空间被分成两部分,其中一部分分配给接口使用,剩余的为内存所用,这经常会导致内存地址不连续.
由于用于内存的指令和用于接口的指令是完全一样的,维护程序时就需要根据参数定义表仔细加以辨认;
程序查询方式:通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据;
缺点: 降低了CPU的利用率; 对外部的突发事件无法做出实时响应;
中断方式因为CPU无需等待而提高了效率;
中断嵌套:即一个中断服务程序中嵌套着另一个中断服务程序;
直接内存存取(DMA)不需要CPU的任何干涉,只需要CPU在过程开始时启动与过程结束时的处理,实际操作由DMA硬件直接执行完成;
在DMA传送数据期间,CPU不能使用总线;
通道的出现进一步提高了CPU的效率,其是以增加更多的硬件为代价的;
总线是指计算机设备和设备之间传输信息的公共数据通道.总线上所有设备共享,可以将计算机系统内的多种设备连接到总线上;
(1)数据总线(DB) 用来传送数据信息,是双向的;
(2)地址总线(AB) 用于传送CPU发出的地址信息,是单向的.
(3)控制总线(CB) 用来传送控制信号,时序信号和状态信息等;
CB中每一条的信息传送方向是单方向且确定的,但CB作为一个整体则是双向的.
结构框图中,凡涉及到控制总线CB,均是以双向线表示;
授权侵犯:为某一特权使用一个系统的人 却将该系统用作其他未授权的目的;
拒绝服务:对信息或其他资源的合法访问被无条件拒绝,或推迟与时间密切相关的操作;
窃听:信息从被监视的通信过程中泄露出去;
截获/修改:某一通信数据项在传输过程中被改变,删除或替代;
人员疏忽:一个授权的人为了金钱或利益,或由于粗心将信息泄露给未授权的人;
完整性破坏:通过对数据进行未授权的创建,修改或破坏,使数据的一致性遭到破坏;
资源耗尽:某一资源(如访问端口)被故意超负荷地使用,导致其他用户的服务被中断;
对称加密技术:对称加密采用了对称密码编码技术,其特点是文件加密和解密使用相同的密钥;
例:DES,三重DES,RC-5,IDEA,AES;
非对称加密算法需要两个密钥:公开密钥与私有密钥是一对;
只能使用专用密钥解密由其公用密钥加密后的任何信息;
非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要,
但加密和解密花费时间长,速度慢,不适合于对文件加密,而只是用于对少量数据进行加密; 常用算法RSA;
PKI采用证书进行公钥管理,通过第三方的可信机构(认证中心,即CA)把用户的公钥和用户的其他标识信息捆绑在一起,
其中包括用户名和电子邮件地址等信息,以在Internet上验证用户的身份.
PKI把公钥密码和对称密码结合起来,在Internet上实现密钥的自动管理,保证网上数据的安全传输;
数据的机密性是指数据在传输过程中不能被非授权者偷看;
完整性是指在传输过程中不能被非法篡改;
有效性是指数据不能被否认;
信息摘要主要用于数字签名,对特定的文件而言,是唯一的.
信息摘要可以被公开,他不会透露相应文件的任何内容;
SSL协议可以被总结为:一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有的TCP/IP应用程序;
失效率:单位时间内失效的元件数与元件总数的比例;
串联系统可靠性:R=R1R2...RN
并联系统可靠性:R=1-(1-R1)(1-R2)...(1-RN)
提高计算机的可靠性一般采取如下两项措施:
(1) 提高元器件质量; (2) 发展容错技术;
Fortran是第一个被广泛用来进行科学和工程计算的高级语言;
PASCAL是一种过程式,结构化设计程序语言;
Ruby是一种解释性,面向对象,动态类型的脚本语言;
PHP是一种在服务器端执行的,嵌入HTML文档的脚本语言;
Delphi是一种可视化开发工具,在采用面向对象的编程语言Object Pascal和基于构件的开发结构框架;
命令式语言 Fortran,PASCAL和C语言;
C,PASCAL等都是典型的结构化程序设计语言;
C++,Java和Smalltalk是面向对象程序设计语言的代表;
函数式语言的代表:LISP,常见的函数式语言有Haskell,Scala,Scheme,APL等;
PROLOG具有很强的推理功能,适用于编写自动定理证明,专家系统和自然语言理解等;
程序中的数据对象可以具有左值或右值,左值指存储单元(或地址,容器),右值是值(或内容).
变量具有左值和右值,在程序运行过程中其右值可以改变;
常量只有右值,在程序运行过程中其右值不能变;
(1)词法分析:对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个“单词符号”.
“单词”符号是程序设计语言的基本语法单位,如关键字,标识符,常数,运算符和分隔符(如标点符号,左右括号)等;
(2)语法分析:根据语言的语法规则将单词符号序列分解成各类语法单位,如“表达式”语句和“程序”等;
(3)语义分析:分析语法结构的含义,检查源程序是否包含静态语义错误,并收集类型信息供后面的代码生成阶段使用;
(4)中间代码生成:根据语义分析的输出产生中间代码.
“中间代码”是一种简单且明确的记号系统,可以有若干种形式,他们的共同特征是与具体的机器无关.
最常用的一种中间代码是与汇编语言的指令非常相似的三地址码,其实现方式常采用四元式;
(5)代码优化:优化过程可以在中间代码生成阶段进行,也可以在目标代码生成阶段进行.
由于中间代码不依赖具体机器,此时所做的优化一般建立在对程序控制流和数据流分析的基础上,与具体的机器无关.
优化所依据的原则是程序的等价变换原则;
(6)目标代码生成:把中间代码变换成特定机器上的绝对指令代码,可重定位的指令代码或汇编指令代码,这个阶段的工作与具体的机器密切相关;
描述语言语法结构的规则称为文法,为四种类型:即0型,1型,2型和3型.这4类文法之间的差别在于对生成式要施加不同的限制;
0型文法也成为短语文法,其功能相当于图灵机,任何0型语言都是递归可枚举的;反之,递归可枚举集也必是一个0型语言;
1型文法也成为上下文有关文法,这种文法意味着对非终结符的替换必须考虑上下文;
2型文法就是上下文无关文法,非终结符的替换无需考虑上下文.
3型文法等价于正规式,因此也被称为正规文法或线性文法;
属性文法是对上下文无关文法的扩充;
中间代码,将源程序首先翻译成中间代码表示形式,以利于与机器无关的优化处理.
常见的中间代码有后缀式,三元式,四元式和树等形式;树形表示.(中根排序)
优化就是对程序进行等价交换,使得从变换后的程序能生成更有效的目标代码.
所谓等价,是指不变程序的运行结果;
所谓有效,是指目标代码的运行时间较短,占用的存储空间较少;
优化可在编译的各个阶段进行.
最主要的优化是在目标代码生成以前对中间代码进行的,这类优化不依赖于具体的计算机;
目标代码生成由代码生成器实现.
代码生成器以经过语义分析或优化后的中间代码为输入,以特定的机器语言或汇编语言代码为输出;
解释程序是另一种语言处理程序,在词法,语法和语义分析方面与编译程序的工作原理基本相同,
但是在运行用户程序时,他直接执行源程序或源程序的中间表示形式. 解释程序不产生源程序的目标程序,这是他和编译程序的主要区别;
软件设计师知识点·1
最新推荐文章于 2024-05-15 09:12:53 发布