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

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

3天内不再提示

单周期CPU是什么意思呢

冬至配饺子 来源:天奇工作室 作者:LRC 2022-08-07 10:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

CPU又名中央处理器,作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。Logisim是一款逻辑电路设计仿真软件,我们可以在这个软件上面绘制各种逻辑电路,当然也包括CPU。

电脑中有intelAMD、Apple的CPU,手机中也有华为、高通、Apple的SOC,每次我研究这些他们设计的硬件时,总是觉得研究得不能很深入,往往只是看看官网参数和一些评测数据罢了。但是有些时候,总是有那么些不合常理的存在让我对CPU的认知一次又一次地被刷新。半年前是AMD(他们的笔记本CPU性能竟然直逼台式机),几个月前是Apple(他们的15W的M1芯片竟然砍倒一片几十W乃至几百W的台式机CPU,核显更是剑指独显)。这使我很烦躁,因为只是在外头看个热闹,很多原因我不能探明。所以就有了以下的一切。

这是第一章节《单周期CPU》

下面直接上图:

poYBAGLvISaALZZLAAG7FI3XMvg377.png

这便是该CPU全貌了

左上的部分是取指单元,其作用是从指令内存中取出指令。右上是译码单元,其作用是把指令所需操作翻译成电路的控制信号。右下是计算单元,通过调整对应的控制信号可以进行两数四则运算,并且可以访问数据内存,读取或者写入对应的数据。图中有深绿、亮绿和黑色的线,深绿色意味着这条线的电压是0V,亮绿色则为1V,黑色是因为每根黑色线都由若干根深绿或亮绿线组成,所以统一显示成黑色。

这个CPU采用自己瞎编指令集(ISA),属于精简指令集。与复杂指令集的区别在于它精简……之所以没有使用别人的指令集是因为我还在学习,下一次更新会采用RISC-V的开源指令集。有人可能会觉得难道自己造指令集不好吗?好又不好。这个问题我先挖个坑放着,有空我再讲。

字长为16位宽,意味着每次可以做16位的二进制运算,也就是最大2的16次方(65536)的运算,可以寻65536的内存地址。目前主流在32位和64位,只有少数单片机还在用16位,下次更新会更到32位。可能有人会有疑惑,如果我要计算的数字是天文数字呢?你就是64位也不够怎么办?首先,我们可以多做几次运算,这个可以通过专门的计算器程序来实现。(求积分的软件都有这个不算什么),其次可以使用浮点运算。但是我这个CPU没有浮点运算单元。(滑稽脸)这个挖个坑以后讲。

单周期(single cycle),每个时钟周期只能做一次运算。难道还能做好多次吗?能的,那就是流水线或者超标量技术甚至多核心。级数越高的流水线每个时钟周期可以做越多次的运算。五级流水线是最经典的流水线级数,当下主流的CPU的流水线级数都在8-15之间,也有20多的超流水线。但是流水线不是越深越好,凡事都有个度。再挖个坑,以后讲。

仅具备简单加减乘除的运算功能,当然也可以写个开方或者幂程序来支持高级运算。目前大多数的复杂运算也都是基于程序来实现的,直接固化在硬件电路中的也比较少见。据我所知,intel有把开平方写在指令集和硬件电路中,这样的好处是可以更快地求得结果,减少中途程序的调度过程。下一次更新会增加好多个运算电路,同时砍掉乘除,因为RISC-V中的RC32I不支持乘除指令,所以下次先砍掉。

该CPU一共有4个寄存器,没有缓存。相比之下,目前的CPU有几十到几百个寄存器,以及数kb的缓存。这个也会在下次更新补足到32个的。

这个CPU的解码部分也很有趣。我参考了x86的微指令设计。什么意思呢,就是正常的解码电路都是靠硬件逻辑解码硬解出来的,我这个不一样,是像查字典一样查出来的。这个字典就是图右上部分的ROM。这样的好处是不用设计电路了,实际电路生产中,如果电路设计有问题就得从头再来,再设计再生产。但是如果是我这种设计方式,改改ROM里的数值就行了,无法是给个软件升级。坏处也有,就是ROM实现方式占地太大,并且速度慢,功耗高。不过如果是在FPGA中大家都一样。FPGA我就再挖个坑吧。

对了,这个CPU有个bug,就是立即数(直接在程序中给明的数)不能直接参与运算,本来实现之初是有考虑到的,这个改也不难,但是现在忙着设计第二代,算了,留点遗憾才是完美。


