前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【自己动手画CPU】控制器设计(一)

【自己动手画CPU】控制器设计(一)

作者头像
SarPro
发布2024-02-20 18:50:26
6900
发布2024-02-20 18:50:26
举报
文章被收录于专栏:【计网】Cisco

🌷1. 闯关目的

🌼第1关:单周期MIPS CPU设计

(1) 掌握控制器设计的基本原理,利用硬布线控制器的设计原理,在 Logisim 平台中设计实现 MIPS 单周期 CPU。

🌼第2关:微程序地址转移逻辑设计

(1) 理解微程序控制器中微程序分支的基本原理,要求能设计微地址转移逻辑。

🌼第3关:MIPS微程序CPU设计

(1) 掌握微程序控制器设计的基本原理,能利用微程序控制器的设计原理,设计实现多周期 MIPS 处理器。

🌼第4关:硬布线控制器状态机设计

(1) 理解硬布线控制器中有限状态机FSM的基本原理,要求能设计控制器状态机逻辑。

🌼第5关:多周期MIPS硬布线控制器CPU设计(排序程序)

(1) 理解 MIPS 多周期处理器的基本原理,能利用硬布线控制器的设计原理,设计实现 MIPS 多周期 CPU。

🌷2. 闯关内容

🌼第1关:单周期MIPS CPU设计

利用运算器实验,存储系统实验中构建的运算器、寄存器文件、存储系统等部件以及 Logisim 中其它功能部件,构建一个32位 MIPS CPU 单周期处理器。

🌼第2关:微程序地址转移逻辑设计

设计如下电路,根据指令译码信号生成微程序入口地址。

图4.1-1

🌼第3关:MIPS微程序CPU设计

对照多周期 MIPS 处理器数据通路,采用微程序控制器的设计方法实现控制器,构造多周期 MIPS 处理器,要求能支持表中的8条 MIPS 核心指令,最终设计实现的 MIPS 处理器能运行实验包中的冒泡排序测试程序 sort.asm,该程序自动在数据存储器0~15号字单元中写入16个数据,然后利用冒泡排序将数据升序排序。实验电路应能自动统计指令数目、时钟周期数。

🌼第4关:硬布线控制器状态机设计

在logisim中打开实验资料包中的 data.circ 文件,在对应电路中完成偶校验检错电路。输入:17位校验码,校验位存放在最高位;输出:16位原始数据,1位检错位;实验电路输入输出引脚定义,注意17位校验码的每一位都通过分线器利用隧道标签引出,方便实验时使用。

🌼第5关:多周期MIPS硬布线控制器CPU设计(排序程序)

(1) 构建主要功能部件和数据通路

在 Logisim 平台中设计 MIPS 多周期处理器所需的主要功能部件,其中寄存器文件使用 cs3410 中的标准库,其中运算器既可以使用运算器实验中自行设计的运算器,也可以使用标准库中的 ALU 模块,构建多周期 MIPS 处理器数据通路,最终将各功能部件连接形成数据通路。

图4.1-2

(2) 构建硬布线控制器

根据给定的状态机,构建硬布线控制器

图4.1-3

要求支持8条基本指令

图4.1-4

图4.1-5

🌷3. 闯关步骤

🌼第1关:单周期MIPS CPU设计

图4.1-6

🌼第2关:微程序地址转移逻辑设计

图4.1-7

🌼第3关:MIPS微程序CPU设计

图4.1-8

🌼第4关:硬布线控制器状态机设计

图4.1-9

🌼第5关:多周期MIPS硬布线控制器CPU设计(排序程序)

图4.1-10


🌷4. 闯关总结

🌼第1关:单周期MIPS CPU设计

1. 理解了单周期MIPS CPU指的是一条指令的执行在一个时钟周期内完成,然后开始下一条指令的执行,即一条指令用一个时钟周期完成。

2. 出现”can not find jar library cs3410.jar”,由于 cs3410.jar 和测试平台中的 cs3410.jar 路径不一样,可将本地 cs3410.jar 先移动到 cpu.circ 同目录下后,打开 cpu.circ,logisim 会提示找不到 cs3410.jar,重新指向同目录 cs3410.jar,存盘退出,再重新上传电路文本内容即可解决。

🌼第2关:微程序地址转移逻辑设计

1. 地址转移逻辑电路用于产生下一条微指令的地址,主要由两级与门、或门构成。地址转移逻辑需要用到的数据信号有:后续微地址 μA3-μA0 、判别位 P1 、指令操作码 IR7-IR5 。

2. 微地址寄存器 74LS175 为控制存储器提供微指令地址。当 CLR = 0 时,微地址寄存器清零,从控制存储器 00H 地址开始执行微程序,地址转移逻辑生成下一条微指令的地址,如果时序信号连续发生,微指令也会按一定的顺序接连输出。

🌼第3关:MIPS微程序CPU设计

1. 设计思路:在MIPS多周期CPU(微程序)子电路中,构建CPU数据通路 PC、MEM、IR、DR、RegFile、ALU、Controller。

2. 实现微程序地址转移逻辑由指令状态变换图可知。

🌼第4关:硬布线控制器状态机设计

设计思路:首先分析所有指令的执行周期、间址周期、执行周期、中断周期的微操作序列,其中执行周期、间址周期、中断周期的微操作序列对所有指令时通用的,不同指令的执行周期不同;然后选择CPU的控制方式,每条指令都是对应的微操作序列构成,然后对第一步微操作序列划分到各个机器周期的节拍中绘制机器周期、节拍、指令的所有微操作图,以此写出每个微操作的组合逻辑表达式,以此进行电路设计。

🌼第5关:多周期MIPS硬布线控制器CPU设计(排序程序)

多周期MIPS CPU硬布线控制器设计和单周期CPU相比,仅是微指令控制器改变成硬布线控制器,而其他部分并未改变,所以数据通路部分和微指令控制器多周期MIPS CPU一样。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🌷1. 闯关目的
    • 🌼第1关:单周期MIPS CPU设计
      • 🌼第2关:微程序地址转移逻辑设计
        • 🌼第3关:MIPS微程序CPU设计
          • 🌼第4关:硬布线控制器状态机设计
            • 🌼第5关:多周期MIPS硬布线控制器CPU设计(排序程序)
            • 🌷2. 闯关内容
              • 🌼第1关:单周期MIPS CPU设计
                • 🌼第2关:微程序地址转移逻辑设计
                  • 🌼第3关:MIPS微程序CPU设计
                    • 🌼第4关:硬布线控制器状态机设计
                      • 🌼第5关:多周期MIPS硬布线控制器CPU设计(排序程序)
                      • 🌷3. 闯关步骤
                        • 🌼第1关:单周期MIPS CPU设计
                          • 🌼第2关:微程序地址转移逻辑设计
                            • 🌼第3关:MIPS微程序CPU设计
                              • 🌼第4关:硬布线控制器状态机设计
                                • 🌼第5关:多周期MIPS硬布线控制器CPU设计(排序程序)
                                • 🌷4. 闯关总结
                                  • 🌼第1关:单周期MIPS CPU设计
                                    • 🌼第2关:微程序地址转移逻辑设计
                                      • 🌼第3关:MIPS微程序CPU设计
                                        • 🌼第4关:硬布线控制器状态机设计
                                          • 🌼第5关:多周期MIPS硬布线控制器CPU设计(排序程序)
                                          相关产品与服务
                                          数据保险箱
                                          数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
                                          领券
                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档