冯·诺依曼计算机的特点是什么
  1. 计算机由运算器,存储器,控制器,输入设备和输出设备五部分组成
  1. 指令和数据以同等地位存放于存储器中,并可按地址寻访(区分方式见下面问题)
  1. 指令和数据均由二进制数表示
  1. 指令由操作码地址码构成,操作码用来表示操作的性质,地址码用来表示操作数在存储器的位置
  1. 指令在存储器内按顺序存放,通常是按顺序执行,特定条件下可根据运算结果或特定条件改变执行顺序(使用跳转类指令)
  1. 机器以运算器为中心
画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要技术指标?
1)框图如下:
计算机硬件组成框图
计算机硬件组成框图
现代计算机可以认为由三大部分组成:CPU 、I/O设备及主存储器。其中,CPU与主存储器合起来,称为主机, I/O设备又可称为外部设备。
2)各部件的作用
  • CPU包括运算器和控制器两个部分;其中,ALU是运算器的核心器件,用来完成算术和逻辑运算;CU是控制器的核心器件,用来解释存储器中的指令,并发出各种操作命令来执行指令。
  • 主存储器用来存放程序和数据,它可以直接与CPU交换信息;
  • I/O设备受CPU控制,用来完成相应的输入输出操作。
3) 主要技术指标:  机器字长、存储容量(内存容量)和运算速度。
存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?
存储器的层次结构主要体现在Cache—主存和主存—辅存这两个存储层次上。
  • Cache—主存层次主要解决CPU和主存速度不匹配的问题,在存储系统中主要对CPU访存起加速作用。从CPU的角度看,该层次的速度接近于Cache,而容量和每位价格却接近于主存。这就解决了存储器的高速度和低成本之间的矛盾
  • 主存—辅存层次主要解决存储系统的容量问题,在存储系统中主要起扩容作用。从程序员的角度看,其所使用的存储器的容量和每位价格接近于辅存,而速度接近于主存。该层次解决了大容量和低成本之间的矛盾。
