CSAPP-处理器体系架构
本节会使用简化版的x86-64的处理器——Y86-64进行学习
Y86-64的寄存器以及指令定义
15个寄存器进行编号(4位表示寄存器)
用0xF填充表示没有用寄存器的数
数据传送指令
整数操作指令
跳转指令
其他指令
指令示例
指令状态码(异常)
寄存器的电路描述
指令的执行
包括6个阶段(取址,译码,执行,访存,写回,更新PC)
取址阶段
指令实际长度为2-10byte
译码阶段(从寄存器读数据)
执行阶段
主要是ALU负责操作数运算,地址偏移运算,栈指针(入栈出栈)计算
访存阶段
既可以从内存读出数据,也可以从内存中写入数据
写回阶段(将结果写回寄存器文件)
此处不同于译码阶段的读寄存器文件,此处是写
更新PC
获取下一条指令的地址,不是指令内容
valP的值等于valP+当前指令的长度
一些例子
1.减法指令
2.数据传送指令(irmovq)
3.数据传送指令(rrmoveq)
4.push指令
5.跳转指令
流水线
流水实现:在每个阶段后面插入寄存器暂存每个阶段的结果
流水线在各个阶段的转移靠的是时钟信号,每120ps,信号从0到1,流水线开始下一阶段的计算
如图所示(指令1,2,3流水执行,共分为A,B,C三个阶段)
239s时时钟信号未到,A阶段后的寄存器还保留指令1的A阶段的结果,指令1执行B,指令2在执行A
流水线的硬件结构
【合集】CSAPP-深入理解计算机系统
不同指令的流水线
数据冒险
因为数据相关产生的数据读写错误
数据冒险解决方法1:气泡+暂停
数据冒险解决方法2:数据转发(添加旁路转接数据)
数据冒险解决方法3:数据转发+气泡
控制冒险
常发生于跳转指令和ret指令
如图,ret必须在访存之后(从栈中读取返回值)才能获得下一条指令的地址
跳转指令必须在执行阶段才能知道是否跳转
控制冒险解决方法:气泡
- ret插入气泡
3. jump指令分支预测(预设定跳转或者不跳转),分支错误使用气泡撤回
CSAPP-处理器体系架构相关推荐
- Linux Arch目录下处理器体系架构介绍
alpha 处理器 Alpha 处理器最早由美国DEC 公司设计制造,在Compaq (康柏)公司收购DEC 之后,Alpha 处理器继续得到发展,并且应用于许多高档的Compaq 服务器上,HP ( ...
- Linux——Linux驱动之基本理论常识总结(什么是Linux驱动?Linux驱动需要掌握哪些?ARM处理体系架构及前世今生)
[系列专栏]:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! <QT开发实战> <嵌入式通用开发实战> <从0到1学习嵌入式Linux开发> 目录 0 ...
- 智源研究院发布“智能体系架构与芯片”重大研究方向,打造通用智能处理器,突破“算法共性特征”难题...
9 月 18 日上午,北京智源人工智能研究院(以下简称"智源研究院")在北大科技园举行"智能体系架构与芯片"重大研究方向发布会,智源研究院院长黄铁军以及北京人工 ...
- 嵌入式处理器的体系架构与内核详解
嵌入式处理器的体系架构与内核详解 当我们谈及嵌入式处理器的体系架构时,一般都是想到Intel的X86架构和ARM公司的ARM架构.X86架构和ARM架构最大的不同点就是使用的指令集不同,前者使用的CI ...
- 论坛报名 | 智能体系架构与芯片的下一个十年
与6位图灵奖得主和100多位专家 共同探讨人工智能的下一个十年 长按图片或点击阅读原文,内行盛会,首次免费注册 2020年6月21-24日,第二届北京智源大会(官网:https://2020.baai ...
- 开启报名 | AI芯片体系架构和软件专题报告会2020
近年来,专用的人工智能芯片为人工智能应用提供了强大的算力.面对日新月异的人工智能应用,人工智能芯片的体系架构,系统软件,安全成为计算机体系结构和系统软件的热点研究问题.为了推进国内在该领域的发展,由北 ...
- 中国“芯”的突破攻略——智源大会“智能体系架构与芯片”论坛发布
报名请点击「阅读原文」 北京·国家会议中心 2019年10月31日-11月1日 www.baai.ac.cn/2019 BAAI 北京智源大会倒计时:8天 智能体系架构与芯片专题论坛 本次大会&quo ...
- 智源重大研究方向“智能体系架构与芯片”发布会(活动报名)
活动详情 智能时代的飞速发展迫切需要新的物质载体,即智能计算系统,而智能计算体系结构和芯片是探索智能计算系统的学科方向. 智源研究院"智能体系架构与芯片"重大研究方向将从方法.芯片 ...
- 专家谈计算机体系架构研究获“图灵奖”
来源:科学网 作者:王佳雯 韩扬眉 近日,有着"计算机界的诺贝尔奖"之称的"图灵奖"揭开面纱.国际计算机协会宣布,美国科学家约翰·轩尼诗和大卫·帕特森获得2 ...
- 计算机模型与体系架构的发展——从图灵机到云计算机1
按照图灵(Alan Turing)给出的计算机模型,计算机是由一个有限状态读写头和一个存储器构成.有限状态读写头从一个初始状态开始,对存储器上的(输入)数据进行读或写操作,经过有限步操作之后停机,此时 ...
最新文章
- 数据库高可用性——SQL Server 2005数据库复制简单图解
- 【C/C++多线程编程之八】pthread条件变量
- 二叉树构建及双向链表
- ZigBee,ZStack
- php 查找数组相同元素,查找数组中重复的元素
- Creative media发表了Flash memory player「ZEN Mozaic」的存储增量模式
- 【知识总结】多项式全家桶(一)(NTT、加减乘除和求逆)
- matlab自带四旋翼算例asbQuadcopter使用心得
- 多线程执行sql报错处理
- MySQL 5.7.18的安装及主从复制(主从同步)
- 计算机课后感400字,观后感400字
- 原神的天空岛服务器位置,原神天空岛服和世界树服数据互通吗
- 3D 目标检测综述梳理图解
- 【阿里云生活物联网架构师专题 ④】如何在天猫精灵IOT开放平台二次开发智能设备的 H5控制面板;
- gif动图怎么制作?怎么截取视频做成gif动图?
- java服务端监控平台设计
- 大流量下订单号生成方法
- 机械硬盘的工作原理详细解析,以及机械硬盘和固态硬盘的优缺点对比
- 单片机:数字电压表TLC2543 C程序代码
- 分销的概念、本质、模式
热门文章
- 京东11.11:京东中间件如何支撑起每一场大促
- springboot版本的微信授权
- 2021前端react面试题汇总
- 1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少?
- 无线网络优化工程师出差吗?
- hypermill后处理构造器安装_UG10.0后处理构造器如何打开?ug10.0后处理无法使用怎么办?...
- 分享几款嵌入式软件测试工具
- WPF ListBox控件
- 【ES入门】使用 apifox 测试elastic search遇到的问题
- chrome Android 65,谷歌发布Chrome 65稳定版(附下载地址)