【Linux 汇编】中断恢复现场时的LR-4

本文为笔者学习阶段的一个记录,多有错漏与描述不清之处,欢迎大家批评指正。


前言

在先前学习 Linux 汇编中对中断的处理时,对于中断恢复线程时将 LR - 4 的操作一直不是很理解
直到了解清楚 ARM 的三级流水线工作流程,才解开了这个谜题。


若你对三级流水线的工作流程不熟悉,那么很可能像笔者先前一样,对 lr -4 的理解不够清晰。

一、CPU 寄存器简介

 本文只讨论 32 位 ARM 处理器:
  R0-R12: 通用寄存器,用于存储任意数据。
  R13 (SP): 栈指针寄存器。
  R14 (LR): 链接寄存器,用于保存程序跳转后需要返回的地址(跳转前的PC值)。
  R15 (PC): 程序计数器,用于指向当前执行指令的地址。
  CPSR:当前程序状态寄存器,包含条件码标志、中断禁止位、处理器模式。

二、三级流水线的工作流程

 流水线作业是什么样的?假设有三个工人组成一条流水线,那么工作流程如下:
  ① 甲执行产品 1 的步骤 a;
  ② 甲执行产品 2 的步骤 a,乙执行产品 1 的步骤 b;
  ③ 甲执行产品 3 的步骤 a,乙执行产品 2 的步骤 b,丙执行产品 1 的步骤 c。
  ④ 甲执行产品 4 的步骤 a,乙执行产品 3 的步骤 b,丙执行产品 2 的步骤 c。
  ⑤ …

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值