【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】

简介: 【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】

😘欢迎 ❤️关注 👍点赞 🙌收藏 ✍️留言

一、课程设计目的

利用经典的单总线结构运行MIPS程序,可以设计传统三级时序硬布线控制器,也可以设计现代时序硬布线控制器和微程序控制器,可以为不同的时序系统增加中断处理机制。

二、课程设计内容

  1. 单总线CPU设计(定长指令周期3级时序)(HUST)
  2. MIPS指令译码器设计

1.1.实验目的

理解指令译码的基本概念,能将32位MIPS指令字译码成不同的指令译码信号。

  1. 定长指令周期—时序发生器FSM设计

2.1.实验目的

理解传统三级时序系统中时序发生器的基本原理,能设计定长指令周期的时序发生器状态机以及输出函数。

  1. 定长指令周期–时序发生器输出

3.1.实验目的

理解传统三级时序系统中时序发生器的基本原理,能设计定长指令周期的时序发生器状态机以及输出函数。

  1. 硬布线控制器组合逻辑单元

4.1. 实验目的

理解传统三级时序系统中硬布线控制器的设计原理,能设计硬布线控制器组合逻辑单元。

  1. 定长指令周期-硬布线控制器设计

5.1.实验目的

理解传统三级时序系统中硬布线控制器的设计原理。

  1. 定长指令周期–单总线CPU设计

6.1. 实验目的

理解单总线结构CPU基本原理,能设计定长指令周期的三级时序系统,是的MIPS程序能在单总线结构上运行,最终能运行简单的排序程序sort-5.hex。

  1. 单总线CPU设计(变长指令周期3级时序(HUST)
  2. MIPS指令译码器设计
  1. 实验目的

理解指令译码的基本概念,能将32位MIPS指令字译码成不同的指令译码信号。

  1. 变长指令周期–时序发生器FSM设计
  1. 实验目的

理解传统三级时序系统中时序发生器的基本原理,能设计变长指令周期的时序发生器状态机以及输出函数。

  1. 变长指令周期–时序发生器输出函数设计
  1. 实验目的

理解传统三级时序系统中时序发生器的基本原理,能设计变长指令周期的时序发生器状态机以及输出函数。

  1. 硬布线控制器组合逻辑单元
  1. 实验目的

理解传统三级时序系统中硬布线控制器的设计原理,能设计硬布线控制器组合逻辑单元。

  1. 变长指令周期-硬布线控制器设计
  1. 实验目的

理解传统三级时序系统中硬布线控制器的设计原理。

  1. 变长指令周期—单总线CPU设计
  1. 实验目的

理解单总线结构CPU基本原理,能设计定长指令周期的三级时序系统,使得MIPS程序能在单总线结构上运行,最终能运行简单的排序程序sort-5.hex。

  1. 单总线CPU设计(现代时序)HUST)
  2. MIPS指令译码器设计
  1. 实验目的

理解指令译码的基本概念,能将32位MIPS指令字译码成不同的指令译码信号

  1. 单总线CPU微程序入口查找逻辑
  1. 实验目的

理解传统三级时序系统中时序发生器的基本原理,学生能设计定长指令周期的时序发生器状态机以及输出函数

  1. 单总线CPU微程序条件判别测试逻辑
  1. 实验目的

理解传统三级时序系统中时序发生器的基本原理,学生能设计定长指令周期的时序发生器状态机以及输出函数

  1. 单总线CPU微程序控制器设计
  1. 实验目的

理解传统三级时序系统中硬布线控制器的设计原理,学生能设计硬布线控制器组合逻辑单元

  1. 采用微程序的单总线CPU设计
  1. 实验目的

理解传统三级时序系统中硬布线控制器的设计原理

  1. 现代时序硬布线控制器状态机设计
  1. 实验目的

理解单总线结构CPU基本原理,能设计定长指令周期的三级时序系统,是的MIPS程序能在单总线结构上运行,最终能运行简单的排序程序sort-5.hex

  1. 现代时序硬布线控制器设计
  1. 实验目的

理解现代时序系统中硬布线控制器的设计原理。

三、课程设计步骤

  1. 单总线CPU设计(定长指令周期3级时序)(HUST)
  2. MIPS指令译码器设计
  1. 原理

MIPS指令译码器的设计可以分为以下几个步骤:

确定指令格式:MIPS指令有三种格式,分别是R型、I型和J型,每种格式有不同的字段和位数,因此需要先确定指令的格式。


分析指令字段:根据指令格式,确定各个字段的含义和作用。例如,R型指令中包含操作码、源操作数寄存器编号、目的操作数寄存器编号、移位量等字段,需要分析这些字段的位数和作用。


实现指令译码逻辑:根据指令格式和字段信息,设计指令译码逻辑。这一步通常需要使用逻辑门、多路选择器、寄存器等组件来实现。


测试和验证:设计完指令译码器后,需要进行测试和验证,确保它能够正确地解析各种指令,并将指令字段正确地传递到后续的执行阶段。

格式如下:

此实验需要mips知道操作码op对应的值,下面给出实验中用到的mips指令的op码的值

Mips指令 Op码
LW 100011(23)
SW 101011(2b)
ADDI 001000(08)
BEQ 000100(04)