主存与 Cache 之间的数据调度是由硬件自动完成的,对程序员是透明的。而主存—辅存之间的数据调度,是由硬件和操作系统(采用虚拟存储技术)共同完成的。
什么是存储器的带宽?若存储器的数据总线宽度为 32 位,存取周期为 200ns,则存储器的带宽是多少?
1)存储器的带宽指单位时间内存储器存取的信息量
2)存储器带宽 = 1/200ns × 32 位= 160M 位/秒 = 20MB/S (此处1M=106 )
试比较静态RAM和动态RAM各自的特点。
1)静态RAM:依靠双稳态触发器保存二进制代码,只要不断电,信息就不会丢失,非破坏性读出,功耗较大,集成度较低,速度快,每位价格高,适合于作Cache或存取速度要求较高的小容量主存。
2)动态RAM:依靠电容存储电荷来保存二进制代码,需刷新电路进行动态刷新,存取速度较慢;功耗小,集成度高,每位价格低,适合于作大容量主存。
为什么要刷新?简要说明动态RAM刷新的几种方式及其特点。
1)原因有两点:
① 主要原因:由于电容极板漏抗的存在,存储于电容中的电荷存在泄漏的情况,这会导致动态RAM存储单元中的原存信息丢失。
② 此外,最常用的单管动态RAM的读出为破坏性读出。
综合上述两点,动态RAM必须要进行刷新。
2)动态RAM的刷新方式有集中式刷新、分散式刷新、异步式刷新和透明式刷新等四种方式。(只答前三种也可)
各种刷新方式的特点如下:
集中式刷新:在最大刷新间隔时间内,集中安排一段时间进行刷新。其缺点是进行刷新时必须停止读、写操作。这对主机而言是个“死区”
分散式刷新:刷新工作安排在系统的存取周期内进行,对主机而言不再有“死区”。但该方式加长了系统的存取周期,存在无谓刷新,降低了整机运行效率。因此,分散方式刷新不适用于高速存储器。
异步式刷新:结合了上述两种方式的优点,充分利用了最大刷新间隔。相对于分散式刷新而言,它减少了刷新次数;相对于集中方式来说,主机的“死区”又缩短很多。因此,这种方式使用得比较多。
透明式刷新:该方式不占用CPU时间,对CPU而言是透明的操作;但控制线路复杂。
以直接映像方式为例,说明在带有Cache的存储系统中,“读”操作是怎样完成的。
当CPU发出主存地址后,Cache地址映射机构按照直接映射方式将主存地址标记与Cache特定字块的标记进行比较,以判断出所访主存字(主存地址的内容)是否已在Cache中。若命中,直接访问Cache,将该字送至CPU;若未命中,一方面要访问主存,将该字传送给CPU,与此同时,要按照直接映射方式转换的Cache地址将该字所在的主存块装入Cache,如果此时Cache已装满,就要执行替换算法,腾出空位才能将新的主存块调入。
I/O设备与主机交换信息时,共有哪几种控制方式?简述它们的特点。
I/O设备与主机交换信息时,共有5种控制方式:程序查询方式、程序中断方式、DMA方式、I/O通道方式和I/O处理机方式。其中前3种方式是基本且仍然广泛应用的控制方式。
程序查询方式的特点:控制简单,硬件开销小;CPU与外设是串行工作的,系统效率低。适用于CPU不太忙且传送速度要求不太高的场合。
CPU 通过程序不断查询 I/O 设备是否已做好准备,若设备未准备就绪,就继续查询,直到查得设备准备就绪,就将数据从 IO 接口送至 CPU。这种方式下 CPU 和 IO 设备处于串行工作状态,在反复的查询过程中 CPU 不能执行原程序,相当于原地踏步,工作效率不高。程序查询方式中,CPU与设备串行工作,传送与主程序串行工作。
程序中断方式的特点:CPU和外设可并行工作,提高了CPU的效率,不仅适于主机和外设之间的数据交换,还特别适于对外界随机事件的处理。适用于CPU较忙,传送速度不太高的系统中,尤其适合实时控制及紧急事件的处理。
CPU 启动 I/O 设备后,继续执行自身程序,只是当 I/O 设备准备就绪并向CPU 发出中断请求后才予以响应。这种方式解决了 CPU 原地踏步的问题。CPU与设备并行工作,传送与主程序串行工作。
DMA方式的特点:完全由硬件(DMA控制器)负责完成信息交换,信息传递从以CPU为中心,转为以内存为中心,CPU和外设可并行工作,对高速大批量数据传送特别有用。但缺点是只能进行简单数据交换,电路结构复杂,硬件开销大。
主存与 IO 设备之问有一条数据通路,不需要调用中断服务程序就可以直接访问主存。当这种访问与 CPU 访问主存发生冲突时,CPU 总是将总线占有权让给DMA,通常这个时长是一个读取周期,此时称为窃取周期。
CPU 响应的中断的条件是什么?响应中断后CPU将进入什么工作周期?该工作周期前后各是什么阶段?
1、CPU响应中断的条件可以归纳为三条:
1)有中断请求;
2)CPU允许中断,即中断允许状态IF=1(或EINT=1);
3)一条指令执行结束。
2、响应中断后CPU将进入中断周期该工作周期之前是指令的执行阶段,之后是取指阶段。
试比较单重中断和多重中断服务程序的处理流程,说明它们不同的原因
notion image
单重中断和多重中断的区别在于“开中断”的设置时间不同。
对于单重中断,开中断指令设置在最后“中断返回”之前,意味着在整个中断服务处理过 程中,不能再响应其他中断源的请求。
而对于多重中断,开中断指令前至“保护现场”之后,意味着在保护现场之后,若有更高级别的中断源出请求,CPU也可以响应,从而实现中断嵌套,这是二者的主要区别。
程序中断方式中“保护现场”的含义是什么?“保护现场”是如何实现的?
1)保护现场的含义有两重,一是保存程序的断点,二是保存通用寄存器和状态寄存器的内容
2)保存程序断点由中断隐指令通过硬件电路完成;而保存通用寄存器和状态寄存器的内容则由中断服务程序完成,通常是由压栈指令(PUSH)压入堆栈保存/在中断服务程序的起始部分安排若干条存数指令,将寄存器的内容存至存储器中保存。
DMA的工作过程
notion image
DMA的工作划分为三个阶段:
  1. 预处理:向DMA传输主存起始地址、设备地址、传送数据个数并启动设备。CPU执行主程序实现DMA传送的初始化设置。
  1. 数据传送:分批传送数据,结束后向CPU申请中断。由DMA控制器实现内存和外设间的数据传送。
  1. 后处理中断服务程序做DMA结束处理。中断处理程序判断传送的正误,对写入主存的数据进行校验,完成善后工作。(校验送入主存的数据是否正确;决定是否继续用DMA传送其他数据库块,若继续传送,则又要对DMA接口进行初始化,若不需要传送,则停止外设;测试在传送过程中是否发生错误,若出错,则转错误诊断及处理错误程序。
高速外设与主机进行数据交换,为何不选用程序中断方式?应该以何种方式完成?为什么?
一些高速外设,如硬盘、光盘等I/O设备,经常需要和主存进行大批量的数据交换;若采用程序中断方式来完成,也即CPU通过执行中断服务程序来完成,数据交换都是以字或字节为单位,且需要CPU芯片上的寄存器作为中间媒介,速度慢,无法满足此类外设的批量数据高速传输的需求,从而造成数据的丢失。
应该采用DMA方式完成。因为该方式是在内存和外设间建立了直连数据通路,借助于专门的硬件(DMA控制器)接管总线,实现访存,比之程序中断方式这种借助于软件实现的数据交换,速度要快得多,从而更适合于高速外设与主机之间的数据交换。
简述DMA方式和中断方式的异同点?请说明DMA方式不能取代程序中断方式的理由。
相同点:
1)两种方式均为目前在微型机中主机与外设广泛采用的信息交换方式。
2)两种方式下主机和外设之间均可实现一定程度的并行工作。
不同点体现为如下几个方面
1)数据传送:程序中断方式通过软件(中断服务程序)来完成信息交换;而DMA方式则是通过硬件(DMA控制器)来实现的。
2)响应时间:前者在一条指令执行结束时响应,后者在一个存取周期结束时响应;
3)随机事件处理能力:中断传送方式不仅适合于一般的信息交换,还适合对随机事件的处理;DMA方式仅适合简单数据的高速传输;
4)工作过程:前者是程序切换,需保存现场;后者是总线占有权的切换,无需保存现场
5)优先级:通常情况下,DMA请求的优先级高于中断请求的优先级。
  • DMA方式不能取代程序中断方式,理由如下:
    • 1)DMA方式只能用于高速外设与内存之间的简单数据传递,却不能像中断方式那样能够处理复杂的随机事件;
      2)在DMA方式的数据传送全过程中,本身需要利用中断方式来完成DMA传送的后处理。
