计算机基本硬件的内部结构

这篇具有很好参考价值的文章主要介绍了计算机基本硬件的内部结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.早期冯·诺依曼机结构

世界上第一台计算机ENIAC是使用手动接线来控制计算,十分麻烦。

冯·诺依曼提出“存储程序”的概念,是指将指令以二进制代码的形式事先输入计算机的主存储器(内存),然后按照其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。

于是第一台采用冯·诺依曼结构的计算机EDVAC诞生了,接下来让我们看看具体的冯·诺依曼计算机结构图(实线为数据线、虚线为控制线或反馈线):

计算机基本硬件的内部结构,计算机组成原理,硬件架构

输入设备将信息转化为机器能识别的形式,然后通过运算器的中转存入存储器,需要用到数据和程序时,就要经过运算器中转到输出设备,得出计算结果,而整个过程都是由控制器使用电信号来进行指挥的,另外这个控制器也会负责解析存储器里的存储指令。

另外,对于计算机系统来说,软件和硬件在逻辑上是等效的,例如:可以专门制作出一个乘法硬件(硬件),也可以利用现有的加法硬件实现乘法(软件)

冯·诺依曼计算机的特点:

  1. 计算机由五大部件组成

  2. 指令和数据化以同等地位存储在存储器里,可按地址寻址

  3. 指令和数据使用二进制表示。其中指令组成:操作码(指明指令的操作)、地址码(指明操作数据的内存地址)有的计算机指令采用多个地址码

  4. 整个体系以运算器为中心,以运算器为中转站,这样会导致数据计算效率降低(比如:输入设备本来是可以直接交给存储器的,但是却交给了运算器)

2.现代计算机体系结构

现代计算机有几个很不一样的特点

  1. 以存储器为中心

  2. 通常控制器和运算器被集成为一个CPU

计算机基本硬件的内部结构,计算机组成原理,硬件架构

因此我们可以改写一下结构,让这个体系变得更加模块化:
计算机基本硬件的内部结构,计算机组成原理,硬件架构

3.计算机硬件内部结构(现代)

3.1.主存储器

主存储器里用于存放数据的东西叫存储体

计算机基本硬件的内部结构,计算机组成原理,硬件架构

  1. 存储体内部可以分为一个一个“存储单光”,并且根据地址总线进行编址

  2. 每一个存储单元存储的二进制数据组合我们称为“存储字(word)”

  3. 存储单元存放二进制的最大长度称为“字长”,一般是8的整数倍。

  4. 用于存储二进制的电子元件简称“存储元”,利用电容的原理,每个存储元可存1bit,而存储单元由若干个存储元构成

主存储器内部还有两个寄存器

  1. 分别是MAR(存储地址寄存器)、MDR(存储数据寄存器)

  2. 主存储器里的控制逻辑会根据MAR存储的地址查找主存储器里的数据,然后取出存放到MDR中,而CPU就可以从这里拿走数据。

  3. 同理,CPU写入主存储器的方式也和读取类似:CPU想要写入的对应地址放在MAR里,想要写入的数据放在MDR里,最后通过控制总线告诉主存储器本次为写操作。

MAR是里有指向存储单元的地址,因此MAR反映存储单元的个数

MDR是有由要存储到MAR指向地址的数据内容,反映存储单元的存储字长

3.2.运算器

运算器是用于实现算术运算和逻辑运算的,内部有:

  1. ACC累加器:实际是一个寄存器,用于存放操作数或运算结果

  2. MQ乘商寄存器:在乘、除运算的时候,用于存放操作数或运算结果

  3. X通用寄存器:通用的操作数寄存器,用于存放操作数

  4. ALU算术逻辑单元:通过内部复杂的电路实现算术运算、逻辑运算,是运算器的核心部件,制作成本也是最高的。

ACC 被加数、和 被减数、差 乘积高位 被除数、余数
MQ 乘数、乘积低位
X 加数 减数 被乘数 除数

计算机基本硬件的内部结构,计算机组成原理,硬件架构

乘积的高位表示了乘法结果的较高位数部分,而乘积的低位表示了较低位数部分。

3.3.控制器

控制器内部有:

  1. CU控制单元(Control Unit):分析指令,给出控制信号,内部有很复杂的电路,是控制器内最核心的部件

  2. IR指令寄存器(Instruction Register):本质是一个寄存器,存放当前执行的指令

  3. PC程序计数器(Program Counter):本质是一个寄存器,存放下一条指令地址,有自动+1的功能

计算机基本硬件的内部结构,计算机组成原理,硬件架构

在控制器内部的工作逻辑是:PC取得指令->IR分析指令->CU执行指令,前面两个过程为“取指阶段”,后面一个过程为“执行阶段”

4.计算机硬件协调流程(现代)

下面是高级语言C语言的一段代码:

int a = 2, b = 3, c = 1, y = 0; 
int main() 
{
    y = a * b + c; 
    return 0; 
}

