首页 > 其他分享 >计算机基础知识问答:计算机组成原理篇

计算机基础知识问答:计算机组成原理篇

时间:2024-03-03 21:34:21浏览次数:16  
标签:存储 计算机 内存 操作数 基础知识 地址 寻址 指令 原理篇

  1. 冯诺依曼机的基本思想:

冯诺依曼机的基本思想主要包括以下几点:

  • 存储程序:计算机内部设置存储器,程序和数据统一存放在存储器中,指令和数据均用二进制数表示。

  • 程序控制:计算机执行程序时,无需人工干预,能自动、连续地执行程序,并得到预期的结果。

  • 二进制运算:计算机内部以二进制进行运算,二进制数的表示方式非常适合计算机内部的逻辑运算和电路设计。

  • 计算机由五大部件组成:包括输入设备、输出设备、运算器、控制器和存储器。


  1. 大端存储和小端存储:

大端存储(Big-Endian):高位字节存储在内存的低地址端,低位字节存储在内存的高地址端。例如,一个16位的数值0x1234,在大端存储中,0x12存储在低地址端,0x34存储在高地址端。

小端存储(Little-Endian):低位字节存储在内存的低地址端,高位字节存储在内存的高地址端。继续以0x1234为例,在小端存储中,0x34存储在低地址端,0x12存储在高地址端。


  1. IEEE754格式下浮点数的加减法计算过程:

alt text

  • 对阶:使两个操作数的指数部分相同,通常是通过移动小数点位置实现。

  • 尾数相加/减:将尾数部分进行实际的加法或减法运算。

  • 结果规格化:确保结果的尾数部分符合IEEE 754标准的要求。

  • 舍入:处理由于精度限制而产生的舍入误差。


溢出情况:当指数部分超出IEEE 754标准规定的范围时,会发生溢出。这通常是由于结果太大或太小而无法表示。

精度舍入:由于计算机表示浮点数时的精度限制,当进行加减运算时可能会发生舍入误差。IEEE 754标准提供了多种舍入方式,如四舍五入、向上取整、向下取整和截尾。


  1. 设计一个四位并行加法电路:

设计一个四位并行加法电路,可以使用全加器来实现。每个全加器可以处理两位数的加法,并产生一个进位输出。四个全加器级联,就可以实现四位数的并行加法。具体设计包括:

输入:四个一位二进制数作为输入,以及前一位的进位输入。全加器:使用四个全加器,每个处理一对输入位和进位输入。输出:四个输出位表示加法结果,以及一个进位输出表示是否有进位到更高位。


  1. 常见的非易失存储元件和易失性存储元件:

  • 非易失存储元件:这些元件在断电后能够保持存储的数据。常见的非易失存储元件包括硬盘、固态硬盘(SSD)、闪存(Flash Memory)、只读存储器(ROM)等。

  • 易失性存储元件:这些元件在断电后无法保持存储的数据。常见的易失性存储元件包括随机存取存储器(RAM)和动态随机存取存储器(DRAM)。

U盘属于非易失性存储。


  1. 在组合多个存储芯片时片选和位选的作用:

  • 片选(Chip Select):在多片存储芯片组成的存储器中,片选信号用于选择哪些芯片参与数据读写操作。每个存储芯片都有一个或多个片选信号引脚,当片选信号有效(通常是低电平或高电平)时,对应的芯片会被选中,进行数据的读写。

  • 位选(Bit Select):位选信号用于在选定的存储芯片内部选择具体的位(bit)或字节(byte)进行操作。在存储芯片内部,数据是以位或字节为单位存储的,位选信号用于确定当前操作的是哪一位或哪一个字节。


组合芯片的引脚数计算:

  • 首先确定每个存储芯片的引脚数,这通常可以在芯片的规格书中找到。

  • 然后根据片选信号的数量确定需要多少个片选引脚。如果有N片存储芯片,那么通常需要N个片选引脚(除非使用复用片选等高级技术)。

  • 接着考虑位选信号的数量。如果每个芯片有M个位或字节,那么通常需要log2(M)个位选引脚(这里log2表示以2为底的对数)。

  • 最后,还需要加上其他必要的控制引脚,如读写控制引脚、输出使能引脚等。

将这些引脚数相加,就可以得到组合芯片的总引脚数。


  1. 引入Cache的原因和层级化存储结构的作用:

引入Cache的原因:

  • 性能瓶颈:随着处理器速度的不断提升,访问主存的延迟成为了性能瓶颈。Cache的引入可以减少处理器访问主存的次数,从而降低访存延迟。

  • 局部性原理:程序在执行过程中会表现出时间局部性和空间局部性。时间局部性指的是如果一个信息项被访问,那么在未来不久它很可能再次被访问;空间局部性指的是如果一个信息项被访问,那么与它相邻的信息项也很可能被访问。Cache利用这些局部性原理来提高访问效率。


层级化存储结构的作用:

  • 提高性能:通过引入多级缓存(如L1、L2、L3等),可以降低访存延迟,提高处理器性能。

  • 降低成本:使用高速但容量较小的Cache来缓存部分数据,可以减少对低速但容量较大的主存的访问,从而降低成本。


  1. Cache的寻址过程:

Cache的寻址过程通常包括以下步骤:

  • 有效位检查:首先检查Cache行是否有效(即是否包含有用数据)。如果有效位为0,则表示该行无效,需要从主存中加载数据。

  • 标志位匹配:将请求的地址与Cache行中的标签进行比较。如果标志位匹配,则表示找到了所需的数据。

  • 数据提取:从Cache行中提取所需的数据,并将其返回给处理器。

  • 替换策略:如果Cache已满且未命中,则需要根据某种替换策略(如LRU、FIFO等)选择一行进行替换。


  1. 指令格式一般包含的部分:

  • 操作码(Opcode):用于指定指令的类型或功能。

  • 源操作数地址:指定源操作数的位置,可以是寄存器地址、内存地址或立即数。

  • 目的操作数地址:指定目的操作数的位置,通常是寄存器地址或内存地址。

  • 其他修饰符:可能包括寻址模式、条件码等。


  1. 常见的寻址方式及其寻址过程与指令格式:

  • 立即寻址:操作数直接包含在指令中,没有地址计算过程。

  • 直接寻址:指令中直接给出操作数在内存中的有效地址。

  • 间接寻址:指令中给出的是操作数地址的地址,需要首先通过地址的内容找到操作数的有效地址。


  • 寄存器寻址:操作数存储在某个寄存器中,指令中直接给出寄存器编号。

  • 寄存器间接寻址:与间接寻址类似,但地址不是存储在内存中,而是存储在寄存器中。

  • 相对寻址:操作数的有效地址是程序计数器(PC)的内容与指令中给出的偏移量之和。


  • 基址寻址:操作数的有效地址是基址寄存器的内容与指令中给出的偏移量之和。

  • 变址寻址:操作数的有效地址是变址寄存器的内容与指令中给出的偏移量之和。

  • 隐含寻址:在这种寻址方式中,操作数不是显式地给出在指令中,而是隐含在指令的操作码或某种特定的操作约定中。例如,某些指令可能隐含地使用累加器作为源或目标操作数。


  • 堆栈寻址:在这种寻址方式中,操作数存储在堆栈中。指令可能只是简单地指定从堆栈中推送(push)或弹出(pop)数据,而不明确指定地址。

  • 段寻址:在某些体系结构中,内存被划分为多个段,每个段有自己的基地址和长度。段寻址是指令直接引用段的名称和段内的偏移量来定位操作数。

  • 位寻址:某些体系结构支持直接对内存中的单个位进行操作。位寻址允许指令直接引用内存中的特定位。


  1. 以x86架构为例,各个寄存器的结构与功能:

  • 通用寄存器:如EAX、EBX、ECX和EDX。这些寄存器通常用于算术和逻辑运算。

  • 段寄存器:如CS(代码段)、DS(数据段)、SS(堆栈段)和ES(额外段)。这些寄存器用于存储段地址,与偏移量结合形成完整的内存地址。

  • 指针和变址寄存器:如ESP(堆栈指针)、EBP(基指针)和ESI/EDI。这些寄存器用于指向数据结构的特定部分或用于循环操作。

  • 控制寄存器:如EFLAGS,用于存储指令执行后的状态信息,如溢出、符号位等。


  1. 微程序和硬布线的不同,微程序存储在哪里:

微程序与硬布线的不同:微程序使用微指令序列来实现机器指令的功能,这些微指令存储在控制存储器中。而硬布线控制则使用固定的逻辑电路来实现指令的功能,没有控制存储器。微程序更加灵活,因为可以通过修改控制存储器中的微指令来改变指令的执行过程,而硬布线控制则更快速,因为它没有查找和控制存储器的开销。

微程序存储的位置:微程序通常存储在控制存储器(也称为微程序存储器或控制ROM)中。这是一个只读存储器,用于存储微指令序列。


  1. 指令周期:

指令周期是指从CPU从内存取出一条指令开始,到执行完这条指令为止所经历的时间。它通常包括取指周期(IF,Instruction Fetch)和执行周期(EX,Execution)。在取指周期中,CPU从内存中取出指令并解码;在执行周期中,CPU执行指令并可能访问内存或I/O设备。指令周期的长短取决于指令的复杂性和执行所需的时间。


  1. 指令流水线:

指令流水线是一种提高CPU性能的技术,通过将指令的执行过程划分为多个阶段,并在不同的时间对不同的指令进行这些阶段,从而实现多个指令的并行执行。例如,一个典型的五级流水线可能包括取指(IF)、译码(ID)、执行/有效地址计算(EX/MEM)、内存访问(MEM)和写回(WB)这五个阶段。每个阶段都有一个专门的硬件部件来处理,从而实现指令的并行处理。


  1. 解决指令产生的冲突的方法:

指令产生的冲突通常指的是流水线中的冲突,这些冲突可能导致流水线停顿或降低效率。以下是一些解决指令冲突的方法:

  • 气泡操作:当检测到冲突时,流水线可以暂停一个或多个周期,直到冲突解决。

  • 前向通路:在某些情况下,可以通过前向通路直接将数据从一个流水线阶段传递到另一个阶段,从而避免冲突。

  • 分支预测:对于条件分支指令,可以使用分支预测技术来预测分支的方向,并提前取指,从而减少流水线停顿。

  • 资源重定向:重新安排指令的执行顺序,以避免资源冲突。


  1. 解释总线仲裁、总线定时等基本概念:

  • 总线仲裁:当多个设备或模块同时请求使用总线时,需要有一种机制来确定哪个设备或模块可以首先使用总线。这种机制称为总线仲裁。常见的总线仲裁方法包括固定优先级仲裁、轮询仲裁和动态优先级仲裁。

  • 总线定时:总线定时是指定义和协调总线上的数据传输速率、时序和同步等操作的机制。总线定时确保了数据在总线上的正确传输,并避免了数据冲突和误解。常见的总线定时协议包括同步传输、异步传输和半同步传输。


  1. 单总线系统,双总线系统,三总线系统各自有什么优势:

单总线系统:

  • 优势:结构简单,成本低,易于管理和维护。

  • 劣势:所有设备都连接到同一条总线上,可能会导致数据传输的瓶颈,影响系统性能。


双总线系统:

  • 优势:通过分离数据传输和控制信号,可以减少总线上的冲突,提高系统性能。

  • 劣势:结构相对复杂,成本较高。


三总线系统:

  • 优势:通常包括数据总线、地址总线和控制总线。这种分离使得数据传输、地址访问和控制操作更加独立和高效。

  • 劣势:结构最为复杂,成本最高。


  1. 简述在IO系统中中断传输和DMA的异同与各自的优势:

中断传输:

  • 特点:CPU在执行完当前任务后,响应外部设备的中断请求,转去处理中断事件,处理完后返回原任务继续执行。

  • 优势:实现简单,适用于少量、低速的数据传输。

  • 劣势:CPU需要频繁地响应中断,影响效率。


DMA(直接内存访问):

  • 特点:外部设备与内存直接进行数据交换,不需要CPU的参与。

  • 优势:高速、大量数据传输时,DMA可以显著提高系统性能,减少CPU的干预。

  • 劣势:实现复杂,需要专门的DMA控制器和复杂的控制逻辑。


  1. 汇编指令格式包含哪几个部分:

汇编指令格式通常包含以下几个部分:

  • 操作码(Opcode):指定要执行的操作类型。

  • 操作数(Operands):指定指令执行的对象,可以是寄存器、内存地址或立即数。

  • 前缀/后缀:某些指令可能有前缀或后缀来修改指令的行为或指定操作数的格式。

  • 地址模式:指定如何解释操作数地址,例如立即寻址、直接寻址、间接寻址等。


  1. 以基本五段流水线的RISC-V CPU为例讲述数据通路的概念:

