1.第一台电子计算机何时何地诞生?英文全称?
1946年2月14日 美国宾夕法尼亚大学
ENIAC:电子数字积分计算机
Electronic(电子的) Numerical(数字的) Integrator(综合者) And Calculator(计算器)
2.冯·诺依曼型计算机组成、思想?
计算机组成:
运算器、控制器、存储器、输入设备、输出设备。
思想:
采用二进制的形式表示数据和指令,将数据和指令事先保存在存储器中,按照顺序执行程序来控制计算机工作运行。
3.现代计算机硬件系统与冯·诺依曼型计算机组成有什么不同?
相同点:
现代计算机仍是冯·诺依曼体系结构。
不同点:组成形式改变很大
(1)逻辑元件组装成电路高度集成,把运算器、控制器集成到一块CPU芯片上。
(2)存储器分为三级:高速缓冲存储器Cache,主存储器(内存),外部存储器;
其中Cache现在都集成在CPU里,主存由内存条卡实现,外部存储器主要有机械硬盘、固态硬盘等;
(3)输出与输入设备主要有显示器、鼠标、键盘。
显示器有专门显示接口(集成或独立显卡)连接CPU或主存,键盘和鼠标也通过集成接口连接CPU。此外还配置集成网卡和声卡。
(4)USB多种连接接口实现网络与多媒体连接。整个系统采用多级总线结构组成。
4.CPU的性能公式、性能指标,如何评价?
性能公式:
一个程序的CPU时间 (指令周期)= 指令数/程序 × CPI × 时钟周期
性能指标:
(1)主频:也就是CPU的时钟频率,一个时钟周期完成的指令数是固定的,所以主频越高,CPU的速度也就越快了。
(2)外频,CPU的基准频率,CPU的外频决定着整块主板的运行速度。
(3)总线频率直接影响CPU与内存直接数据交换速度。
(4)位和字长
5、相对于原码补码表示有什么好处?
6.移码与补码在形式上有什么异同?
符号位取反,其他数值位不变。
如: +101 1111 -101 1111
补码为 0101 1111 1010 0001
移码为 1101 1111 0010 0001
7.英文字母的编码是什么?占几个字节?
7位ASCII(美国信息交换标准代码 ),占1个字节。
8.国标码用于表示什么?如何表示与存储?
国标码用于表示汉字,每个汉字占用2个字节,四位十六进制数表示。
在计算机内部,存储时要转换成机内码,转换方法:
34 73 +80 80 = B4 F3
习题:
1、写出十进制数-35的8位补码定点数
X= - 35D = - 10 0011B
[X]原 = 1010 0011B;高位补0,符号位负数为1
[X]反 = 1101 1100B;除符号位,其余各位取反
[X]补 = 1101 1101B;反码+1
补码的存储格式:11011101
2、写出十进制数(-49/64)的8位补码定点数。
(-49/64)D=[- (110001)/(1000000)]B=-(0.1100010)B
真值:-1100010
原码:11100010
补码:10011110
补码的存储格式:10011110
3、写出8位补码(B6)H所对应的定点整数十进制真值。(提示:补码的补码为原码)
补码:(B6)H=(10110110)B
反码:11001001
原码:11001010
真值:(-1001010)B=(-74)D
整数十进制真值为:(-74)D
4、将十进制数(-86/128)D表示成32位的754 标准浮点数。
(-86/128)D=[(-1010110)/(10000000)]B=(-0.1010110)B=-1.01011*2的-1次方
S(符号位)1位:负数为1
E(实际指数)8位:E=e+127=126D=(01111110)B
M(尾数小数部分)23位:01011
【提示:E(实际指数)=e(有偏移指数)+127(偏移值)】
标准浮点数SEM为:1011 1111 0010 1100 0000 0000 0000 0000(一共32位)
5、将32位的754 标准浮点数(C2FC0000)H表示成十进制数。
(C2FC0000)H=(1100 0010 1111 1100 0000 0000 0000 0000)B
S=1
E=(10000101)B=(133)D
M=11111000000000000000000
十进制数=(-1)S次方×(1+M)×2(E-127)次方
=-1×1.11111×2*6次方
=-11111110
=-126D
【提示:为什么1+M?前面的“1”从隐含位而来;e=E-127;】
所以该浮点数十进制为:-126D
9.存储器的功能及主要技术指标
存储器的功能:
存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。
主要技术指标:
(1)存储容量:一个存储器中可以容纳的二进制存储位总数。
(2)存取时间:又称存储访问时间,是指从启动一次存储器操作到完成该操作所经历的时间。
(3)存储周期:连续两次独立的存储器操作(如连续两次读或写操作)所需间隔的最小时间。
(4)存储器带宽:存储器在单位时间内的数据传输速率。
10.存储器(Memory)为什么要分层?主存、辅存、Cache?
为了解决大容量、高速度、低成本的均衡,所以才将存储系统分为各个层次,
让需要高速度的用贵的存储器,让需要大空间的用便宜的存储器,主要利用了程序局部性原理,大大的提高了主存的效能。
主要两个层次:cache和主存、主存和辅存,其实这两种分层方式都是为了服务于主存从而提高计算机整体的存取速度。
11、三级存储器层次结构
(1)主存(Main Memory):存储当前需要执行的程序和数据,直接与CPU通信。
(2)外存/辅存(Auxiliary Memory):提供备份存储,不能与CPU直接通信。如:固态硬盘
(3)Cache(Very-high-speed memory):用于补偿主存的访问速率与CPU的执行速率之间的差异。
12.SRAM如何存储信息?DRAM如何存储信息?
DRAM利用电容存储信息,DRAM 只能将数据保持很短的时间,为了保持数据,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。
SRAM利用晶体管的状态存储信息,内部基本单元电路是触发器(flip-flops),只要有电源,就可以长久保存信息。
【DRAM(dynamic random access memory[即动态随机存取存储器])–最为常见的系统内存
SRAM(static random access memory[静态随机存取存储器])】
13.比较SRAM与DRAM
前者使用方便,读写周期较短;
后者功耗小,单个存储芯片存储容量大。
习题:
6、哪种逻辑运算可用来清“0”数据位?
逻辑与(&)用来清“0”数据位;
哪种逻辑运算可以用来置“1”数据位?
逻辑或(|)用来置“1”数据位。
7、ALU是运算器的核心部件,它主要完成什么操作?
ALU主要完成加、减法等算术运算及逻辑与、或、非、异或等逻辑运算功能。
8、说明程序和数据在Cache、主存、辅存中的存储分配
(1)Cache中保存CPU近期最频繁执行的程序和数据;
(2)主存保存将被或正在被CPU执行的程序和数据,包括Cache中的部分;
(3)那些不被CPU执行的程序和数据保存在辅存中(当然主存中的程序和数据也在辅存中)。
9、上述三个存储器以谁为中心?
以主存为中心。
14、比较RAM与ROM的异同
相同点:
访问方式相同,都是随机访问。
不同点:
RAM是可读可写的存储器芯片,ROM是只读(不写)的存储器芯片;
RAM是易失的,断电其存储的信息就失去了;ROM是非易失的,断电后再次上电,存储的信息不会改变;
RAM存放大部分程序和可以修改的数据;ROM存储永久性驻留的程序及随计算机出厂就固定的参数。
15、bootstrap loader是什么程序?存储在什么存储芯片中?
bootstrap loader是引导装载程序;是上电后首先执行的程序;存储在ROM中。
以PC机为例说明它在计算机中起什么作用?
PC机中称之为BIOS,开机的执行,由它来将磁盘上的操作系统引导程序装载RAM主存的固定位置,然后将控制权转交给操作系统引导程序,完成操作系统的引导。
问题:
1、为什么需要存储器容量扩展?位容量与字容量扩展有什么不同?
存储器容量扩展是解决芯片容量与系统容量匹配问题。
当芯片数据线位数少于系统数据位数时,需要位扩展;单芯片地址位数少于系统地址位数时。需要字扩展。
2、计算机字长16位,其存储容量为32MB,若按双字编址,它的寻址范围是多少?
寻址范围是:32M×8位(字节)/32位=8M
000 0000 0000 0000 0000 0000—111 1111 1111 1111 1111 1111
3、某SRAM芯片,其存储容量为64K×16位,该芯片的地址线和数据线数目各为多少?
地址线:64K=26K=2*16次方
地址线和数据线数目分别为:16,16。
【提示:数据线数目=位数】
4、设计一个容量为2KB的存储器需要几片128×8位的存储芯片? 画出其容量扩展框图。
2K×8位/128×8位 = 211次方/27次方=2*4次方= 16
需要16片
第一片128×8位的存储芯片寻址范围是:
000 0000 0000 ~000 0111 1111
第二片: 000 1000 0000 ~000 1111 1111
第三片: 001 0000 0000 ~001 0111 1111
…
第十六片:111 1000 0000 ~111 1111 1111
5、设计一个容量为16K×16位的存储器需要几片4K×8位的存储芯片? 画出其容量扩展框图。
16K×16位/4K×8位=8
需要8片扩展
6、按照小端及大端存放规则,写出数据 12345678H在连续4个内存单元(00050H?00053H)中的存放结果。
小端规则 大端规则
0050 78 0050 12
0051 56 0051 34
0052 34 0052 56
0053 12 0053 78
内存地址 -> 0x1(最小存储地址) 0x2 0x3 0x4
大端法 -> 12(最高有效字节) 34 56 78
小端法 -> 78(最低有效字节) 56 34 12
可见,大端法和小端法是相反的。大端法最高有效字节在前,小端法最低有效字节在前。
问题:
1.设置Cache的目的是什么?CPU如何访问Cache与主存?
设置Cache的目的:
为了提高CPU访问主存的速度,cpu速度太快,硬盘和内存的速度无法跟上,就必须弄出几级cache来暂存数据。
否则,cpu把数据处理完毕,但硬盘上的数据和内存中的数据却还没有送达到cpu,导致cpu空转,影响整个系统的效率
CPU如何访问Cache与主存:
CPU发出访问主存的地址,Cache也同时收到,若目标数据在Cache中(命中)则Cache将先于主存把数据送往CPU,若Cache没命中则主存迟早会把目标数据送往CPU
2.Cache的主要性能指标是什么?如何计算?
主要性能指标:命中率
设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有
h=Nc/(Nc+Nm)
3.主存与Cache的地址映射方式有哪几种?它们如何将主存的块映射到Cache块中?
三种方式进行映射:直接、全相联、组相联 ?
(1).全相联的映射方式—主存块可以拷贝到Cache任意块
(2).直接映射方式—主存j块固定映射拷贝到Cache的i块
(3).组相联映射方式 将Cache所有行分组,把主存块映射到Cache固定组的任一行中。即:组间模映射、组内全映射
4.有一处理机,主存容量1MB,字长1B,块大小16B;Cache容量64KB,若cache采用直接映射,给出主存地址分段结构,并指出映射到cache同一块的2个不同的主存地址。
解:根据题意:
字长1B,块大小16B,16B/1B=24
字号:4位
块数= 64KB/16B=216B/24B=212
块号:12位
Cache: 64KB=216B , 每个块大小16B=24B
主存容量1MB,地址20位, 分区数=1MB/64KB= 220/216= 2*4
标记:4位
区号:标记位=4位(或直接20-12-4=4得出)
主存地址:标记4位,块号12位,字号4位
5.一台计算机按字节寻址,其内存为1M。数据块的大小是16个字节,Cache的大小是64K字节。采用两路组相联映射,给内存地址为F0010H和CABBEH两个地址对应的标记、组号和字号。
解:按字节寻址,数据块为16个字节
字号:16B/1B=24,4位
采用两路组相联映射(每组内只有2块):64KB/2=32KB=215B
组号:15-4=11位
内存为1M,地址20 位:20-11-4=5位
标记位,区号:5位
地址: 标记5位, 组号11位, 字号4位
F0010H: 11110 00000000001 0000B
CABBEH:11001 01010111011 1110B
6.一个组相联Cache由64个块组成,每组4块(4路组相联)。主存储器包含4K个块,每块16个字。请表示主存地址格式。给内存地址为F001H和CABBH两个地址对应的标记、组号和字号。
解:
块大小16字=24字 ,字号=4位
每组的块数=4
组数= 64/4=16=24 ,组号=4位
主存的块数4K=2*12 ,标记=12-4=8位
主存地址格式(16进制):
标记 8位 组号4位 字号4位
F001H F0 0 1
CABBH CA B B
问题:
1.什么是指令系统?为什么说指令系统是计算机中软 件和硬件分界面?
指令系统是计算机硬件的语言系统,也叫机器语言(Machine Language)。
它的下面层次是硬件逻辑实现,上面层次是系统软件与应用软件。所以指令系统是一个软件和硬件分界面。
2.什么是操作码?什么是操作数?
操作码就是指令序列号,用来告诉CPU需要执行哪一条指令
操作数(地址码 A)是操作码的操作对象。
3.操作数为什么又被称为地址码?指令中常用的操作数的个数是多少?
操作数字段的除了立即寻址直接给出操作数本身外,其他的绝大多数寻址方式都是直接或间接地给出操作数地址或地址索引。所以称之为地址码。
指令中常用的操作数的个数是:三个、二个、一个及零个。
4.指令中的操作数通常来源于哪里?
来源于:
(1)立即数—操作数即指令代码中的地址码部分;
(2)寄存器—操作数在寄存器中(即指令代码中的地
址码部分所指出的寄存器中的内容);
(3)内存单元—操作数在内存单元中(即指令代码中
的地址码部分所指出的内存单元中的内容);
(4)I/O端口(I/O接口中存放信息的寄存器—操作数在
I/O端口中)。
习题:
1.寄存器寻址与寄存器间接寻址有什么不同?请根据实验计算机指令说明之。
操作数位置与寻址过程不同。
例如:
(1)MOV A,R1 ;R1指示寄存器寻址,操作数在R1中;
寻址过程是直接用R1访问寄存器得到操作数;
(2)MOV A,@R1 ;@R1指示寄存器间接寻址,操作数在主存中;
寻址过程用R1访问寄存器得到操作数的主存地址,然后用该地址访问存储器得到操作数。
2.立即数寻址与直接寻址在汇编指令形式上有什么不同?他们的操作数都源于哪里?请根据实验计算机指令说明之。
立即寻址要在操作数前面加上标记:#
如:
MOV A,#01H ; #01H 就是立即寻址,操作数就在指令中;
直接寻址要直接给出主存地址
如:
MOV A,01H ; 01H 是直接寻址,操作数在01H指向的存储单元中。
3.零地址指令是否有操作数?如果有,操作数采用何种寻址方式?请解释这种寻址方式。
零地址指令可以有,也可以没有操作数,视指令功能需求而定。如果有操作数,该操作数采用隐含寻址方式,这种寻址方式操作数的位置是固定的,比如在累加器、在堆栈里面。通过操作码确定具体位置。
如:
NOP 是空操作,就没有操作数;
IN 是输入指令,两个操作数一个在输入寄存器里,一个在累加器里。
问 题:
1.基本的指令类型有哪些?实验计算机指令集都有哪些类指令?
(1) 数据传送类指令
(2) 运算类指令
(3) 程序控制类指令:跳转指令、分支指令、子程序调用返回、中断系统
(4) 输入和输出指令
(5) 其他指令: 空操作NOP或者软件的调试
2.RICS与CISC各有什么特点?
CISC:复杂指令计算机
(1)指令系统复杂庞大,各种指令使用频度相差大;
(2)指令长度不固定、指令格式种类多、寻址方式多;
(3)访存指令不受限制。
RISC:精简指令集计算机
(1)选用使用频度较高的一些简单指令,复杂指令的功能由简单指令来组合;
(2)指令长度固定、指令格式种类少、寻址方式少;
(3)只有 LOAD / STORE 指令访存。其余指令的操作均在寄存器之间进行。
3.实验计算机的有2个标志位RCy和Rz,各代表什么含义?那类指令的执行会对它们起作用?
RCy:CPU的累加器ACC直通门进位表示位
Rz: CPU的累加器ACC直通门的清零标志位
4.处理器的主要功能?
(1)处理指令(Processing instructions)
(2)执行操作(Perform an action):根据指令的功能,产生相应的操作控制信号,发给相应的部件,从而控制这些部件按指令的要求进行动作。
(3)控制时间(Control time):对各种操作实施时间上的定时。
(4)处理数据(Processing data):对数据进行算术运算和逻辑运算,或进行其他的信息处理。
5.根据实验计算机各种指令的微操作执行过程分析,哪步微操作是所有指令都相同的还是必须的?那类指令操作影响标志位RCy和Rz,如何影响?
M[PC]->IR :这步微操作是所有指令都相同且必须的;
运算类会影响标志位RCy和Rz,有进位或者借位时标志位RCy为1,否则为0,运算后直通门数据为0时Rz为1,否则为0
6.微操作执行过程依据什么分步?最长多少步?最短多少步?
IR:存放从存储器中取出的指令
最长4步;最短2步
习题:
以单微指令步骤运行下列指令,分析每一步微操作的相同与不同。有PC+1操作的指令字长与没有的有区别吗?
有PC+1操作的指令是双字指令,没有这个操作的是单字指令
1.ADD A,#12H的微指令分为3步
指令地址 机器码 汇编码
00 1C12 ADD A,#12H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC]→W
(3)A+W→D→A ?
2.MOV A,#20H的微指令分为2步
指令地址 机器码 汇编码
02 7C20 MOV A,#20H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC]→A
3.MOV R0,#60H的微指令分为2步
指令地址 机器码 汇编码
04 8C60 MOV R0,#60H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC]→R0
4.MOV @R0,A的微指令分为3步
指令地址 机器码 汇编码
06 84 MOV @R0,A
微操作步骤
(1)M[PC]→IR
(2)PC+1,(R0)→MAR
(3)A→D→M[MAR]
5.SUB A,60H的微指令分为4步
指令地址 机器码 汇编码
07 3860 SUB A,60H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC]→MAR
(3)M[MAR]→W
(4)A-W→D→A
6.MOV R1,#30H的微指令分为2步
指令地址 机器码 汇编码
09 8D30 MOV R1,#30H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC+1]→R1
7.SUB A,R1的微指令分为3步
指令地址 机器码 汇编码
0B 31 SUB A,R1
微操作步骤
(1)M[PC]→IR
(2)R1→ W
(3)A-W → A
8.MOV A,#00H的微指令分为2步
指令地址 机器码 汇编码
0C 7C00 MOV A,#00H
微操作步骤
(1)M[PC]→IR
(2)PC+1,M[PC]→ A
9.ADDC A,R1的微指令分为3步
指令地址 机器码 汇编码
0E 21 ADDC A,R1
微操作步骤
(1)M[PC]→IR
(2)R1→ W
(3)A+W+Rcy → A
1.计算机存储字长64位,存储容量为16GB,若按半字编址,求编址单元数目?
解:存储字长64位,半字就是32位;16GB = 16G × 8位
所求编址单元数目 = 16G × 8位 / 32位= 4G
2.某SRAM芯片,其存储容量为1024K×16位,该芯片的地址线和数据线数目各为多少?
解:1024K =1M = 220,
所以地址线数目20;数据线数目为16。
3.设计一个容量为256K×16位的存储器,可选存储器芯片为8K×8位。如何扩展?需要扩展的芯片数目各是多少?
解:需要字、位双向扩展。
字扩展的芯片数目 = 256K /8K = 32片
位扩展的芯片数目 = 16位 /8位 = 2片
4.有一处理机,主存容量64K块,块大小16个字;Cache容量4K块,若Cache采用直接映射,写出主存地址结构;并给出2个不同标记的内存地址,它们映射到同一个cache行。
解:块大小16=24,字号位数=4位
分区数=64K/4K =216/212=24,标记位数=4位
Cache块数=4K=212,块号位数=12位
主存地址结构(20位)为:标记4位,块号12位,字号4位
主存地址60010H(标记6)与70010H(标记7)都映射到cache的001H块。
5.输入输出方式有几种?都是什么方式?
有4种方式,分别是:
(1)无条件传送方式;(2)程序查询方式 ; (3)程序中断方式; (4)DMA方式
哪种方式是程序控制方式?哪种方式仅通过硬件控制输入输出?
(1)、(2)、(3)方式是程序控制方式;(4)方式仅通过硬件控制输入输出。
查询方式如何实现?有什么缺点?
查询方式传送前,CPU必须先对外设进行状态检测。缺点是耗费CPU时间,外设多的情况CPU轮番查询更耗时,响应速度也不及时。
8.程序查询方式与程序中断方式的主要区别是什么?
前者CPU主动查询I/O接口;后者I/O接口主动请求CPU。
9.中断方式与DMA方式在控制I/O数据传输方面的的主要区别是什么?
前者通过中断服务程序控制I/O数据传输,一次传 送一个数据字;后者以硬件方式由DMA控制器直接控制I/O 数据传输,一次可以传送一个数据块。
10.试比较中断方式与DMA方式的优缺点。
前者优点是软件控制,不局限于I/O数据传输,可以应用到任何随机突发事件;缺点是I/O数据传输较慢。后者的优点是I/O数据传输较快;缺点是硬件控制只局限于I/O数据传输。
11.何谓中断向量?
中断向量即中断服务程序的入口地址。在某些计算机中,中断向量的位置存放一条跳转到中断服务程序入口地址的跳转指令。
12.列举引发中断的三种事件?操作系统的多任务调度靠哪种实现
如I/O中断、定时中断、控制台中断等。操作系统中的多任务调度靠定时中断实现。
13.中断处理通过硬件还是软件实施,分为哪4个步骤?
中断处理过程通过软件实施,大致分为四个阶段:
(1)保存被中断程序的现场;(2)分析中断原因;
(3)转入相应处理程序进行处理;
(4)恢复被中断程序现场(即中断返回)
14.按照总线传输的信息,总线可分为哪三类?
按照所传输信息的性质分类:
地址总线 (单向)
数据总线 (双向)
控制总线 (双向)
15.总线的性能指标与什么因素有关?何谓总线带宽?如何计算?
与总线的位宽、总线的时钟频率及总线的数据传输速率相关。
总线的最高数据传输速率称为总线带宽。
总线带宽=总线位宽×总线工作频率/8
16.为什么总线上的部件常常需要与三态逻辑门连接?
为解决总线上连接的部件发送冲突问题,总线与其上所挂的部件在物理是连通的,但是从逻辑上有输入、输出、断开三种状态, 所以连接总线上的部件需要通过三态逻辑门接口与总线连接。