接下来让我们看看这段代码在计算机硬件中运作流程:

计算机基本硬件的内部结构,计算机组成原理,硬件架构

4.1.执行指令0

  1. (PC)=0,(PC)++CPU内部的PC存储的是下一条指令的地址,因此PC=0,即:PC存储了第一条指令的代码地址,在执行后续的步骤后PC自动+1(PC是程序计时器,可以存放下一条指令地址,有自动+1的功能)

  2. (PC)->MAR,(MAR)=0,(MAR)->存储体->MDR,(MDR)=0000 01|00 0000 0101PC将指令地址交给MARMAR通过这个指令地址在存储体内部查找指令数据,存储到MDR

  3. (MDR)->IR:从MDR得到的指令数据存放到IR中(IR负责存放当前执行的指令)

  4. (IR)->CU,(IR)->MAR,(MAR)->存储体->MDR,(MDR)=0000 0000 0000 0010=2:而在当前要执行的指令中,前六位0000 01操作码会被送到CU分析,得知这是“取数dACC”的命令,后10位代表这个数的地址在主存储器存储体的5处。因此IR把后续的10位交给MARMAR再去存储体内找主存地址5处的a的数据0000 0000 0000 0010=2存入MDR中(CU控制单元负责分析指令,给出控制信号)

  5. (MDR)->ACC:因此0000 0000 0000 0010=2被拷贝到IR内部,然后CU控制MDR送到ACC

4.2.执行指令1

根据“4.1.执行指令0”中的步骤1,OP(PC)=1,(ACC)=2,然后就会发生:

  1. (PC)=1,(PC)->MAR,(MAR)=1,(MAR)->存储体->MDR,(MDR)=0000 01|00 0000 0101,(PC)++PC内部存储了当前要第二条指令的地址,在执行了后续的步骤了+1,然后MAR得到的指令地址是“1”,传递给MAR后,MAR在存储体中找到指令0000 01|00 0000 0101

  2. (MDR)->IR,(IR)->CU,(IR)->MAR,(MAR)->存储体->MDR,(MDR)=0000 0000 0000 0011=3:接下来MDR将内部的指令传给IRIR交给CU分析后得知前六位0001 00为“乘法操作,将ab并且存储到ACC中” ,后10位00 0000 0101为操作数地址,于是这个地址就被IP传给MAR在存储体中找到并且存储给MDR

  3. (MDR)->MQ,(MQ)=0000 0000 0000 0011=3:接下来CU控制MDR内部的数据拷贝到MQMQ乘商寄存器:在乘、除运算的时候,用于存放操作数或运算结果,这里是存储了乘数b

  4. (ACC)->X,(X)=0000 0000 0000 0010=2,ALU->(X)*(MQ)->ACC,(ACC)=6CU控制ACC里的值拷贝到通用寄存器X里,然后控制ALU把通用寄存器X里的值和乘商寄存器MQ里的值相乘,然后存储到ACC中(如果乘积太大,MQ也会辅助存储,存储的是乘积低位,ACC那边则是乘积高位)

4.3.执行指令2

根据“4.2.执行指令1”中的步骤1,OP(PC)=2,(ACC)=6,然后就会发生:

  1. (PC)->MAR,(MAR)=2,(MAR)->存储体->MDR,(MDR)=0000 11|0000 0000 0000 0111,(PC)++PC将指令地址拷贝给MARMAR在存储体内查找到指令,拷贝给MDR,然后PC内部的计时器+1,存储了指向下一条指令的地址

  2. (MDR)->IR,(IR)->CU,(IR)->MAR,(MAR)=0000 0000 0000 0111=7,(MAR)->存储体->MDR,MDR=0000 0000 0000 0001=1:MDR内部的指令值拷贝给IRIR传递给CU分析指令,得知0000 11为“加法指令ab+c,并且最终存储在ACC中”,于是CU控制IR剩下的0000 0000 0000 0111,传递给MARMAR在存储体内找到指令数据0000 0000 0000 0001,传递给MDR

  3. (MDR)->X,(x)=0000 0000 0000 0001=1,ALU->(ACC)+(X)->ACC:然后MDR将内部数据拷贝到通用寄存器X内,接下来控制单元CUALU发生信号,让XACC里的值相加,最后存储到ACC内部

4.4.执行指令3

根据“4.3.执行指令3”中的步骤1,OP(PC)=3,(ACC)=7,然后就会发生:

  1. (PC)->MAR,(MAR)=3,(MAR)->存储体->MDR,(MDR)=0000 10|0000 0000 0000 1000,(PC)++

  2. (MDR)->IR,(IR)->CU,(IR)->MAR,(MAR)=0000 0000 0000 1000=8,(MAR)->存储体->MDR,MDR=0000 0000 0000 0000=0

  3. (ACC)=7,(ACC)->MDR,(MDR)=7,(MAR)=0000 0000 0000 1000=8:这里就有个地方需要注意,CU控制了ACC寄存器的值拷贝到MDR,此时MAR也有y变量的主存地址,此时CU再控制MARMDRab+c存入y

