计算机组成原理简答题

目录

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/606078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用Java代码-Java中的多线程编程(Multi-threading)

多线程编程是Java中的一个重要概念,它允许程序在同一时刻执行多个任务,提高程序的执行效率和响应性。在Java中,多线程编程通过创建多个线程并利用线程来执行任务实现。 Java提供了Thread类和Runnable接口来实现多线程编程。Thread类是Java中…

FileStream文件管理

文件管理 FileStream:是一个用于读写文件的一个类。它提供了基于流的方式操作文件,可以进行读取、写入、查找和关闭等操作。 第一个参数:path(路径) 相对路径:相对于当前项目的bin目录下的Debug和Realse来…

EMD+包络谱故障诊断

EMD是一种信号处理方法,用于将信号分解成多个本征模态函数(Intrinsic Mode Functions,IMF),每个IMF代表信号中的一个固有振动模式。VMD在处理非平稳信号和非线性信号方面具有较好的性能。 包络谱峭度是一种用于描述信号包络频谱形状的特征。它通过对信号包络谱的谱线斜率…

[嵌入式AI从0开始到入土]10_yolov5在昇腾上应用

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注:等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。 第一章 昇腾Altas 200 DK上手 第二章 下载昇腾案例并运行 第三章…

Android 车联网——多屏多用户(十五)

前面几篇文章介绍了多用户和多屏相关的 Manager 和 Service。上一篇文章最后虽然车内乘员都根据配置有自己的对应屏幕,但默认情况下,所有车内乘员依然使用的是当前主用户(司机用户),这一篇我们继续放下看一下用户的创建与分配。 一、用户创建分配 1、创建用户 对于创建用…

【AI视野·今日NLP 自然语言处理论文速览 第七十一期】Fri, 5 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Fri, 5 Jan 2024 Totally 28 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers LLaMA Pro: Progressive LLaMA with Block Expansion Authors Chengyue Wu, Yukang Gan, Yixiao Ge, Zeyu Lu, …

JavaScript实现的复杂功能:自动生成带水印的图片

#程序员的崩溃瞬间 在本文中,我们将讨论一个JavaScript实现的复杂功能,该功能可以自动为图片添加水印。这个功能在许多场景中都非常有用,例如,如果你想保护你的图片版权,或者你想在你的网站上显示自定义的水印。 一、…

java导出word套打

这篇文档手把手教你完成导出word套打&#xff0c;有这个demo&#xff0c;其他word套打导出都通用。 1、主要依赖 <!--hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.0</ve…

IPv6路由协议---IPv6动态路由(RIPng)

IPv6动态路由协议 动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置对用户要求比较高,对系统的要求高于静态路由,并将占用一定的网络资源和系统资源。 路由表和FIB表 路由器转发数据包的关键是路由表和FIB表,每…

CreateDIBSection失败的问题记录

错误记录 [ERROR] (:0, ): QPixmap::fromWinHICON(), failed to GetIconInfo() (操作成功完成。) [ERROR] (:0, ): QPixmap::fromWinHICON(), failed to GetIconInfo() (参数错误。) [ERROR] (:0, ): QPixmap::fromWinHICON(), failed to GetIconInfo() (参数错误。) [ERROR] …

升级 Vite 5 出现警告 The CJS build of Vite‘s Node API is deprecated.

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

C++核心编程——内存分区、引用、函数提高和函数重载

本专栏记录C学习过程包括C基础以及数据结构和算法&#xff0c;其中第一部分计划时间一个月&#xff0c;主要跟着黑马视频教程&#xff0c;学习路线如下&#xff0c;不定时更新&#xff0c;欢迎关注。 当前章节处于&#xff1a; ---------第1阶段-C基础入门 ---------第2阶段实战…

数仓建设学习路线(一)

前言 数仓建设实践路线是语兴发布在B站的系列课程&#xff0c;搜索语兴呀即可学习完整的数仓建设理论。 大数据相关岗位 大数据常见的岗位主要包括实时开发、数据治理、数据安全、数据资产等。 其中&#xff1a; 实时开发组的主要任务是实时可视化制作(大屏/彩蛋/战报&…

前端结合MQTT实现连接 订阅发送信息等操作 VUE3

MQTT客户端下载 使用测试 在我之前文章中 MQTT下载基础使用 下面记录一下前端使用的话的操作 1.安装 npm i mqtt引入 import * as mqtt from "mqtt/dist/mqtt.min"; //VUE3 import mqtt from mqtt //VUE2 一、MQTT协议中的方法 Connect。等待与服务器建立连接…

Scanner:键盘输入功能的实现、Java程序获取一个随机数

目录 一、 Scanner&#xff1a;键盘输入功能的实现 二、Java程序获取一个随机数 一、 Scanner&#xff1a;键盘输入功能的实现 如何从键盘获取不同类型&#xff08;基本数据类型、String类型&#xff09;的变量&#xff1a;使用Scanner类 键盘输入代码的四个步骤&#xff1a…

uView Gap 间隔槽

该组件一般用于内容块之间的用一个灰色块隔开的场景&#xff0c;方便用户风格统一&#xff0c;减少工作量 #平台差异说明 App&#xff08;vue&#xff09;App&#xff08;nvue&#xff09;H5小程序√√√√ #基本使用 直接引入即可使用 通过height配置高度&#xff0c;单位…

fmt中uint128_fallback的实现分析

数据结构 class uint128_fallback {private:uint64_t lo_, hi_;public:constexpr uint128_fallback(uint64_t hi, uint64_t lo) : lo_(lo), hi_(hi) {}constexpr uint128_fallback(uint64_t value 0) : lo_(value), hi_(0) {}constexpr uint64_t high() const noexcept { ret…

[VUE]2-vue的基本使用

目录 vue基本使用方式 1、vue 组件 2、文本插值 3、属性绑定 4、事件绑定 5、双向绑定 6、条件渲染 7、axios 8、⭐跨域问题 &#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业在读&#xff0c;阿里云专家博主&#xff0c;专注于Java领域学习&#xff0c;擅…

气膜建筑:舒适、智能、可持续

气膜建筑之所以能够拥有广阔的发展空间&#xff0c;源于其融合了诸多优势特点&#xff0c;使其成为未来建筑领域的前沿趋势。 气膜建筑注重环境可持续性和能源效率。在材料和设计上&#xff0c;它采用可回收材料、提高热保温效果&#xff0c;并积极利用太阳能等可再生能源&…

【洛谷学习自留】p9226 糖果

解题思路&#xff1a; 简单的计算题&#xff0c;用n对k取余&#xff0c;如果余数为0&#xff0c;则输出k的值&#xff0c;否则输出&#xff08;k-余数&#xff09;的值。 代码实现&#xff1a; import java.util.Scanner;public class p9226 {public static void main(Strin…