计算机组成原理简答题

目录

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联盟一起交流学习)👇👇👇👇👇

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

命运之光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值