审核编辑:刘清


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

    关注

    13

    文章

    503

    浏览量

    43837
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11218

    浏览量

    222977
  • 中央处理器
    +关注

    关注

    1

    文章

    126

    浏览量

    17068
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    那么龙芯CPU性能如何

    龙芯系列CPU的最新动态 以下是龙芯系列CPU的最新动态(截至2025年10月): 龙芯CPU的性能如何? 以下是龙芯CPU性能的详细分析,结合最新产品与技术动态: 一、桌面处理器性能
    的头像 发表于 12-03 13:42 121次阅读

    时钟周期和指令周期的区别是什么

    时钟周期: 是硬件的时间单位,由主频直接决定。类似于音乐的节拍器,所有操作按此节奏同步。例如,72MHz 的 CPU 每秒完成 7200 万次时钟周期。 指令周期: 指令
    发表于 11-21 07:01

    为什么FPU在MCU中很重要

    性能飞跃: 这是最主要的原因。与软件模拟相比,FPU 执行浮点运算的速度可以快几十倍甚至上百倍。 周期操作: 许多基本的浮点运算(如加、乘)可以在一个或几个时钟周期内完成,而软件模拟可能需要数十
    发表于 11-18 07:05

    时钟周期、机器周期、指令周期介绍

    时钟周期:一个时钟脉冲所需要的时间。在计算机组成原理中又叫T周期或节拍脉冲。是CPU和其他单片机的基本时间单位。它可以表示为时钟晶振频率(1秒钟的时钟脉冲数)的倒数(也就是1S/时钟脉冲数,比如1
    发表于 11-17 07:54

    请问ADC采样周期不同会引起什么变化

    我看了下ADC采样周期可以选择 00:5 个 ADCCLK 时钟周期 01:6 个 ADCCLK 时钟周期 10:8 个 ADCCLK 时钟周期 11:10 个 ADCCLK 时钟
    发表于 11-12 06:25

    基4-Booth周期乘法器的具体设计

    本文主要讲解基4 Booth和wallace数高性能乘法器的设计,同时针对实际情况进行了些许优化。 基4-Booth周期乘法器设计 针对e203的应用场景,本队考虑了其架构修改所要
    发表于 10-22 08:07

    EMC电路怎么整改:如何缩短整改周期的实战案例

    EMC电路怎么整改:如何缩短整改周期的实战案例|南柯电子
    的头像 发表于 10-20 10:17 256次阅读

    我国科研人员在周期飞秒激光产生与表征领域取得进展

    不同周期脉冲压缩方案的关键指标对比(左),超连续白光光谱展宽(右上),接近变换极限的周期飞秒脉冲压缩结果(右下)
    的头像 发表于 10-14 07:41 121次阅读
    我国科研人员在<b class='flag-5'>单</b><b class='flag-5'>周期</b>飞秒激光产生与表征领域取得进展

    CPU里真的有黄金:看完秒懂

    在大家的印象中,黄金是珠宝、投资品和工业原料,但很少有人知道,我们每天使用的电脑CPU里竟然也隐藏着这种贵金属。那为什么芯片会用到黄金,一颗CPU中能有多少纯金?不依靠专业设备能提取出来吗?
    的头像 发表于 08-30 15:41 1797次阅读

    探索CPU架构的奥秘,揭秘高性能计算的隐形引擎

    本文转自:绿算技术CPU的内部工作原理:指令周期的精密舞蹈CPU,这颗无形的“心脏”,默默地驱动着每一台智能设备的脉动。它不仅是数据的处理中心,更是智慧与效率的源泉。今天与大家一同潜入CPU
    的头像 发表于 08-13 11:58 529次阅读
    探索<b class='flag-5'>CPU</b>架构的奥秘,揭秘高性能计算的隐形引擎

    单核CPU网关和双核CPU网关有什么区别

    单核CPU网关与双核CPU网关的核心区别在于处理能力、多任务效率、性能表现及适用场景,双核CPU网关在多任务处理、复杂计算和响应速度上具有显著优势,而单核CPU网关则更适合轻量级、低负
    的头像 发表于 07-05 14:37 740次阅读

    信创国产CPU推荐

    cpu
    jf_10805031
    发布于 :2025年04月23日 17:20:43

    Arm解读Armv9 CPU为何是打造高性能、高能效移动计算的关键

    作者:Arm 终端事业部产品管理高级总监 Stefan Rosinger 在之前有关 Arm Cortex-X925 CPU 的文章中,Arm 技术专家曾探讨了每时钟周期指令数 (IPC) 作为评估
    的头像 发表于 03-14 15:51 1319次阅读

    ADS1232高速测量时出现20分钟的长周期波动,是什么原因

    时(10次/秒),波动已经可以做到10个字以内,但是高速(80次/秒)时测值波动较大,采用4个周期的移动平均滤波后,稳定性增强,但是数据出现20分钟的长周期波动,波动幅度在800个字,形状类似锯齿波,请问是什么原因
    发表于 02-14 07:11

    端信号何连接到ADFS1256的引脚上

    的AINCOM如果接2.5V,PGA选择1,就可以接这个0~5V端信号。但是,我的传感器是有两个信号线,一个是信号正,一个是信号GND。那么,我想请问,我这个信号该如何连接到ADFS1256的引脚上
    发表于 12-30 06:31