CPU数据通路的操作分析
CPU数据通路的操作分析
- 数据通路
- 指令周期
- 步骤
- (1)取指令
- (2)译码指令
- (3)读取数据
- (4)执行操作
- (5)存放结果
- 补充
- 对于同一部件在不同阶段多次使用的处理?
- 多级周期如何控制?
每次读到这里,都感觉信息量爆炸,这次就下功夫好好攻克一下这个难题。这里大部分都是基于个人理解,如有错误,请评论区赐教。
数据通路
数据通路:数据处理和传输所需要的部件及部件间的互连方式
数据通路需要哪些部件主要取决于指令系统有哪些功能。
指令周期
指令周期:从取指令开始到指令执行结束所经历的全部时间
总线周期:CPU完成一次访问MEM或I/O端口操作所需要的时间。
机器周期:指令的执行过程中分为几个基本操作,完成一个基本操作所需要的时间称为机器周期。
时钟周期:时钟周期是同步电路中时钟基础频率的倒数。与晶振有关。
时钟周期——数字逻辑电路
机器周期/总线周期——微机原理/计算机组成
指令周期——汇编语言
这里的周期都有在时间上最小单元的意味,某某 周期就是以某某为单元完整执行一次所需的时间。
步骤
(1)取指令
对内存单元进行一次读操作,将指令从内存单元读入CPU的指令寄存器IR
(2)译码指令
分析上一步取出的指令(操作码+地址码/寻址方式码),来确定指令功能、操作数类型以及寻址方式。
这里需要指令译码器(Instruction Decoder,ID),用户不可见。
(3)读取数据
根据上一步得到的地址,从该地址取出数据到MDR中
RS型指令集结构1,源操作数来自CPU中的通用寄存器或者存储器单元
RR型指令集结构,除了LOAD指令,其他指令都来自通用寄存器。
(4)执行操作
根据(2)的指令码在ALU中对数据进行操作
(5)存放结果
将ALU的结果存入指定的目的单元
RS型指令集结构1,目的操作数来自CPU中的通用寄存器或者存储器单元
RR型指令集结构,除了STORE指令,其他指令目的操作数都必须是通用寄存器。
补充
将指令集结构分为三种类型
a) 堆栈结构
b) 累加器结构
c) 通用寄存器结构:
寄存器-寄存器结构(RR结构)所有操作数都是来自通用寄存器
优点:指令字长固定,指令结构间接,是一种简单的代码生成模型,各种指令的执行时钟周期接近
缺点:与指令中含存储器操作数的指令集结构相比,指令条数多,目标代码不够紧凑,因而程序占用的空间比较大
寄存器-存储器结构(RM结构)操作数可以来自存储器
优点:可以在ALU指令中直接对存储器操作数进行引用,而不必先用load指令进行加载。容易对指令进行编码,目标代码比较紧凑。
缺点:指令中两个操作数不对称。在一条指令中同时对寄存器操作数和存储器操作数进行编码,有可能限制指令所能够表示的存储器个数。指令的执行时钟周期因操作数的来源(寄存器或存储器)不同而差别较大。
存储器-存储器结构(MM结构)
优点:目标代码最紧凑,不需要设置寄存器来保存变量
缺点:指令字长变化很大,特别是3操作数指令。而且每条指令完成的工作也差别很大。对存储器的频繁访问会使存储器成为瓶颈。这种类型的指令集结构现在已经不用了。
对于同一部件在不同阶段多次使用的处理?
单周期数据通路:部件冗余(同一类部件针对不同阶段设置不同的寄存器(指令寄存器,数据寄存器)。
多周期数据通路:部件共享(复用)
多级周期如何控制?
- ↩︎ ↩︎
CPU数据通路的操作分析相关推荐
- 计算机组成原理cpu数据通路(Verilog HDL虚拟实验)
数据通路的作用 数据在功能部件之间传送的路径称为数据通路,建立数据通路的任务是由"控制部件"来完成的 内部数据通路:CPU内部的数据传送通路,用于在寄存器之间或寄存器ALU之间传送 ...
- 【王道计算机组成原理Note】5.3 CPU数据通路(CPU内部总线+专用数据通路)
5.3.1 数据通路-CPU内部单总线方式 这是第一节的图,将其部件换到一边: 5.3.1.1 CPU内部单总线方式 内部总线是指同一部件,如CPU内部连接各寄存器及运算部件之间的总线; 系统总线是指 ...
- 单周期MIPS CPU设计
一.实验内容 实验过程 1.设计的24条指令 R型指令详细: I型指令详细: J型指令详细: 分析每条指令的控制信号 逻辑左移指令 SLL rd, Rt,shamt 通过指令译码器,解析出Func字段 ...
- 什么是CPU?什么是计算机?
计算机体系结构 计算机:主机(cpu + 主存) + 输入输出设备 cpu cpu基本组成 指令执行 cpu数据通路 一些名词的意思 指令的应用 提高CPU运行速度的设计 操作系统 用了很久的计算机了 ...
- 【中山大学计算机组成原理实验】单周期CPU设计与实现
实验一 : 单周期CPU设计与实现 一. 实验目的 (1) 掌握单周期CPU数据通路图的构成.原理及其设计方法: (2) 掌握单周期CPU的实现方法,代码实现方法: (3) 认识和掌握指令与CPU的关 ...
- (Verilog)多周期CPU设计
(Verilog)多周期CPU设计 写在前面:在参考别人的博客自己做了一遍单周期cpu后,觉得不是很难,于是自己尝试了做一下多周期cpu,然后被各种bug糊脸...果然,自己尝试和有大佬指路还是有很大 ...
- (Verilog)单周期CPU设计
(Verilog)单周期CPU设计 首先是基础资料部分(借用学校资料): 一.实验内容 设计一个单周期CPU,该CPU至少能实现以下指令功能操作.需设计的指令与格式如下: ==> 算术运算指令 ...
- 单周期CPU设计(Verilog)
2017/06/08: 当时单周期cpu写的比较仓促,没有深入的进行调试,我准备在放假的时候重构一下代码, 然后把博文改进一下,现在实在没有时间,很抱歉~ 不过多周期我有调试过的,所以有需要的可以移步 ...
- MIPS微程序CPU设计
[设计任务] 掌握多周期MIPS CPU中各条指令(8条指令)的数据通路; 掌握多周期MIPS CPU(8条指令和)微程序控制器设计的基本原理; 能利用相关原理在Logisim平台中设计实现8条指令的 ...
最新文章
- 快速了解一门技术的基本步骤
- 数值分箱与one-hot
- python从多层循环嵌套中退出_python中退出多层循环的方法
- 阿里工程师用 8 张图告诉你如何存储、管理泛内容数据
- 前端vue项目开发流程
- 怎么让电脑运行速度变快_加快电脑运行速度的6个秘笈,系统安装,电脑维修必备技巧...
- android获取inflater
- 周鸿祎评互联网大佬的编程能力:我能排前三,谁排第一?
- 关于c#中的string
- 电路模电数电知识点总结(初步完成,后期进行小部分优化)
- 昂达平板装linux系统下载,昂达平板用U盘启动方式安装Ubuntu Uudgie 16.10 Linux操作系统...
- html添加js的代码注释,JavaScript 注释方法总结
- PHP获取域名及域名IP的方法
- 核显 linux 软件,同样的核显,看在线视频ubuntu更卡 - Linux系统与应用 - LinuxApp - 水木社区...
- 基于Springboot框架的登录注册页面
- 学好python可以实现财务自由哦—python基础教学(二)
- 基于JAVA服装连锁店后台管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
- 驱动人生解决电脑总是无端卡死/黑屏需强制关机的现象
- 用Python写一个天天酷跑
- 利用Office Online 实现文档在线预览