一个DMA 接口可采用周期窃取方式把字(32位)传送到存储器,它支持的最大批量为 4KB,现有的设备的传输率为 4MB/s。若存取周期为 100 ns, 一次预处理需1μs,每处理一次中断需 2μs。假设字之间的传输是无间隙的,若忽略预处理所需的时间,试问采用 DMA方式每秒因数据传输需占用处理器多少时间?如果完全采用中断方式(一次中断传送一个字)又需占用处理器多少时间? 由此可以得出什么结论?
1) 每个存取周期传输1个字(32位),即4个字节
则传送4MB则需要1M个存取周期,考虑到每传送4KB,即1K个字,需中断处理一次。因此,DMA方式每秒因数据传输占用处理器的时间:
0.1μs×1M +2μs×(1M/1K)=106.9ms
2)若采用中断方式,每传送一个字需要申请一次中断,则需占用处理器的时间:
2μs×1M=2.097s
3)若采用中断方式,完成1M个字的传输需至少2.097秒才能完成,无法满足高速外设数据传输的要求,会造成数据丢失。因此,对于高速外设与内存之间的成组数据交换,宜采用DMA方式完成传输。
比较基址寻址和变址寻址
相同点:二者都可有效地扩大指令寻址范围。
不同点
  1. 二者的使用方式不同。 变址寻址方式:在程序执行过程中变址寄存器的值可变,指令字中的A不可变。适合于处理一维数组。 基址寻址方式:在程序执行过程中基址寄存器的值不可变,指令字中的A可变;适用于扩大有限字长指令的访存空间。
  1. 二者的应用目的不同。 变址寻址方式面向用户,用于对成批数据的连续的便捷访问; 基址寻址方式面向系统,用于为程序分配存储空间及扩大访存空间。