4.5.执行指令4

根据“4.4.执行指令4”中的步骤1,OP(PC)=4,然后像上面一样类似的流程,取得000110停机指令,接下来就会执行操作系统的相关指令了,这后面的我们不再讨论。文章来源地址https://www.toymoban.com/news/detail-619982.html

到了这里,关于计算机基本硬件的内部结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机组成原理知识——CPU结构组成和功能、堆栈、RISC、

    2023.9.6 计组知识开始学习 中央处理单元 :简称为CPU或处理器,功能是控制计算机的操作和处理数据 控制器 :控制计算机的操作,例如读取指令、分析指令、时序、总线的控制等 运算器 :完成数据处理功能 寄存器 :临时存储指令、地址、数据、计算结果等 中断 3个:取指

    2024年02月09日
    浏览(30)
  • 【计算机组成原理与体系结构】控制器

    目录 一、CPU的功能与基本结构 二、指令周期的数据流 三、数据通路 四、时序控制 CPU的功能: 指令控制 :完成取指令、分析指令和执行指令的操作,即程序的顺序控制。 操作控制 :一条指令的功能往往是由若干操作信号的组合来实现的,CPU管理并产生由内存取出的每条指

    2024年02月08日
    浏览(32)
  • 计算机组成原理实验三-----系统总线和具有基本输入输出功能的总线接口实验

        总线是计算机中连接各个功能部件的纽带,是计算机各部件之间进行信息传输的公共通路。 总线不只是一组简单的信号传输线,它还是一组协议。他有两大特征   分时:   同一总线在同一时刻, 只能有一个部件占领总线发送信息 ,其他部件要发送信息得在该 部件发送

    2024年02月01日
    浏览(41)
  • 【计算机硬件】1、计算机的硬件组成、校验码

    CPU主要是由运算器、控制器、寄存器组和内部总线等部件组成 1、程序控制 通过执行指令来控制程序的执行顺序 2、操作功能 一条指令的实现需要若干操作信号配合,控制相应的部件完成相对应的操作 3、时间控制 对各种操作进行时间上的控制,指令执行的过程中操作信号出

    2024年01月19日
    浏览(40)
  • 【软件设计师暴击考点】计算机组成原理与体系结构高频考点暴击系列【一】

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : 软件设计师考点暴击 下午题 ⭐【软件设计师暴击考点】下午题高频考点暴击系列 上午题目录 进入专栏浏览:

    2024年02月10日
    浏览(32)
  • 【计算机组成 课程笔记】4.2 除法器的硬件实现

     课程链接: 计算机组成_北京大学_中国大学MOOC(慕课) 4 - 5 - 405-除法的运算过程(09-\\\'43--)_哔哩哔哩_bilibili 在加减乘除这样的基本算数运算中,除法是最为复杂的,因此我们想要实现硬件的除法器,还是从最简单的情况开始说起。 回想一下手算除法的过程。这里是两个由0和

    2024年02月09日
    浏览(29)
  • 九耶丨阁瑞钛伦特-大型计算机硬件组成(一)

    ​ IBM大型机系统是由主机和多种外围设备组合形成的一个综合系统,上面是一个主机系统组成的例子。 ​以上是OS390操作系统的组成情况: MVS: 大型机操作系统的核心部分,有时又被使用为大型机操作系统的全称。 SMS: SMS是STORAGE MANAGEMENT SUBSYSTEM的缩写。它是MVS下的一个系

    2024年02月08日
    浏览(28)
  • 计算机组成原理-计算机系统概述

    目录 一,基本组成  二、各部件工作原理 2.1存储器 2.2运算器  2.3控制器  2.4输入设备 2.5输出设备 一条指令的工作原理  三、计算机系统的层次结构  三种基本语言 四、计算机性能指标         “存储程序”的概念,指将指令以二进制代码的形式事先输入计算机的主存

    2024年02月05日
    浏览(55)
  • 计算机组成原理 --- 计算机性能指标

    一.存储器的性能指标 1.MAR是地址寄存器,MDR是数据寄存器 2.MAR的位数能够体现最多存多少个地址,而每个地址就代表一个存储单元,所以MAR的位数能表示存储器中有多少个存储单元 3.MDR是数据寄存器,它的容纳极限 = 每个存储单元的容纳极限 --- 如果MDR的容纳极限小于存储单

    2023年04月08日
    浏览(61)
  • 计算机系统基本组成于基本功能

     计算机系统中的各个抽象层: C语言程序设计层 数据的机器级表示,运算 语句和过程调用的机器级表示 操作系统、编译和链接 指令集体系架构(ISA)和汇编层 指令系统、机器代码,汇编语言 微体系结构和硬件层 CPU的通用结构 层次结构存储系统 其实早在冯诺依曼结构模型

    2023年04月16日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包