[SLT](https://so.csdn.net/so/search?q=SLT&spm=1001.2101.3001.7020" \t "https://blog.csdn.net/qq_62325622/article/details/_blank)

000000(00)

  1. 接线图
  2. 定长指令周期—时序发生器FSM设计

2.1.原理

状态机负责现态与次态的转换,输出函数根据当前状态生成状态周期电位和节拍周期电位。

单总线结构中如果采用定长指令周期,所有MIPS指令都需要3个机器周期,每个机器周期4个时钟节拍,一共需要12个状态,状态图如下:

按状态图填写相应的excel表,自动生成次态逻辑表达式后,即可在logisim中自动生成该电路。

2.2. 接线图

  1. 定长指令周期–时序发生器输出

3.1.原理

根据状态转化图我们可以容易的填写输出函数的真值表,得到生成函数自动生成输出函数的逻辑电路。

3.2.接线图

  1. 硬布线控制器组合逻辑单元

4.1. 原理

在硬布线控制器中,每个控制信号c都对应一个指令,并且硬布线控制器可以看作是存储组件和逻辑电路的结合体。因此,我们只需要了解每个操作控制信号所产生的调节作用,就能够得到它们的逻辑表达式。

通过对数据通路进行分析,我们可以得到五条不同的指令,并且在取指令周期、计算周期和执行周期的不同阶段,会产生不同的控制信号。这些控制信号的产生条件需要综合考虑下面两个图表。对于所有的控制信号,需要推导出其逻辑表达式,同时在设计 CPU 电路时对控制点的逻辑表达式进行化简。

可以列出所有微操作信号的产生条件,填写下面的excel表格,自动生成逻辑表达式,然后再Logisim中自动生成电路。

4.2. 接线图

  1. 定长指令周期-硬布线控制器设计

5.1. 原理

该实验是对前面的组装

5.2. 接线图

  1. 定长指令周期–单总线CPU设计

6.1. 原理

该实验是对前面实验的全部封装

6.2. 接线图

  1. 单总线CPU设计(变长指令周期3级时序(HUST))
  2. MIPS指令译码器设计
  1. 原理

MIPS指令译码器设计和定长是一样的。

  1. 接线图
  1. 变长指令周期–时序发生器FSM设计
  1. 原理

变长的状态机和定长的状态机有区别,要根据变长的状态机的状态转化图,填写execl表格自动生成电路。

  1. 接线图
  2. 变长指令周期–时序发生器输出函数
  1. 原理
  1. 根据上面实验的状态转化图我们可以填写出execl表格。

  1. 接线图

  1. 硬布线控制器组合逻辑单元
  1. 原理

变长的控制器和变长的控制器是一样的,因此可以使用定长的硬布线控制器组合逻辑单元的execl表直接来生成函数,然后自动生成电路图。

  1. 接线图

  1. 变长指令周期-硬布线控制器设计
  1. 原理

对前面实验的组装

  1. 接线图

  1. 变长指令周期—单总线CPU设计
  1. 原理

对前面实验的封装与测试。

  1. 接线图

  1. 单总线CPU设计(现代时序)HUST)
  2. MIPS指令译码器设计

和前面的实验一样不再赘述。

  1. 单总线CPU微程序入口查找逻辑
  1. 原理

微程序的入口需要通过状态转化图来知道,并且需要我们把微程序入口的值填写到execl表中,采用自动生成逻辑表达式自动生成电路。

  1. 接线图

  1. 单总线CPU微程序条件判别测试逻辑
  1. 原理

和前面类似,使用EXCEL自动生成即可。

  1. 接线图

  1. 单总线CPU微程序控制器设计
  1. 原理

和前面类似,使用EXCEL自动生成即可。

  1. 接线图

  1. 采用微程序的单总线CPU设计
  1. 原理

对前面实验的测试

  1. 接线图

  1. 现代时序硬布线控制器状态机设计
  1. 原理

根据状态转换图填写EXCEL表

  1. 接线图(部分)

  1. 现代时序硬布线控制器设计
  1. 原理

依据前一个实验进行逻辑连接。

  1. 接线图

四、课程设计总结

通过本课程设计,我们深入了解了单总线结构运行MIPS程序的原理和设计过程,包括传统三级时序系统、变长指令周期系统以及现代时序系统。具体内容包括MIPS指令译码器设计、定长/变长指令周期的时序发生器设计、硬布线控制器的组合逻辑单元设计、单总线CPU的设计等。

在定长指令周期3级时序系统方面,我们学会了设计MIPS指令译码器、时序发生器FSM和输出函数、硬布线控制器组合逻辑单元等,最终实现了单总线CPU能在定长指令周期内运行MIPS程序的目标。

在变长指令周期3级时序系统方面,我们针对变长指令周期的特点,设计了相应的时序发生器和硬布线控制器,使得单总线CPU能够适应不同长度的指令周期。

在现代时序系统方面,我们学习了微程序控制器的设计原理,并将其应用在单总线CPU设计中,实现了采用微程序的单总线CPU设计以及现代时序硬布线控制器的状态机设计和硬布线控制器的设计。

通过这些实验,我们对计算机体系结构的实际设计有了更深入的理解,同时也提高了我们的设计能力和实践能力。这些知识和技能对我们今后在计算机体系结构领域的学习和工作都将大有裨益。

相关文章
|
7月前
|
存储
计算机组成原理(7)----CPU内部单总线数据通路
计算机组成原理(7)----CPU内部单总线数据通路
497 0
|
7月前
|
存储
计算机组成原理(5)----CPU的基本结构
计算机组成原理(5)----CPU的基本结构
212 0
|
4月前
|
存储 缓存 数据处理
计算机临时存储CPU运算数据
【8月更文挑战第4天】
86 8
|
4月前
|
存储 固态存储 测试技术
|
5月前
|
编译器 芯片
计算机中CPU 架构
【7月更文挑战第27天】
80 2
|
5月前
|
存储 缓存 数据处理
计算机中 中央处理器 (CPU)
【7月更文挑战第27天】
75 2
|
5月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
|
7月前
|
存储 芯片 块存储
计算机组成原理(2)-----存储芯片与CPU的连接
计算机组成原理(2)-----存储芯片与CPU的连接
350 1
|
22天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
54 7
|
1月前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image:
204 1