0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用ALU,RAM,寄存器打造一个CPU 3

jf_78858299 来源:北洋洋洋 作者:北洋 2023-01-30 16:01 次阅读

ADD操作码

后四位ADDRESS OR REGISTERS解释

在指令表中我们看到ADD指令的后四位 寄存器 OR RAM地址一列中,列出来的不是之前的RAM地址而是两位的寄存器ID」 。两位可以表示四个数字,正好对应ABCD四个寄存器。图片

解码过程

从上面的RAM中可以看到,指令地址2就是一个ADD的指令图片

拆解出这个ADD要使用的两个寄存器(后四位):0100

01表示寄存器B,00表示寄存器A。

所以1000 0100的意思是:将寄存器B的值加到寄存器A中

执行过程

加法需要利用到上一篇文章讲的ALU逻辑运算单元。因为ALU需要接受输入而控制单元可以控制素有的寄存器所以需要把ALU连接至控制单元。通过控制单元打开对应的寄存器输出来让ALU接受输入,来看下面的步骤:

  1. 「让ALU接受输入」 :控制单元启用寄存器B的允许读取线,作为ALU的第一个输入,控制单元启用寄存器A的允许读取线,作为ALU的第二个输入

2.「告知ALU进行哪种运算操作:」 控制单元传递ALU中的ADD操作码告知ALU进行加法运算

3.ALU输出结果保存:注意 「此时的A的允许读取还打开着并且ALU还在继续工作,如果控制单元直接把输出给到寄存器A,那么ALU就会不断进行运算」 。所以**「控制单元有一个自己的寄存器暂时保存结果,接着关闭ALU,然后把值再写入正确的寄存器A中」**

  1. 「取下一条指令指令地址寄存器+1」 :执行阶段结束。开始下一个取指令阶段,又开始下一次的循环~~

总结

用一张图来表示。当ALU计算出结果后将结果传送至控制单元,控制单元内部寄存器存储这个结果,然后把ALU关闭,再把内部寄存器存储的值给到寄存器A(这是打开的是寄存器A的允许写入)

图片

时钟速度,时钟周期

刚刚我们是一步一步进行讲解的这个过程:”取指令-》解码-》执行“,计算机中**「控制执行这个循环的节奏是通过”时钟“来负责的。」**

「时钟以精确的间隔,触发电信号,控制单元用这个信号,推进CPU的内部操作,确保一切按顺序执行。时钟不能太快,因为就算是电也要有一定时间来传输」

定义

「CPU ”取指令-》解码-》执行“的速度叫做”时钟速度“。单位是赫兹HZ,赫兹是用来表示频率的单位,一赫兹表示一个周期。下面那个Clock就是时钟的代表」

图片

第一个单芯片CPU-英特尔4004

图片

这是他的微架构,可以看到和我们上面组装的差不多。

图片

降频&超频

上面的第一个单芯片CPU,它的时钟速度达到了740千次赫兹,每秒74万次,这已经很快了,但是现在更快~~

「一兆赫兹是一秒一百万个时钟周期,现在人们用的电脑手机肯定几千兆赫兹,也就是一秒钟十亿次时钟周期」

超频

「也就是修改时钟速度,加快CPU速度」

芯片制造商经常给CPU留一点余地,可以接受一点超频,但是超频过多会让CPU过热或产生乱码,因为信号跟不上时钟」

降频省电

有时我们没有必要让处理器全速允许,比如用户走开了,或者在跑一个性能要求极低的程序,把**「CPU的速度降下来,可以省很多电.」**

动态调整频率

省电对于用电池的设备很重要,比如笔记本和手机,为了更省电,很多现代处理器可以按需求加快或减慢时钟速度,这叫动态调整频率.

抽象-CPU

图片

「RAM是在CPU外面的独立组件」 ,CPU和RAM之间**「通过”地址线“,”数据线“和”允许读/写线“进行通信,」** 上面提到的很多机制依然存在于现代处理器里。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5020

    浏览量

    117617
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10409

    浏览量

    206463
  • RAM
    RAM
    +关注

    关注

    7

    文章

    1314

    浏览量

    113683