什么是指令周期?指令周期是否有一个固定值?为什么?
参考答案要点:
1)指令周期是指CPU每取出并执行一条指令所需的全部时间。
2)指令周期不是一个固定值。
3)由于计算机指令集中各种指令的操作功能不同,执行该指令时所需完成的微操作复杂程度亦不同。比如,有的指令的执行需安排间址周期,有的指令其执行阶段的操作步骤复杂,如浮点运算指令,因此,指令执行阶段所花的时间有较大差异。
若硬性要求所有指令执行时间一致,那么那些执行频率很高的简单指令,其指令周期中很多时间就浪费掉了,这反而会影响到程序的总体执行效率。
画出指令周期的流程图,分别说明图中每个子周期的作用。
notion image
流程图如上:
取指周期:完成取指令和分析指令的操作。
间址周期:取操作数的有效地址。
执行周期:执行指令的操作。
中断周期:将程序断点保存到存储器,转向中断服务程序入口。
中断周期前是什么阶段?中断周期后又是什么阶段?在中断周期CPU应完成什么操作?
中断周期前是指令的执行阶段(处于执行周期)。中断周期后是取指令阶段(处于取指周期)。在中断周期中,CPU应完成关中断、保存断点和寻找中断服务程序入口地址三个操作。
简述寻找中断服务程序入口地址的两种方法,各有何特点?
这两种方法分别是硬件向量法和软件查询法。
  • 硬件向量法:利用分散设置在各个接口电路或设置在CPU芯片内的专门硬件(向量地址形成部件)产生向量地址,再根据向量地址访问相应内存单元,其内容即为中断服务程序入口地址。该方法速度快,被现代计算机普遍采用。
  • 软件查询法:利用中断识别程序,按中断源的优先级从高到低,依次查询是哪个中断源发出的中断请求。当查询到某一中断源有中断请求时,通过无条件转移指令,直接跳转到该中断源的中断服务程序入口,机器便能自动进入中断处理。该方法可灵活改变中断源的优先级,控制方便,但查询时间较长。