在RISC-V CPU的五段流水线中,数据通路是指数据从输入到输出所经过的一系列逻辑和存储单元。这五段流水线通常包括:

  • 取指(IF, Instruction Fetch):从指令存储器中取出指令,并将其放入指令寄存器。

  • 译码(ID, Instruction Decode):解码指令,确定指令的操作码和操作数,并将操作数地址发送到相应的寄存器或内存单元。

  • 执行/有效地址计算(EX/MEM, Execution/Effective Address Calculation):执行指令的算术或逻辑操作,或计算内存访问的有效地址。


  • 内存访问(MEM, Memory Access):对于需要访问内存的指令(如LOAD或STORE),从内存中读取数据或向内存写入数据。

  • 写回(WB, Write Back):将执行结果写回到相应的寄存器或内存单元。

数据通路的设计确保了指令在流水线中的正确执行,并实现了高速的数据处理和传输。在RISC-V CPU中,数据通路通常包括寄存器文件、算术逻辑单元(ALU)、存储器接口等硬件组件,以及相应的控制逻辑和数据传输路径。

标签:存储,计算机,内存,操作数,基础知识,地址,寻址,指令,原理篇
From: https://www.cnblogs.com/Mast1031/p/18050760

相关文章

  • nginx系列文章01---基础知识
    1.何为反向代理?在介绍反向代理之前,先来了解一下正向代理。正向代理:如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理,下面是正向代理的原理图。由于工作环境原因,日常工作只能局限于单位的......
  • 助教2023-2024第一学期工作总结(计算机网络)
    一、助教工作的具体职责和任务 (包括:你和老师是如何配合的、你和课程其他助教是如何配合的(如果有的话))1.及时跟进学生学习进度每周询问老师教学进度,自己复习知识点,随时准备回复学生问题,并对后续进行安排2.编写题目,拓宽题库每周编写5-8题题目,写出答案,并发给老师审核3.和老师......
  • 计算机打开图像时进行了那些任务?
    打开.png格式的图像时,计算机会进行以下步骤:读取文件头:计算机首先读取图像文件的文件头,确定这是一个.png格式的文件。解析图像数据:计算机会解析图像数据块,这些数据块包含了图像的像素信息、色彩类型、图像尺寸等。这些数据块的格式和内容在PNG规范中有详细定义。解......
  • python的基础知识
    python的保留字与运算符的区别保留字是Python语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名。在实际开发中,如果使用Python中的保留字作为标识符,则解释器会提示“invalidsyntax”的错误......
  • html基础知识
    第一章html简单介绍1.1html定义html:超文本标记语言(HyperTextMarkupLanguage);它的作用是控制页面的结构,页面的内容。1.2web最基本html:用于对网页元素进行整理和分类css:用于设置网页元素的版式、颜色、大小等外观样式javascript:网页模型的定义及交互的编写第二章html常见......
  • 读人工不智能:计算机如何误解世界笔记07_自动驾驶
    1.      认知能力1.1.        认知能力是人工智能从一开始就面临的核心挑战1.2.        卡雷尔机器人1.2.1.          解决卡雷尔问题的关键在于提前了解障碍物的位置,并让卡雷尔绕过它们1.2.2.          人类程序员可以看到......
  • 【计算机网络】数据链路层——流量控制&可靠传输机制
    数据链路层的流量控制较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。数据链路层流量控制手段:接收方收不下就不回复确认。传输层流量控制手段:接收端给发送......
  • 【计算机网络】数据链路层概述
    数据链路层功能概述研究思想基本概念术语结点:主机、路由器链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。帧:......
  • 【计算机网络】数据链路层——差错控制
    差错控制(检错)差错从何而来?概括来说,传输中的差错都是由于噪声引起的。全局性由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。解决办法:提高信噪比来减少或避免干扰。(对传感器下手)局部性外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原......
  • 我与计算机
    计算机,就像是一台会听话的机器。只要输入正确的指令,它就会乖乖地为我们工作。它不像人类那么复杂,没有情感,也没有自我意识,但它非常聪明,能帮我们做很多事情。我们可以用它来写文章、做表格,还可以用它来查找资料、学习新知识。有时候,当我们遇到难题时,它就像是一个耐心的老师,总是不厌......