CSAPP 第4章 处理器体系结构

本文详细探讨了《深入理解计算机系统》(CSAPP)第四章的内容,主要涵盖处理器的基本结构、指令执行流程、流水线技术以及现代处理器的优化策略。通过对这些核心概念的解析,帮助读者建立起对处理器体系结构的深入认识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

int icode=[
	imem_error: INOP;#出现异常时,将icode设置成INOP,即认为这是一条nop指令
	1: imem_icode;
];
int ifun=[
	imem_error: FNONE;
	1: imem_ifun;
];
bool need_regids=icode in {IRRMOVQ, IOPQ, IPUSHQ, IPOPQ, IIRMOVQ, IRMMOVQ, IMRMOVQ};#当前指令是否需要寄存器
bool instr_valid=icode in{INOP, IHALT, IRRMOVQ, IIRMOVQ, IRMMOVQ, IMRMOVQ, IOPQ, IJXX, ICALL, IRET, IPUSHQ, IPOPQ};#当前指令是否是一个Y86-64的指令
bool need_valC=icode in {IIRMOVQ, IRMMOVQ, IMRMOVQ,  IJXX, ICALL};#当前指令是否需要一个常数

在这里插入图片描述

word srcA=[
	icode in {IRRMOVQ, IRMMOVQ, IOPQ, IPUSHQ}:rA;
	icode in {IPOPQ, IRET}:RRSP;
	1:RNONE; #Don't need register
];
word srcB=[
	icode in {IRRMOVQ,IMRMOVQ, IOPQ}:rB;
	icode in {IPUSHQ, IRET, ICALL}:RRSP;
	1:RNONE;
];
word dstE=[
	icode in {IRRMOVQ} && Cnd:rB;
	icode in {IIRMOVQ, IOPQ}:rB;
	icode in {IPUSHQ, IPOPQ, ICALL, IRET}:RESP;
	1:RNONE; #Don't write any register
];
word dstW=[
	icode in {IMRMOVQ, IPOPQ}:rA;
	1: RNONE;
];

在这里插入图片描述

word aluA=[
	icoode in {IRRMOVQ, IOPQ}:valA;
	icode in {IIRMOVQ, IRMMOVQ, IMRMOVQ}:valC;
	icode in {ICALL, IPUSHQ}:-8;
	icode in {IRET, IPOPQ}:8;
	# Other instructions don't need ALU;
];
word aluB=[
	icode in {IRMMOVQ, IMRMOVQ, IOPQ, ICALL, IPUSHQ, IRET, IPOPQ}:valB;
	icode in {IRRMOVQ, IIRMOVQ}:0;
	# Other instructions don't need ALU;
];
word alufun=[
	icode == IOPQ: ifun;
	1: ALUADD;
]; # ALU需要执行的操作
bool set_CC=icode in {IOPQ}# 是否需要修改CC

在这里插入图片描述

word mem_addr=[
	icode in {IRMMOVQ, IPUSHQ, ICALL, IMRMOVQ}:valE;
	icode in {IPOPQ, IRET}:valA;
	# Other instructions don't need address
];# 读写的地址
word mem_data=[
	icode in {IRMMOVQ, IPUSHQ}:valA;#数据来自寄存器
	icode==ICALL:valP;#数据来自PC
];# 写入的数据
#是读还是写
bool mem_read=icode in {IMRMOVQ, IPOPQ, IRET};
bool mem_write=icode in {IRMMOVQ, IPUSHQ, ICALL};
#对Stat的更新
word Stat=[
	imem_error || dmem_error: SADR;
	!instr_valid: SINS;
	icode == IHALT: SHLT;
	1: SAOK;
];

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值