什么是指令周期、机器周期和时钟周期?三者有何关系?(画图说明)
指令周期:CPU每取出并执行一条指令所需的全部时间叫指令周期
机器周期(也叫CPU工作周期):是在同步控制的机器中,所有指令执行过程中的一个基准时间,通常以访问一次存储器所需的时间作为一个机器周期
时钟周期(又叫节拍):是CPU工作时钟的周期时间(主频的倒数),它是控制计算机操作的最小时间单位。
三者之间的关系:一个指令周期包含若干个机器周期,而一个机器周期又包含若干个时钟周期。
notion image
分析比较组合逻辑控制方式和微程序控制方式。
1)产生微命令的方法及核心器件:组合逻辑控制器由组合逻辑电路提供微命令,其核心器件是由各种门电路构成的复杂树形网络;微程序控制器由存储逻辑(微指令)提供微命令,其核心器件是控制存储器。
2)规整性:组合逻辑控制器设计不规整,微程序控制器设计规整;
3)可扩展性:组合逻辑控制器不易修改和扩充,后者则易于修改和扩充;
4)组合逻辑控制器执行指令快,微程序控制器执行指令速度慢;
5)前者多用于RISC架构机器,后者多用于CISC架构的系列机。
6)时序划分:组合逻辑控制三级时序:工作周期、节拍、工作脉冲,微程序控制二级时序:节拍电位、节拍脉冲
微指令和微操作的关系,微指令和机器指令的关系,微程序和程序的关系
控制部件通过控制线向执行部件发出各种控制命令,通常这种控制命令叫做微命令,而执行部件接受微命令后所执行的操作就叫做微操作;微指令由若干微命令组合而成。
简述微程序控制器的基本工作原理。
  • 将控制器所需要的微操作命令(控制信号),以微代码的形式编成微指令,若干条微指令构成微程序,存在CPU的控制存储器中;
  • CPU执行机器指令时,找到微程序入口,从控制存储器中逐条取出构成微程序的微指令;
  • 对微指令中的操作控制字段进行解释,即产生执行机器指令所需的微操作命令序列。
注意:和微程序控制的工作过程区分开)
(附:微程序控制器的工作过程)(不常考) 一条机器指令的读取与执行就是其对应的一段微程序的读取与执行,可以分为四步: (1)从 CM 中读取“取指微指令”并执行,该微程序的执行就完成从主存取出一条机器指令(公操作) (2)由取出的机器指令的操作码,经“微地址形成部件”,产生该指令对应的微程序入口地址 (3)由入口微地址,逐条取出微指令执行,产生该机器指令的执行所需要的微命令序列 (4)该段程序执行结束,使微地址指向取指微程序入口,又回到“取指微程序”,开始下一条机器指令的取指与执行
微指令后继微地址的形成方式有哪几种?对于其中的根据机器指令的操作码形成微程序入口地址的方法,请画图做出说明。
一)微指令后继微地址的形成方式主要有6种,包括:
1)断定方式 直接由微指令的下地址字段指出(断定方式
2)根据机器指令的操作码形成 当机器指令取至指令寄存器后,微指令的地址由操作码经微地址形成部件形成
3)增量计数器法(增量方式)(CMAR) + 1 → CMAR
4)分支转移方式
5)通过测试网络形成
6)由硬件产生微程序入口地址
二)根据操作码形成微程序入口地址的方法
notion image
如上图所示,机器指令取至指令寄存器后,指令的操作码作为微地址形成部件的输入,来形成微指令的地址。因此,可以把微地址形成部件理解为一个编码器。微地址形成部件可采用PROM实现,即以指令的操作码作为PROM的地址,而相应的存储单元中就存放着对应该指令微程序的首地址。
计算机是如何区分存储器中的指令和数据的
CPU 可从时间和空间两个层面来区分访存取来的指令和数据。
1)时间层面:在取指周期(或运行取指微程序)内,由 PC 供访存地址,取来的即为指令;在执行周期(或运行执行周期相对应的微程序段)内,由指令的地址码部分提供访存地址,取来的即为操作数,也就是数据。
2)空间层面:取来的机器指令应存放在指令寄存器,而取来的数据(或操作数)则应该存放在以累加器为代表的通用寄存器内。
存储时间和存储周期
存储周期:存储周期包含存取时间和恢复时间。指两次独立访问存储器操作之间的最小间隔。
存取时间指从启动一次存储器操作到完成该操作所经历的时间。
恢复时间指读写操作之后,用来恢复内部状态的时间。
衡量计算机性能指标
1、吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量,单位是字节/秒。
2、响应时间:表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量,例如微秒(10-6S)、纳秒(10-9S)。
3、利用率:表示在给定的时间间隔内,系统被实际使用的时间所占的比率,一般用百分比表示。
4、处理机字长:指处理机运算器中一次能够完成二进制数运算的位数。当前处理机的字长有8位、16位、32位、64位。字长越长,表示计算的精度越高。
5、总线宽度:一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数。
6、存储器容量:存储器中所有存储单元的总数目,通常用KB、MB、GB、TB来表示。     其中K=210,M=220,G=230,T=240, B=8位(1个字节)。
7、存储器带宽:存储器的速度指标,单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示。
8、主频/时钟周期:CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率(f)叫CPU的主频。度量单位是MHz、GHz。     主频的倒数称为CPU时钟周期(T),即T=1/f,度量单位是微秒、纳秒。
9、CPU执行时间:表示CPU执行一段程序所占用的CPU时间,可用下式计算:     CPU执行时间 =     CPU时钟周期数 × CPU时钟周期长 CPI:表示每条指令周期数,即执行一条指令所需的平均时钟周期数。   用下式计算:
MIPS:每秒百万条数据。MIPS是单位时间内的执行指令数,所以MIPS值越高说明机器速度越快。 MFLOPS是基于操作而非指令的,只能用来衡量机器浮点操作的性能,而不能体现机器的整体性能。
机器数和真值
机器数:二进制形式,带符号。0正1负。例如-3,10000011
真值:-3
机器数
一个数在计算机中的二进制表示形式,  叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.
比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。
那么,这里的 00000011 和 10000011 就是机器数。
真值
因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。
所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。
例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –000 0001 = –1
原码、反码、补码
原码:带符号数 反码:正数反码=原码,负数反码=符号位不变,原码其余各位取反 补码:正数补码=原码,负数补码=反码+1
原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
[+1]原 = 0000 0001  [-1]原 = 1000 0001
第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:
[1111 1111 , 0111 1111]==>[-127 , 127]
反码
反码的表示方法是:
  • 正数的反码是其本身
  • 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