收藏 人收藏

    评论

    相关推荐

    解析CPU中的寄存器

    8位寄存器在16位寄存器中,而16位寄存器在32位寄存器中。
    发表于 09-19 10:10 2879次阅读

    寄存器用厂家distributed ram描述是否比"HDL通用寄存器描述...

    个人觉得如果用“HDL通用寄存器描述”32位寄存器,则综合需要32LUT(假设每个LUT后有1
    发表于 10-04 22:44

    寄存器、内存(内存储)与外设寄存器

    寄存器:指的是CPU内核里的寄存器,如r0,r1等内存:内存(Memory)也被称为内存储,其作用是用于暂时存放CPU中的运算数据,以及与
    发表于 03-11 20:11

    什么样的寄存器不需要复位呢?哪些寄存器CPU能够访问的

    地址。当CPU0x46018000的地址下来,那么硬件会自动根据它的基地址判断它是去访问I2C的。然后根据偏移地址便可以知道是访问I2C的哪一个
    发表于 07-08 17:43

    8051单片机中的寄存器是算CPU还是RAM

    可以划分CPURAM部分,但CPURAM有交叉的部分(比如寄存器组等) 4、CPU部分
    发表于 06-14 15:42 3701次阅读

    关于Block RAM寄存器输出

    关于Block RAM寄存器输出,我们在《通过RTL改善时序的技巧之Block RAM的输出》中介绍过。如果我们在时序报告中关键路径上看到这样一条信息: 在第一级的C2Q delay(clock
    的头像 发表于 03-26 15:50 1602次阅读
    关于Block <b class='flag-5'>RAM</b>的<b class='flag-5'>寄存器</b>输出

    如何在VHDL中实现一个简单的寄存器

    寄存器是设备中用于存储数据的常见电子元件。这些是最小的数据保存元素,用于存储 CPU 正在处理的操作数或指令。有不同类型的寄存器,即指令寄存器、程序
    发表于 07-29 16:48 3780次阅读
    如何在VHDL中实现一个简单的<b class='flag-5'>寄存器</b>

    如何使用ALU,RAM,寄存器打造一个CPU 1

    CPU简介 **「计算机的心脏是中央处理单元,简称“CPU”」** 。这篇文章就利用前几篇文章中提到过的ALU,RAM,寄存器组件做一
    的头像 发表于 01-30 15:56 568次阅读

    如何使用ALU,RAM,寄存器打造一个CPU 2

    CPU简介 **「计算机的心脏是中央处理单元,简称“CPU”」** 。这篇文章就利用前几篇文章中提到过的ALU,RAM,寄存器组件做一
    的头像 发表于 01-30 15:56 520次阅读
    如何使用<b class='flag-5'>ALU</b>,<b class='flag-5'>RAM</b>,<b class='flag-5'>寄存器</b><b class='flag-5'>打造</b>一个<b class='flag-5'>CPU</b> 2

    cpu寄存器和存储器的区别

    cpu寄存器和存储器的区别 寄存器存在于CPU中,速度很快,数目有限;存储器是内存,速度稍慢,但数量很大。寄存器的功能是存储二进制代码,是由
    发表于 03-21 15:12 936次阅读

    计算机寄存器和存储器

    计算机寄存器和存储器 一般意义上理解,寄存器CPU里的存储单元,与CPU离得近,所以CPU在运算时通常都会用
    发表于 03-21 15:22 1400次阅读

    寄存器和存储器如何区分

    寄存器是计算机硬件中最快、最小、最常用的存储器。它是CPU内部的存储器,通常作为指令和数据的存储和暂存空间。在CPU中,寄存器直接与算术逻辑单元(A
    的头像 发表于 04-09 18:43 1w次阅读

    用于RISC-V处理器的三重模块化冗余ALU寄存器文件的设计示

    用于RISC-V处理器的三重模块化冗余ALU寄存器文件的设计示例 演讲ppt分享
    发表于 07-17 16:34 0次下载

    怎样通过改变寄存器中的内容实现对CPU的控制呢?

    寄存器CPU中程序员可以用指令读写的部件,通过改变寄存器中的内容实现对CPU的控制。
    的头像 发表于 09-20 15:49 758次阅读
    怎样通过改变<b class='flag-5'>寄存器</b>中的内容实现对<b class='flag-5'>CPU</b>的控制呢?

    CPU的6个主要寄存器

    CPU寄存器是中央处理器内的组成部分,是有限存贮容量的高速存贮部件。寄存器CPU内部的元件,包括通用寄存器、专用
    的头像 发表于 02-03 15:15 1076次阅读