目录
1、指令和数据在计算机内部以几进制存储,又是如何区分的呢?
2、计算机内部为什么要使用二进制?
3、简单描述计算机系统的层次结构
4、DRAM为什么要进行刷新,如何刷新的?
5、简述不同操作码的指令格式?
6、中断请求在DMA和程序中断方式中有什么区别?
7、总线的一次信息传递过程大致分为哪几个阶段?
8、简述当代总线的内部结构
9、CPU两大核心部件是什么?各自功能是什么?
10、CPU与外部信息交换指令方式有哪些?
11、机器指令对数据进行操作数据通常可分为那几类。
12、浮点数减法运算的操作流程?
13、请简要概述输入、输出设备同CPU交换数据的一般过程
1、指令和数据在计算机内部以几进制存储,又是如何区分的呢?
二进制存储,通过不同的时间段来区分指令和数据,在指令周期中从内存读出的信息是指令,流向控制器;在执行周期中从内存读出的信息是数据,流向运算器。
2、计算机内部为什么要使用二进制?
精度高、数据存储量大、逻辑判断能力强、应用范围广;
只有0和1两个数字,可以用电压的高低、脉冲的有无来表示。在计算机中很容易实现,而且设备也最省;
运算规律简单,在计算机内部比较容易实现。
3、简单描述计算机系统的层次结构
通常由五个不同的级组成,每一级都能进行程序设计:
第1级是微程序设计级或逻辑电路级,是硬件级,由硬件直接执行。
第2级是一般机器级,也称为机器语言级,它由微程序解释机器指令系统。也是硬件级。
第3级是操作系统级,它由操作系统程序实现。这些操作系统由机器指令和广义指令组成,广义指令是操作系统定义和解释的软件指令,所以这一级也称为混合级。
第4级是汇编语言级,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性。这一级由汇编程序支持和执行。如果应用程序采用汇编语言编写,则机器必须要有这一级的功能;反之这一级可以不要。
第5级是高级语言级,它是面向用户的,为方便用户编写应用程序而设置的。这一级由各种高级语言编译程序支持和执行。
4、DRAM为什么要进行刷新,如何刷新的?
DRAM存储位元是基于电容上的电荷量存储信息的,DRAM的读操作是破环性的,读操作会使电容器上的电荷流失,因而读出后必须刷新。而未读写的存储元也要定期刷新,因为电荷量会逐渐泄露而减少。
通过集中式刷新策略或分散式刷新策略来刷新。
集中式刷新策略:每一个刷新周期中集中一段时间对DRAM的所有行进行刷新。
分散式刷新策略:每一行的刷新操作被均匀地分配到刷新周期时间内。
5、简述不同操作码的指令格式?
定长操作码指令格式:
所有指令长度均相等,操作码字段为4位,指令系统中的指令数目为2的4次方16条。控制简单,速度快,适用于指令条数不多的场合。
扩展操作码指令格式:
频繁使用的指令用位数较少的操作码;不常使用的指令可以用操作码扩展技术进行扩展。充分利用软硬件资源,适用于大规模的指令系统。
6、中断请求在DMA和程序中断方式中有什么区别?
数据传送的实现方式:
中断——程序传送;DMA——硬件实现。
CPU响应请求的时间:
中断——一个指令周期结束;DAM——一个总线周期结束。
请求的目的:
中断——CPU的服务;DAM——总线的使用权。
是否需要现场保护:
中断——需要;DAM——不需要。
DAM的优先权高于中断的优先权。
7、总线的一次信息传递过程大致分为哪几个阶段?
请求总线、总线仲裁、寻址、信息传送、状态返回。
8、简述当代总线的内部结构
分为四个部分:
数据传送总线:由地址线、数据线、控制线组成。
仲裁总线:包括总线请求线和总线授权线。
中断和同步总线:用于处理带优先级的中断操作,包括中断请求线和中断认可线。
公用线:包括时钟信号线、电源线、地线、系统复位线、加电或断电的时序信号线。
9、CPU两大核心部件是什么?各自功能是什么?
运算器和控制器
控制器功能:
从指令cache中取出一条指令,并指出下一条指令在指令cache中的位置。
对指令进行译码或者测试,并产生相应的操作控制信号,以便启动规定的动作。
指挥并控制CPU、数据cache和输入/输出设备之间数据流动的方向。
运算器功能:
执行所有的算术运算。
执行所有的逻辑运算,并进行逻辑测试。
10、CPU与外部信息交换指令方式有哪些?
程序查询方式、程序中断方式,主要由程序实现。
直接内存访问(DMA)方式、通道方式,主要由硬件实现。
11、机器指令对数据进行操作数据通常可分为那几类。
地址数据、数值数据、字符数据、逻辑数据四类。
12、浮点数减法运算的操作流程?
第一步,0操作数检查。
第二步,比较阶码大小并完成对阶。
第三步,尾数进行减运算。
第四步,结果规格化并进行舍入处理。
13、请简要概述输入、输出设备同CPU交换数据的一般过程
输入设备同CPU交换数据的一般过程:
CPU把一个地址值放在地址总线上,选择某一输入设备。
CPU等候输入设备的数据成为有效。
CPU从数据总线读入数据,并放在一个相应的寄存器中。
输出设备同CPU交换数据的一般过程:
CPU把一个地址值放在地址总线上,选择一个输出设备。
CPU把数据放在数据总线上。
输出设备认为数据有效,从而把数据取走。
🌌点击下方个人名片,交流会更方便哦~(欢迎到博主主页加入我们的 CodeCrafters联盟一起交流学习)👇👇👇👇👇