【计算机组成原理】Yy-z02硬布线模型机设计

news2024/9/20 18:31:11

目录

一、Yy-z02模型机的系统结构

二、Yy-z02模型机的数据通路

三、Yy-z02模型机的指令执行

 四、Yy-z02模型机的硬布线控制器


一、Yy-z02模型机的系统结构

指令系统的实现  <---  构造它的硬件系统

硬件系统构造过程

  1. 分析指令格式和各指令的功能
  2. 确定部件连接方式(总线连接/直接连接)、CPU类型(单周期/多周期/流水线)
  3. 依据各条指令的功能,设计所需的功能部件、确定对应的控制信号
  4. 按既定方式进行连接,在部件之间建立数据通路

部件的连接方式

  • 直接链接:在所有需要传送数据的部件之间建立一条直接通路,比较适合CPU流水线设计中的串行连接结构(RISC、ARM)
  • 总线连接:所有部件都挂在总线上,部件之间通过总线来交换数据,结构简单,缺点是总线需要分时共享,指令的执行需要多周期(Yy-z02模型机)

总线连接的简单计算机系统结构

  • 系统总线:连接CPU、存储器、输入设备、输出设备 
  • CPU内部总线:连接CPU内部的专用寄存器、运算器(ALU、GR、暂存器)
  • CPU访问总线和输入输出设备:均需AR和DR完成

Yy-z02模型机的系统结构

  • 将外部数据总线DBCPU内部总线IB合二为一
  • 省略了数据寄存器DR

 

二、Yy-z02模型机的数据通路

存储器读/写操作只需要2个机器周期,运算器运算操作需要3个机器周期

三、Yy-z02模型机的指令执行

指令执行过程

取指令:以PC为地址读存储器,读出的指令写入IR,PC自增

  • M0:PC -> AR,PC+1 -> PC
  • M1:Mem[AR] -> IR

分析指令:控制指令译码器ID对IR进行译码,产生能识别指令的特定信息或信号

  • 指令的功能:对OP字段译码
  • 操作数地址:对寻址方式码MOD译码
  • 指令含几个字:由OP和MOD字段决定

执行指令:具体操作数取决于指令的功能与寻址方式

  • 取操作数:取指令剩余字;根据寻址方式计算EA
  • 执行操作:根据指令功能执行传送/计算/移位/转移等操作

Yy-z02模型机的两条经典指令

 

指令执行的流程图

 四、Yy-z02模型机的硬布线控制器

  • 原则一:微操作的先后顺序不得随意更改
  • 原则二:被控对象不同的微操作,尽量安排在一个节拍内完成
  • 原则三:占用时间较短的微操作,尽量安排在一个节拍内完成,并允许有先后顺序

硬布线控制器特点:

  • 指令越多,设计和实现就越复杂,因此一般用于RISC(精简指令集系统)
  • 如果扩充一条新指令,则控制器的设计就需要大改,因此扩充指令困难
  • 由于使用纯硬件实现控制,因此执行速度很快。微操作控制信号由组合逻辑电路即时产生
  • 一个CPU控制器,可以部分指令使用硬布线实现,部分指令(复杂指令)使用微程序控制实现

Yy-z02模型机的硬布线控制器设计步骤:

  1. 确定指令系统、分析指令功能
  2. 确定计算机系统结构
  3. 分析指令的执行过程及发送的微操作控制信号
  4. 综合与优化每个微操作控制信号的逻辑函数
  5. 逻辑电路实现

1. 确定指令系统:两条典型指令(ADD、JMP)

2. 确定计算机系统结构:Yy-z02模型机

3. 分析指令执行过程和发送的空信号序列

4. 综合与优化每个微操作控制信号的逻辑函数

5. 逻辑电路实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/674419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《机器学习公式推导与代码实现》chapter16-集成学习对比与调参

《机器学习公式推导与代码实现》学习笔记&#xff0c;记录一下自己的学习过程&#xff0c;详细的内容请大家购买作者的书籍查阅。 集成学习&#xff1a;对比与调参 虽然现在深度学习大行其道&#xff0c;但以XGBoost、LightGBM、CatBoost为代表的Boosting算法仍有其广泛的用武…

