计算机基础
计算机计算机单位
从小到大依次为: bit(位)、Byte(字节)、KB、MB、GB、TB、PB、EB
最小数据存储计量: b(位)
在计算机中所有的数据都用0和1二进制数字来表示,那么计算机中表示最小的数据就是0或1,其所占存储容量为1b(位)。每8位等于1B(一个字节)。
实例如下:数据所占容量单位
1 字节(byte) = 8 位(bits)
1 千字节(KB) = 1024 字节(bytes)
1 兆字节(MB) = 1024 千字节(KB)
1 千兆字节(GB) = 1024 兆字节(MB)
1 太字节(TB) = 1024 千兆字节(GB)
2的1次方:2
2的2次方:4
2的3次方:8
2的4次方:16
2的5次方:32
2的6次方:64
2的7次方:128
2的8次方:256
2的9次方:512
2的10次方:1024
2的11次方:2048
2的12次方:4096
海明码转换
例题
求信息1011的海明码
第1步 求校验码位数
牢记公式:2^r >= k + r + 1
k 值:原始信息码的位数,已知
r 值:校验码的位数,根据公式求
① 此题中,信息码为 1011 ,共4位数,所以 k = 4
② 根据公式,将 k 值代入,解得符合表达式的值即为 r 的值,也就是校验码位数
此题中,可以算出 2^3 >= 4 + 3 + 1 ,所以 r = 3,校验码位数为3位
第2步 确认校验码位置
校验码的位置都是基于 2^n 来确定的,比如 2^0 = 1,2^1 = 2,2^2 = 4…
所以校验码的位置一般都是1、2、4、8…
① 海明码的长度 = 原始信息码 + 校验码
此题中,海明码长度 = 4 + 3 = 7位
② 建立一个从高位到低位的表格,表格列数即为海明码的长度
先填校验码,在本题中,校验码为3位,即占了1、2、4位,这里以r0、r1、r2来表示校验码
再填信息码,从高位往低位顺序填上信息码,即从左到右,注意要跳过校验码
7 6 5 4 3 2 1 位数
1 0 1 1 信息位
r2 r1 r0 校验位
此时化简就是:1 0 1 r2 1 r1 r0
只要能求出r0~r2的值,就可以写出完整海明码了
第3步 计算校验码
① 将每个信息位数拆分成n个校验位数之和
在本题中,信息位是:7、6、5、3,校验位是:4、2、1,则
7 = 4 + 2 + 1,表示第7位的信息码由第4、2、1位的校验码所校验,下同
6 = 4 + 2,
5 = 4 + 1
3 = 2 + 1
② 分组
将上面等式中,各个校验码所校验的位数进行分组
如r2是第4位,而4校验了上面的7、6、5位,可以写成
r2(7,6,5)
r1(7,6,3)
r0(7,5,3)
③计算
将分组的元素转为该位置对应的信息码再进行异或运算即可
注意,是异或运算,即同0异1的原则
r2 = 1 ⊕ 0 ⊕ 1 = 0
r1 = 1 ⊕ 0 ⊕ 1 = 0
r0 = 1 ⊕ 1 ⊕ 1 = 1
到这里基本就算完了,可以知道r2 = 0,r1 = 0,r0 = 1
第4步 得到海明码
还记得上一张表吗,将校验码的位数的值填进去,就是一个海明码了
7 6 5 4 3 2 1 位数
1 0 1 0 1 0 1 信息位
r2 r1 r0 校验位
所以,海明码就是 1010101
奇偶校验码,可检奇数位错,不可纠错
CRC循环冗余校验码,可检多位错,不可纠错
海明校验码,既可以检错,也可以纠错
码距:任意连个码字最少变化的二进制位数
例如00110和00100码距为1,
12345和13344码距为2
Caus和Daun码距为2
奇偶检验码(Parity Codes)
由若干个有效信息,再加上一个二进制位(校验位)组成校验码
奇校验:整个校验码(有效信息和校验位)中"1"的个数为奇数。
偶校验:整个校验码(有效信息和校验位)中"1"的个数为偶数。
CRC循环冗余校验码(Cyclic Redundancy Check)
在k位数据位 之后拼接 r位校验码
模二除法,如果正确,则剩余数为0;如果某一位出错,则余数不为0
码制
源码/反码/补码/移码:最高位是符号位,0表示正号,1表示负号
源码:最高位是符号位,其余低位表示数值的绝对值
反码
若符号为0,则反码和原码相同
若符号位为1,则数值位全部取反
补码(简化计算机运算部件的设计):符号位不变
正数的补码=原码
负数的补码=反码末位+1(要考虑进位)
补码有个人为定义,-0符号位也是数值位
移码:补码的基础上将符号位取反
数码个数=2的N次方-1
设机器字长为8,则-0的反码表示为1111 1111。
正数的原码、反码和补码都不变,负数的反码是原码除符号位外所有位数取反。负数的补码是原码除符号位外所有位数取反+1。移码是将补码的符号位取反。s
-0的原码是1000 0000。反码是1111 1111。补码是0000 0000。移码是1000 0000。
浮点数运算
浮点数 指小数点在数据中的位置可以左右移动的数据
N = 尾数 * 基数 ^阶码
尾数:有效精度
阶码:能够表示数的范围
数符:尾数的符号位(决定整个数的正负)
阶符:阶码的符号位(决定这个数是整数还是小数)
工业标准IEEE754浮点数格式中一般尾数用补码,阶码用移码
两个浮点数相加:统一两个数的阶码
①对阶,小数向大数看齐,尾数右移
设16位浮点数,其中阶符1位、阶码值6位、数符1位、尾数8位。若阶码用移码表示,尾数用补码表示,则该浮点数所能表示的数值范围是( )
浮点数所能表示的最大正数与最小负数如下:
符号所代表含义:
- M: 尾数(其中包含数符和尾数)
- R: 阶码(其中包括阶符合阶码值)
所以这题直接带入即可得出正确答案 B
逻辑运算
关系运算符(优先级从高到低)
<,>,<=,>=
==,!=
关系运算符优先级低于算术运算符
关系运算符优先级高于赋值运算符
逻辑运算
优先次序:
非>算术运算符>关系运算符>&&>II>赋值运算符
短路原则
①a && b && c
当a是假的值时,后面都不需要计算了
②a || b || c
当a是真的值时,后面都不需要计算了
非运算
决定某件事情的条件具备时,结果反而不会发生
这种因果关系称为非逻辑关系
非运算又称反运算或者逻辑否定,其运算符为“-”
表达式为
与非运算
与非运算是与运算和非运算组成的复合运算,即先进行与运算,再把与运算的结果进行非运算
设输出变量为Y,输入变量为A、B,则与非运算的逻辑表达式为
与非逻辑输出变量与输入变量的关系为:有0出1,全1出0
或非运算
或非运算是或运算和非运算组成的复合运算,即先进行或运算,再把或运算的结果进行非运算
设输出变量为Y,输入变量为A、B,则或非运算的逻辑表达式为
或非逻辑输出变量与输入变量的关系为:有1出0,全0出1
与或非运算
与或非运算是与运算和或非运算组成的复合运算,即先进行与运算,再把各个与运算的结果进行或非运算
设输出变量Y,输入变量为A、B和C、D两组,则与或非运算的逻辑表达式为
异或运算
异或运算是两个变量与运算或运算组成的复合运算
设输出变量为Y,输入变量为A,B,异或运算用符号“
”表示,则它的逻辑表达式为
异或运算输出变量与输入变量的关系为:相同输出0,相异输出1
同或运算
同或运算是两个变量与运算和或运算组成的复合运算组成的复合运算
设输出变量为Y,输入变量为A、B,同或运算用符号“
”表示,其逻辑表达式为
同或逻辑输出变量与输入变量的关系为:相同出1,相异出0
对于异或和同或
对异或整体取非则为同或
计算机硬件的基本组成
基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。
运算器、控制器:集成在一起统称为中央处理单元(CPU)。CPU是硬件系统的核心,用于数据的加工处理
存储器:计算机系统中的记忆设备,分内部存储器和外部存储器
输入设备:用于输入原始数据及各种命令,与输出设备合称为外部设备(简称外设)
输出设备:用于输出计算机运行的结果,与输入设备合称为外部设备(简称外设)
CPU的功能
程序控制、操作控制、时间控制、数据处理。
CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。
运算器
①算术逻辑单元ALU:数据的算术运算和逻辑运算(加法器、减法器、逻辑门等功能模块)
②累加寄存器AC:通用寄存器,为ALU提供一个工作区,来暂存运算结果的数据(常考考点)
③数据缓冲寄存器DR:写内存时,暂存指令或数据
④状态条件寄存器PSW:存状态标志与控制标志(争议:也有将其归为控制器的)
控制器
①程序计数器PC:存储下一条要执行指令的地址(程序员可以访问)
②指令寄存器IR:存储及将执行的指令(对用户是完全透明的)
③指令译码器ID:对指令中的操作码字段进行分析解释
④地址寄存器AR:保存CPU访问的内存地址
指令寄存器的位数取决于指令字长。
CPU首先从程序计数器(PC)获得需要执行的指令地址,从内存(或高速缓存)读取大的指令则暂存在指令寄存器(IR),然后进行分析和执行
CPU访问速度
通用寄存器>Cache>内存>硬盘
指令寻址方式
操作码字段(OP)+地址码字段
立即寻址方式:操作数(本身)直接在指令中,速度快,灵活性差
直接寻址方式:操作数的地址放在指令中
间接寻址方式:操作数的地址的地址放在指令中
寄存器寻址方式:寄存器存放操作数
寄存器间接寻址方式:寄存器存放操作数的地址
指令CISC和RISC
CISC(Complex Instruction Set Computer)称为复杂指令系统计算机
1)指令系统复杂庞大,指令数目一般为200条以上。
2)指令的长度不固定,指令格式多,寻址方式多。
3)可以访存的指令不受限制。
4)各种指令使用频度相差很大。
5)各种指令执行时间相差很大,大多数指令需多个时钟周期才能完成。
6)控制器大多数采用微程序控制。
7)难以用优化编译生成高效的目标代码程序。
RISC(Reduced Instruction Set Computer)称为精简指令系统计算机
1)选取使用频率最高的一些简单指令,复杂指令的功能由简单指令的组合来实现。
2)指令长度固定,指令格式种类少,寻址方式种类少。
3)只有Load/Store(取数/存数)指令访存,其余指令的操作都在寄存器之间进行。
4)CPU中通用寄存器数量相当多(减少访存次数)。
5)RISC一定采用指令流水线技术,大部分指令在一个时钟周期内完成。
6)以硬布线控制为主,不用或少用微程序控制。(考点:简单指令采用硬布线)
7)特别重视编译优化工作,以减少程序执行时间。
指令流水线
流水线技术:程序执行时通过多条指令重叠进行操作的一种准并行处理实现技术。
把一件任务分解为若干顺序执行的子任务,不同的子任务由不同的执行机构来负责执行,而这些执行机构可以同时并行工作。
流水线执行时间:
一条指令所需的时间+(指令条数-1)*时间最长的的指令时间。
吞吐率计算公式:Though Put rate .TP(考点)
指令条数/流水线时间
最大吞吐率:流水线周期(最长流水段的操作时间)的倒数
加速比计算公式:不使用流水线所用的时间/使用流水线所用的时间
例如:若指令流水线把一条指令分为取指、分析和执行3部分,且3部分的时间分别是取指2ns,分析2ns,执行1ns。求100条指令全部执行完毕所需的时间,吞吐率和加速比?
l 流水线时间:(2+2+1)+(100-1)*2=203ns
l 吞吐率:100/203ns
l 加速比:100*(2+2+1)/203
存储系统-层次化存储体系
CPU、
Cache(高速缓存存储器)、按照内容访问(考点)
主存(内存):分两类(随机存储器RAM,只读存储器ROM)
外存(辅存)
虚拟存储体系:主存+辅存(考点)
为什么层次化?为了提高性价比减少成本
局部性原理
时间局部性(Temporal Locality):刚被访问的内容,立即又被访问
空间局部性(Spatial Locality):刚被访问的内容,临近的空间很快被访问
顺序局部性(Order Locality):在典型程序中,除转移类指令外,大部分指令是顺序进行的。顺序执行和非顺序执行的比例大致是5:1。此外,对大型数组访问也是顺序的。指令的顺序执行、数组的连续存放等是产生顺序局部性的原因。
分类
①存储器位置
内存&外存
②存取方式(考点)
按内容存取:相联存储器(Cache)
按地址存取:随机存取存储器(内存)
顺序存取存储器(磁带)
直接存取存储器(磁盘)
③工作方式
随机存取存储器RAM(内存DRAM)
只读存储器ROM(BIOS)
DRAM(Dynamic Random Access Memory)动态随机存取存储器是一种常见的计算机内存类型,用于临时存储数据和程序。它是一种动态存储器,需要定期刷新以保持数据的存储,速度较慢但成本较低。
SRAM(Static Random Access Memory)静态随机存取存储器是另一种计算机内存类型,也用于临时存储数据和程序。与DRAM不同,SRAM是一种静态存储器,不需要定期刷新,速度更快但成本也更高。
Cache是一种高速缓存,用于临时存储处理器频繁访问的数据,以提高数据访问速度。Cache通常位于处理器和主内存之间,是一种快速访问的存储器。采用Cache技术的主要目的是提高存储器的访问速度,因此是由硬件自动完成Cache与主存之间的地址映射
EPROM(Erasable Programmable Read-Only Memory)电可擦除可编程只读存储器是一种可擦可编程只读存储器,可以多次擦除和重新编程。它通常用于存储固件和程序,具有只读的特性,但可以通过特定操作进行擦除和重新编程。
存储系统-Cache
三级存储体系:Cache-主存-辅存
Cache最快(若有通用寄存器,则通用寄存器最快)
Cache的内容是主存部分内容的拷贝
Cache改善系统的时间局部性和空间局部性
h:cache命中率
ta:cache/主存系统的平均访问时间
tc:命中时cache的访问时间(即cache存取周期)
tm:未命中时主存的访问时间(包括访问cache未命中的时间和未命中后访问主存的时间,即主存存取周期)
Cache与主存之间的地址映射由硬件完成
地址映射是将主存与Cache的存储空间划分为若干大小相同的页(或称为块)。
直接相联映像:硬件电路较简单,但冲突率很高
全相联映像:电路难复杂,冲突率较低
组相联系映像:前两者结合
DMA Direct Memory Access
DMA,全称Direct Memory Access,即直接存储器访问。在(主存与外设)之间建立了直接的数据通路
DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。
我们知道CPU有转移数据、计算、控制程序转移等很多功能,系统运作的核心就是CPU,
CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,比方说数据的复制和存储数据,如果我们把这部分的CPU资源拿出来,让CPU去处理其他的复杂计算事务,是不是能够更好的利用CPU的资源呢?
因此:转移数据(尤其是转移大量数据)是可以不需要CPU参与。比如希望外设A的数据拷贝到外设B,只要给两种外设提供一条数据通路,直接让数据由A拷贝到B 不经过CPU的处理
DMA就是基于以上设想设计的,它的作用就是解决大量数据转移过度消耗CPU资源的问题。有了DMA使CPU更专注于更加实用的操作–计算、控制等。
CPU是在(一个总线周期)结束时相应DMA请求的
存储系统-主存编址
存储器很大,每次去找一个bit是比较麻烦的,因此会对bit进行分组,那么多少个bit分为一组?不同的计算机会有不同的区别。假设4个bit作为一组的话,也就是定义了计算机字长为4bit,那么4个bit作为一组数据,称之为一个字,这种分组之后,这样的数据,我们把这四个字一组的记作存储单元。给不同的存储单元一个编号,这个编号就是存储单元的地址编号,地址编号在计算机中也会用0/1二进制编号来表示。
存储单元就是一次性放置的比特位,放置的空间就叫做存储单元
编址内容就是每一行放的东西,看一行有多少个比特位
存储单元个数 = 最大地址编号 − 最小地址编号 + 1
总容量=存储单元个数×编址内容
总片数=总容量/每片的容量
编址内容就是每一行放的东西,看一行有多少个比特位
按字编址:存储体的存储单元是字存储单元,一个字给一个地址编号,即最小寻址单位是一个字,64位计算机字长一般是64,考试常见的是字长16位或字长32位
按字节编址:存储体的存储单元是字节存储单元,一个字节给一个地址编号,即最小寻址单位是一个字节
内存按字节编址,利用8K×4bit的存储芯片构成84000H到8FFFFH的内存,共需_______片。
按字节编址:表示字长为1B=8bit
8K×4bit的存储芯片:8K表示数值,在计算机中,涉及到数据和容量的时候,K=210,M=220,G=230
①首先求存储单元个数
存储单元个数=最大地址编号+1-最小地址编号
8FFFFH+1=90000H
90000H-84000H=C000H
C000H转换成十进制,就是12×16^3
②求总容量
总容量=存储单元个数×编址内容
题目可知是按字节编址
总容量=12×16^3×8bit
③求片数
每片的容量题目已经告知:8K×4bit的存储芯片
每片的容量=8K×4bit=8×210×4bit
总片数 = 总容量 / 每片的容量
结果12
1 字节(byte) = 8 位(bits)
1 千字节(KB) = 1024 字节(bytes)2^10
1 兆字节(MB) = 1024 千字节(KB)
1 千兆字节(GB) = 1024 兆字节(MB)
1 太字节(TB) = 1024 千兆字节(GB)
输入输出技术
数据控制(查询)方式
无条件查询
程序查询(CPU利用率最低)
方法简单,硬件开销小,但IO能力不高,严重影响CPU的利用率
程序中断方式:无需等待提高了传输请求的响应速度
DMA方式:为主存与外设之间实现高速,批量数据交换而设置的,比前两种都高效,不参与数据执行过程
(DMAC向总线裁决逻辑提出总线请求:CPU执行完当前总线周期即可释放总线控制权。此时DMA响应,通过DMA通知IO接口开始DMA传输)
CPU实在(一个总线周期)结束后响应DMA请求的
通道方式
IO处理机
中断处理过程:
CPU无需等待也不必查询IO状态
当IO系统准备好,发出中断请求信号通知CPU
CPU接到中断请求后,保存现场在栈中(断电)
通过中断向量表,转入IO中的服务程序的执行,完成IO系统的数据交换
返回打断的程序继续执行
为了实现便于实现多级中断嵌套,使用堆栈来保护断点和现场最有效
总线
一个总线同一时刻仅允许一个设备发送,但允许多个设备接收。(分时双工)
总线的分类:
数据总线(Data Bus):在CPU和RAM之间来回传送需要处理或是需要存储的数据。
地址总线(Address Bus):用来指定在RAM(Random Access Memory)之中储存的数据的地址。
控制总线(Control Bus):将微处理控制单元(Control Unit)的信号,传到周边设备。
总线复用方式可以:减少总线中信号线的数量
1. ISA (Industry Standard Architecture): ISA是一种早期的计算机总线标准,用于连接计算机的主板和外部设备。ISA总线通常用于连接低速设备,如声卡、调制解调器等。随着技术的发展,ISA总线逐渐被更快速的总线标准所取代。
2. PCI (Peripheral Component Interconnect): PCI是一种现代的计算机总线标准,用于连接计算机的主板和外部设备。PCI总线具有更高的数据传输速度和更好的性能,通常用于连接高速设备,如显卡、网卡等。
3. SCSI (Small Computer System Interface): SCSI是一种用于连接计算机和外部设备的接口标准。SCSI接口通常用于连接高性能设备,如硬盘驱动器、光驱等。SCSI接口支持多设备连接和高速数据传输。
4. EISA (Extended Industry Standard Architecture): EISA是一种扩展的计算机总线标准,用于连接计算机的主板和外部设备。EISA总线相比于ISA总线具有更高的性能和更大的扩展性,支持更多的设备连接。然而,随着PCI总线的出现,EISA总线逐渐被淘汰。
MTBF、MTTF可靠性
MTTF:平均无故障时间
软件可靠性=MTTF/(1+MTTF)
软件可维护性=1/(1+MTTR)
某种部件用在2000台计算机系统中运行工作1000小时后。其中有4台计算机的这种部件失效,则该部件的千小时可靠度R为_()
该部件的千小时可靠度R为(2000-4)/2000=0.998.
软件可靠性指的是:一个系统对于给定的时间间隔内,在给定条件下无失效运作的概率。
软件可靠性有关条件:(考点)
潜在错误的数量
错的位置
使用方式
性能指标
字长和数据通路宽度
主存容量和存取速度
运算速度
①主频与CPU时间周期(主频的倒数,单位是s)
②CPI(clock per Instruction平均每条指令的平均始终周期个数)和IPC(Instruction per clock每周期运行指令条数)
③MIPS(Million Instruction Per Second百万条指令每秒)与MFLOPS(Million Floating-point Operation Second 每秒百万个浮点操作)
MIPS=指令条数/(执行时间*10^6)=主频*IPC
MFLOPS=浮点操作次数/(执行时间*10^6)
吞吐量(每分钟可以处理多少个请求)与吞吐率
响应时间(RT Reponse Time)与完成时间(TAT)
兼容性
原文地址:https://blog.csdn.net/wlq_567/article/details/142639120
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!