中断实时性及处理技术简介

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 本文为RISC-V知识图谱系列中“处理器”主题的系列内容,主要介绍CPU处理外部事件的中断技术。

本文作者:Xingguang

本文来源:芯片开放社区(OCC)


1. 什么是中断

中断是CPU处理外部事件的一个重要技术。它能使CPU暂停正在执行的任务,转而处理中断请求,处理完成后返回断点,继续执行原来的任务。


2. 中断与轮询的区别

在一个SoC中,外部设备与CPU的交互一般有两种手段:轮询和中断。

轮询是指CPU不断查询外设的状态寄存器,从而了解设备的状态,进行必要的操作。为了节约CPU资源,查询工作往往不是连续的,而是定时进行。轮询方式具有简单,易实现,易控制的优势,同时也存在浪费CPU和系统资源,无法及时感知设备状态变化的不足。 中断,顾名思义,就是打断正在进行的工作。中断不需要处理器轮询设备的状态,设备在自己发生状态改变时将主动发送一个中断请求给处理器,后者在接收到这一请求时,会暂停当前正在执行的任务,转而去处理外设的中断请求。

目前大多数SoC的外设都采用中断的方式与处理器进行沟通,本文将重点介绍与中断实时性相关的技术。


3. 中断实时性的概念

中断实时性是指CPU响应中断的快慢程度,我们可以用中断响应时间来衡量它。CPU响应中断,可以分为以下几个步骤:

(1) 完成当前指令的执行

(2) 保护现场

(3) 寻找中断入口

(4) 执行中断处理程序

(5) 中断返回并恢复现场


中断响应时间,就是从上述第(1)步开始,到第(4)步的第一条指令为止,所花费的时间。在很多系统,特别是实时系统中,必须尽量缩短中断响应时间,以提高中断的实时性。


4. 提高中断实时性的技术

我们重点介绍两项技术,分别用来加速上述的第(1)步和第(4)步。


4.1 中断快速响应模式——加速完成当前指令

在通常情况下,CPU会在每条指令的“退休”阶段响应中断。所谓“退休”,是指一条指令已经完成了所有的操作,即将从流水线上退出。如果CPU执行了多周期指令或者执行延时不可预期指令,那么该条指令需要较长的时间才能到达“退休”阶段。此时的中断响应速度会受到极大影响,大幅降低系统的实时性。在中断快速响应模式下,CPU无需等待指令退休,即可直接响应中断。这一机制可以打断较长执行延时的指令,从而提高中断响应的速度。

【例】玄铁R807实现了中断快速响应模式,软件可以通过控制寄存器打开/关闭此功能。

假设当前指令是一条Load指令,在没有cache或cache miss的情况下,CPU需要读取memory。受总线带宽和memory延时的影响,该指令的执行时间不确定。

  • 在普通模式下,CPU必须等到Load指令退休以后才能响应中断,等待时间可能是几十~几百个时钟周期,严重影响实时性。
  • 在中断快速响应模式下,CPU放弃当前的Load指令,直接响应中断,等待时间几乎为零。


4.2 利用TCM——更快开始处理中断

TCM是Tightly Coupled Memory的缩写,意思是紧耦合Memory。所谓“紧耦合”,是指与CPU的流水线紧密结合。我们可以把TCM通俗地理解为“CPU身边的memory”。它可以像一般memory一样读写,同时不受总线带宽的影响,可以保证单周期访问。TCM用于存放对实时性有严格要求的指令和数据,当然也是加速中断处理的有力手段。

【例】玄铁I805和R807实现了TCM。下面对比一下使用TCM与否的差别。

  • 不使用TCM:处理中断时,CPU跳转到普通memory空间取指令,访问延时不确定。虽然Cache可以起到加速的作用,但是Cache存在Miss、Eviction等不确定因素,所以不能100%保证实时性。
  • 使用TCM:系统初始化时,通过专用接口将一些关键中断的处理函数搬运到TCM,并且把中断入口地址映射到TCM。处理中断时,CPU跳转到TCM区域取指令,TCM可以保证稳定的低延时指令流,从而100%满足实时性的要求。
相关文章
|
存储 缓存 C语言
TCM、ITCM、DTCM
TCM、ITCM、DTCM
2606 0
|
虚拟化 图形学
A5000 vGPU显示模式切换
A5000显示模式切换
1715 0
A5000 vGPU显示模式切换
|
6月前
Feign 调用超时,会自动重试吗?如何设置?
Feign默认不重试超时请求,但可通过Retryer配置重试策略。可设置最大重试次数、间隔等参数,并结合@FeignClient的configuration属性启用,提升服务调用的容错能力。
383 0
|
机器学习/深度学习 人工智能 算法
《AI芯片:如何让硬件与AI计算需求完美契合》
在人工智能快速发展的今天,AI芯片成为推动该领域前行的关键力量。AI芯片如同“超级大脑”,支撑着从智能语音助手到自动驾驶汽车等各种复杂应用。它通过GPU、ASIC和FPGA等架构,优化矩阵运算、内存管理和数据传输,满足大规模数据处理需求。尽管面临通用性和成本挑战,未来AI芯片有望在异构计算、新兴技术和降低成本方面取得突破,为AI发展注入强大动力。
859 17
|
前端开发 Python
【前端验证】通用型顺序比对的uvm scoreboard组件编写
【前端验证】通用型顺序比对的uvm scoreboard组件编写
778 0
|
机器学习/深度学习 人工智能 算法
【AI系统】关键设计指标
本文介绍了AI芯片设计中的关键指标与设计点,涵盖OPS、MACs、FLOPs等计算单位,以及精度、吞吐量、时延、能耗、成本和易用性等六大关键指标。文章还探讨了MACs和PE优化策略,以及通过算术强度和Roofline模型评估AI模型在特定芯片上的性能表现,为AI芯片的性能优化提供了理论依据和实践指导。
1801 1
|
运维 供应链 监控
【云故事探索】NO.12:茶百道——奶茶上云,原生的更好喝
茶百道自2008年成立,从100家门店扩展至7000多家,年销量达8亿杯。2018年起,茶百道开启全国加盟,通过数字化转型,实现供应链、运营及营销的全面升级。借助阿里云技术,优化从前端到后端的业务流程,提升用户体验,降低运营成本,显著增强了市场竞争力。
|
供应链 监控 安全
构建未来:区块链技术在供应链管理中的应用
【8月更文挑战第30天】 在数字化浪潮的推动下,供应链管理正经历着前所未有的转型。本文深入探讨了区块链技术如何成为这一变革的核心动力。通过分析区块链的不可篡改性、透明度以及去中心化特性,揭示了其在提高供应链效率、确保商品真实性和加强各方信任方面的潜力。不同于常规摘要,本文还将提供具体的行业案例,以展现区块链技术在实际供应链管理中的应用场景与成效。
1445 4
|
存储 达摩院 安全
量子计算的社会影响:我们准备好了吗?
【5月更文挑战第26天】量子计算快速发展,将重塑信息安全、科研及产业经济。中国在量子密码学和计算机领域取得重大进展,政府加大投入,企业积极探索。然而,技术挑战、应用拓展和人才短缺仍需关注。面对量子革命,我们既要抓住机遇,也要应对挑战。
|
存储 算法 安全

热门文章

最新文章