【Applied Algebra】有限状态机和模型检测初探

【Applied Algebra】有限状态机和模型检测初探 摘要:有限状态机(FSM)和模型检测有密切的联系。有限状态机提供了一种用状态转换图来表示系统行为的简单方法。而模型检测是一种针对形式化模型&#xff08;例如有限状态机&#xff09;的验证技术&#xff0c;旨在自动验证模型是否…

css基础(一)

目录 思维导图 ​一、css简介 1.1 css语法规范 1.2 css代码规格 1. 样式格式书写 2. 样式大小写 3. 空格规范 二、css选择器 2.1 CSS 选择器的作用 2.2 选择器分类 2.3 标签选择器 2.4 类选择器 2.4 类选择器-多类名 2.5 id 选择器 2.6 通配符选择器 2.7 基础选择器总结 三、CS…

D. Running Miles(公式转换)

Problem - D - Codeforces 有一条长为n的街道&#xff0c;其中第i个景点距离街道起点i英里。第i个景点的美丽值为bi。你想要在离街道起点l英里和r英里处开始和结束慢跑。当你跑步时&#xff0c;你会看到你经过的景点&#xff08;包括起点和终点处的景点&#xff09;。你对沿途慢…

Microsoft365有用吗?2023最新版office有哪些新功能?

office自97版到现在已有20多年&#xff0c;一直是作为行业标准&#xff0c;格式和兼容性好&#xff0c;比较正式&#xff0c;适合商务使用。包含多个组件&#xff0c;除了常用的word、excel、ppt外&#xff0c;还有收发邮件的outlook、管理数据库的access、排版桌面的publisher…

CENTOS上的网络安全工具(二十五)SPARK+NetSA Security Tools容器化部署(1)

一、第三代YAF YAF&#xff08;Yet Another Flowmeter&#xff09;是作为CERT NetSA安全工具套件的传感器部分存在的&#xff0c;支持输入实时数据流和PCAP文件&#xff0c;解析并输出流数据&#xff0c;或针对特定协议的深包检测元数据。目前&#xff0c;YAF在整个系统的作用如…

【js30天挑战】第三天:css变量

效果图&#xff1a; 学到的东西 HTML&CSS部分 css变量写法 //定义:root{ //:root 是 CSS 选择器&#xff0c;它匹配文档的根元素&#xff0c;也就是 html 元素。 --base:#FF0081;--spacing:10px;--blur:0px;} //使用img {filter: blur(var(--blur));}input: range类型…

Redis - 数据结构类型及使用场景详解(一)

一. 简介 Redis 是由 Salvatore Sanfilippo 编写的一个key-value存储系统&#xff0c;是跨平台的非关系型数据库。Redis是一个开源的&#xff0c;使用C语言编写的&#xff0c;遵守BSD协议&#xff0c;支持网络&#xff0c;可基于内存&#xff0c;分布式&#xff0c;可选持久性的…

EMC学习笔记(八)阻抗控制(二)

阻抗控制&#xff08;二&#xff09; 1.差分阻抗控制1.1 当介质厚度为5mil时的差分阻抗随差分线间距的变化趋势1.2 当介质厚度为13mil时的差分阻抗随差分线间距的变化趋势1.3 当介质厚度为25mil时的差分阻抗随差分线间距的变化趋势 2.屏蔽地线对阻抗的影响2.1 地线与信号线之间…

Day_54-55

目录 Day_54基于 M-distance 的推荐 一. 关于M-distance 的推荐 1. 基本数据说明 2. 推荐系统的算法过程 3. 简单思考 二. 代码复现 1. 数据导入 2. 代码的初始化 3. 核心代码 3.1 基础数据的构建 3.2 leave-out-leave测试 3.3 误差计算 Day_55基于 M-distance 的推荐 (续) …

对象的构造顺序