[+1] = [00000001]原 = [00000001]反  [-1] = [10000001]原 = [11111110]反
补码
补码的表示方法是:
  • 正数的补码就是其本身
  • 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]补  [-1] = [10000001]原 = [11111110]反 = [11111111]补
奇偶校验、汉明码校验,循环冗余校验
奇偶校验:
奇偶校验有两种校验规则:
  • 奇校验:使完整编码(有效位和校验位)中的"1"的个数为奇数个;
  • 偶校验:使完整编码(有效位和校验位)中的"1"的个数为偶数个
直接举例:
待编有效信息
奇校验码
偶校验码
10111010
101110100
101110101
11010010
110100101
110100100
因此,如果是奇校验,当待编有效信息的"1"为奇数个,在最后添0,偶数个添1,偶校验相反。
1.奇偶校验实际上就是对我们DnDn-1...D0进行异或运算(两两相同为0,不同为1),最后偶校验生成0,奇校验生成1,正确,反之错误。
上面表格,第一个我们使用奇校验,第二个使用偶校验。
第一个奇校验:1⊕0⊕1⊕1⊕1⊕0⊕1⊕0⊕0=1
第二个偶校验:1⊕1⊕0⊕1⊕0⊕0⊕1⊕0⊕0=0
2.如果第一个数据传输过去,变成111110100,很明显地D7变成了1,这时候再进行奇偶校验
1⊕1⊕1⊕1⊕1⊕0⊕1⊕0⊕0=0
这样我们就能判断数据中出现了错误。
海明校验
共m个数据,取k个校验码,m+k+1<2k,校验码放在2的幂的位置上。海明校验将一个二进制分配到了几个不同的偶校验组合中。当一位出错后,会引起相关的几个校验位发生变化。可发现错误,且知哪位错误
循环冗余校验
数据流视为除数,设定一个被除数。发送方需在数据流末尾加上一段CRC冗余码,使组合后的新数据流能整除除数。接收方对数据做除法,若余数不为0,则有错误发生
CRC冗余码的计算方式是,在数据流末尾补CRC长度0,然后做除法得到余数。
存储器的分类(RAM、DAM的区别)
notion image
RAM中:静态RAM更快,集成度更高,成本更高。
试比较静态RAM和动态RAM各自的特点。
1)静态RAM(SRAM):依靠双稳态触发器保存二进制代码,只要不断电,信息就不会丢失,非破坏性读出,功耗较大,集成度较低,速度快,每位价格高,适合于作Cache或存取速度要求较高的小容量主存。
2)动态RAM(DRAM):依靠电容存储电荷来保存二进制代码,需刷新电路进行动态刷新,存取速度较慢;功耗小,集成度高,每位价格低,适合于作大容量主存。
根据原始数据的进入方式,ROM被分成了几类:
  • MROM(Mask - ROM):生产过程里写入数据。
  • PROM(Programmable - ROM):使用烧录设备烧写进去,只能烧录一次(微程序控制器一般使用PROM保存微程序)。
  • EPROM(Erasable Programmable - ROM):使用紫外线擦除的可编程ROM,一般会有一个用于擦除的窗口,擦除的耗时比较长。
  • EEPROM(Electrically Erasable Programmable - ROM):电擦除的可编程ROM,一般能擦写十几万次。
