-
公开(公告)号:US09361112B2
公开(公告)日:2016-06-07
申请号:US13865371
申请日:2013-04-18
Applicant: ARM Limited
Inventor: Clément Marc Demongeot , Louis-Marie Vincent Mouton , Frédéric Claude Marie Piry , Jocelyn Francois Orion Jaubert , Albin Pierick Tonnerre
CPC classification number: G06F9/3844 , G06F9/3806
Abstract: A data processing apparatus executes call instructions, and after a sequence of instructions executed in response to a call instruction a return instruction causes the program flow to return to a point in the program sequence associated with that call instruction. The data processing apparatus is configured to speculatively execute instructions in dependence on a predicted outcome of earlier instructions and a return address prediction unit is configured to store return addresses associated with unresolved call instructions. The return address prediction unit comprises: a stack portion onto which return addresses associated with unresolved call instructions are pushed, and from which a return address is popped when a return instruction is speculatively executed; and a buffer portion which stores an entry for each unresolved call instruction executed and for each return instruction which is speculatively executed.
Abstract translation: 数据处理装置执行呼叫指令,并且在响应于呼叫指令执行的指令序列之后,返回指令使程序流程返回到与该呼叫指令相关联的程序序列中的一个点。 数据处理装置被配置为根据早期指令的预测结果推测执行指令,并且返回地址预测单元被配置为存储与未解决的呼叫指令相关联的返回地址。 返回地址预测单元包括:堆栈部分,在其上推送与未解决的呼叫指令相关联的返回地址,并且当推测性地执行返回指令时从该地址弹出返回地址; 以及缓冲部分,其存储针对执行的每个未解决的调用指令的条目和针对被推测执行的每个返回指令。