问题 C 中的类可以定义多个对象&#xff0c;那个对象构造的顺序是怎样的&#xff1f; 对于局部对象 当程序执行流到达对象的定义语句时进行构造 下面程序中的对象构造顺序是什么&#xff1f; 对于堆对象 当程序执行流到达 new 语句时创建对象 使用 new 创建对象将自动触发构…

python 使用 openpyxl 处理 Excel 教程

目录 前言一、安装openpyxl库二、新建excel及写入单元格1.创建一个xlsx格式的excel文件并保存2.保存成流(stream)3.写入单元格 三、创建sheet工作表及操作四、读取excel和单元格1.读取 excel 文件2.读取单元格3.获取某一行某一列的数据4.遍历所有单元格5.遍历指定行列范围的单元…

Android卡顿优化

卡顿的定义 如果在一个Vsync周期内&#xff08;60HZ的屏幕上就是16.6ms&#xff09;&#xff0c;按照整个上帧显示的执行的顺序来看&#xff0c;应用UI线程的绘制、RenderThread线程的渲染、SurfaceFlinger/HWC的图层合成以及最终屏幕上的显示这些动作没有全部都执行完成的话&…

【C语言】-- X型图案

今天刷了牛客网上的一道题&#xff0c;不难&#xff0c;但思路很重要&#xff0c;否则你就得写一长串代码&#xff0c;下面是要求。牛客网链接->X形图案。 下面是两组示例。 通过观察示例&#xff0c;我们发现输入的数字是奇数时&#xff0c;图案最中间只有一个*&#xff0c…

什么是Ajax?Ajax如何发送请求(详)

本篇来讲关于Ajax的内容&#xff0c;当然还有小伙伴可能不知道该怎么读 "Ajax"&#xff0c;它读 "阿贾克斯" &#xff0c;当然了读法可能因人而异&#xff0c;下面来进入正题&#xff0c;先来了解一下什么是Ajax&#xff1f; Ajax 是什么&#xff1f; Ajax…

魔法与现实-如何使用GPT帮我改一个万行vue代码中的BUG

开篇 传说在人类诞生之初是和魔法共存的。随时时间的流失,人们逐步开始淡忘了魔法。也有传说魔法是亚瑟王于“剑栏“一战(Battle of Camlann)后梅林永远封存了魔法使其不被心术不正者所使用。不管哪种说法,随着时间的流失,人类在飞速进步。从水利磨坊到蒸汽机的发明、再到…

Latex中表格Table环境和Tabular环境

目录 一、Table和Tabular的区别 二、一个简单的Table环境示例&#xff1a; 三、Latex的“自动换行”功能 四、Latex多行和多列 五、使用tablesgenerator快速将excel表格转换成tex代码 六、设置表格的宽度与页面宽度一致 说明:一至四内容来自Latex中使用Table&#xff08;表…

Scala入门【运算符和流程控制】

运算符 在 Scala 中其实是没有运算符的&#xff0c;所有运算符都是方法。我们只是省去了 .方法名() 中的点 . 和括号 () 。 调用对象的方法时&#xff0c;点 . 可以省略&#xff1b;如果函数参数只有一个&#xff0c;或者没有参数&#xff0c;括号()可以省略。 //num1 n…

Unity解决:GIS(GPS的经纬度坐标)定位系统坐标转unity坐标(世界坐标)

目录 一、前言 二、功能实现 三、测试 四、备注 如果要实现该效果的demo&#xff0c;请联系作者 一、前言 最近项目中用到了第三方的定位系统&#xff0c;有的是使用GPS定位、有的是使用UWB定位。第三方的定位系统把他们的定位信息通过网络发送给Unity&#xff0c;在Unity…

项目集活动—项目集定义阶段活动

项目集活动是为支持项目集而开展的任务和工作&#xff0c;贯穿整个项目集生命周期。 项目集活动包括&#xff1a; 项目集定义阶段活动 项目集交付阶段活动项目集收尾阶段活动 鉴于项目集的范围和复杂性&#xff0c;在整个项目集生命周期中&#xff0c;将执行许多项目集支持活…