Flash:使用半导体结构模拟磁盘结构,逻辑上和磁盘一样
 
总线通讯的四种方式
同步通信
通信双方由统一时标控制数据传送称为同步通信。
  • 优点:规定明确、统一,模块间的配合简单一致。
  • 缺点:当系统中各部件工作速度差异较大时,总线工作效率明显下降,缺乏灵活性。
  • 一般用于总线长度较短、各部件存取时间比较一致的场合。
同步式数据输出
同步式数据输出
同步式数据输入
同步式数据输入
假设总线的时钟频率为100MHz,总线的传输周期为4个时钟周期,总线的宽度为32位,求总线的带宽。
带宽=时钟频率×总线宽度/总线时钟周期数 =100MHz×32b/4 =800Mbps =100MBps
一个时钟的周期: 总线传输周期: 总线宽度:32位 = 4B(字节) 总线的数据传输率:
若想提高一倍数据传输率,可:将总线宽度改为64位,或将时钟频率增加到200MHz
总线传输周期越短,数据线的位数越多,直接影响总线的数据传输率。
异步通信
没有公共时钟标准,不要求所有部件严格的统一操作时间,而是采用应答方式(握手方式),即当主模块发出请求信号时,一直等待从模块反馈回来“响应”(Acknowledge)信号后,才开始通信。
控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。
notion image
在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。
解:一帧包含:1+8+1+2=12位 故波特率为:(1+8+1+2)120=1440bps 比特率为:8*120=960bps
波特率指单位时间内传送二进制数据的位数,单位用bps(位/秒)表示,记作波特
半同步通信
同步、异步结合
  • 同步
    • 发送方用系统时钟前沿发信号
      接收方用系统时钟后沿判断、识别
  • 异步
    • 允许不同速度的模块和谐工作
      增加一条“等待”响应信号
notion image
notion image
分离式通信
充分挖掘系统总线每个瞬间的潜力
一个总线传输周期
子周期1 :主模块申请占用总线,使用完后即放弃总线的使用权。
子周期2:从模块申请占用总线,将各种信息送至总线上。
分离式通信特点:
1、各模块有权申请占用总线
2、采用同步方式通信,不等对方回答
3、各模块准备数据时,不占用总线
4、总线被占用时,无空闲
浮点数是如何在计算机中存储的
浮点数由三个部分组成:
  1. 符号位(Sign) - 1位,表示正负(0=正,1=负)
  1. 指数部分(Exponent) - 决定数值的范围
  1. 尾数部分(Mantissa/Significand) - 决定数值的精度
例如:0.15625 转换为二进制:0.00101 即1.01 × 2^(-3)
符号位为0 指数为-3 → -3 + 127 = 124 → 01111100
尾数:01000000000000000000000 (只存储.01)
完整32位表示:0 01111100 01000000000000000000000
Loading...