说说安腾处理器的双栈设计

2023-11-21 04:59
文章标签 设计 处理器 双栈 安腾

本文主要是介绍说说安腾处理器的双栈设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

去年的时候,我曾提到,在安腾(Itanium)处理器上有两个栈。
传统上的”栈”(包括SP寄存器所指的那个栈)是一个手动管理的内存块,函数可以从中分配空间以在执行期间使用。
举个例子,如果你声明一个局部变量:
TCHAR szBuffer[MAX_PATH];

那么,这个缓冲区将会在上面所说的栈中分配内存。
但是,不是所有的局部变量都分配在这个栈中。

回想一下,安腾处理器上有大量的寄存器,其中大部分都参与函数调用。 因此,许多局部变量被放置在寄存器中而不是栈中,当调用函数时,这些寄存器被处理器所占用,而在函数返回时释放。 他们在哪里得到这些内存空间? 处理器通常可以将它们存储到其他未使用的寄存器中,这项技术比较复杂晦涩,我暂时不细说 (那些仍然感兴趣的人,可以阅读英特尔关于该主题的文档。)如果处理器用完了这些寄存器,它就会转为使用主存储器,进入一个称为“寄存器后备存储”的地方。 这是另一个与传统栈类似栈内存块。

如前所述,这种双栈设计模型的一个结果是,栈溢出不会破坏函数返回地址,因为返回地址没有保存在传统栈上,相反,它保存在寄存器中或(在寄存器不够的情况下)在寄存器后备存储中。

双栈设计另一个结果是,各种定位堆栈开始的技巧只会找到其中一个堆栈。 如果你认为对该栈进行前后偏移,能找到所有可访问的对象引用,那么错过另一个栈将导致问题。

安腾架构挑战了许多假设,并且对各种技术上非法但没有人会真正执行的恶作剧更加不会宽容,其中一些我在之前的文章中已经讨论过。
今天可以在这个列表中加上新的主题了,我将其命名为:”第二个栈”。

总结

安腾:不好意思,我设计过于先进导致提前结束了生命周期。
F22:我也一样哈。

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《The Itanium’s so-called stack》

这篇关于说说安腾处理器的双栈设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/399971

相关文章

在线装修管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,装修队管理,用户管理,装修管理,基础数据管理,论坛管理 前台账户功能包括:系统首页,个人中心,公告信息,论坛,装修,装修队 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:SpringBoot自带 ap

DDei在线设计器-API-DDeiSheet

DDeiSheet   DDeiSheet是代表一个页签,一个页签含有一个DDeiStage用于显示图形。   DDeiSheet实例包含了一个页签的所有数据,在获取后可以通过它访问其他内容。DDeiFile中的sheets属性记录了当前文件的页签列表。   一个DDeiFile实例至少包含一个DDeiSheet实例。   本篇最后提供的示例可以在DDei文档直接预览 属性 属性名说明数

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 📚 系统功能的具体实现    💬 系统登录注册 系统登录 登录界面   用户添加  💬 抗疫列表展示模块     区域信息管理 添加物资详情 抗疫物资列表展示 抗疫物资申请 抗疫物资审核 ✒️ 源码实现 💖 源码获取 😁 联系方式 📚 前言 📑博客主页:

比较学习难度:Adobe Illustrator、Photoshop和新兴在线设计平台

从入门设计开始,几乎没有人不知道 Adobe 公司两大设计软件:Adobe Illustrator和 Photoshop。虽然AI和PS很有名,有一定设计经验的设计师可以在早期探索和使用后大致了解AI和PS的区别,但似乎很少有人会系统地比较AI和PS。目前,设计软件功能多样,轻量级和网页设计软件已成为许多设计师的需求。对于初学者来说,一篇有针对性的AI和PS比较总结文章具有非常重要的指导意义。毕竟

基于Java医院药品交易系统详细设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W+,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码+数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人  Java精品实战案例《600套》 2023-2025年最值得选择的Java毕业设计选题大全:1000个热

展厅设计主要的六大要素

1、从创意开始      展示设计的开始必须创意在先。根据整体的风格思路进行创意,首先要考虑的是主体的造型、大小高度位置以及它和周围展厅的关系。另外其他道具设计制作与运作方式也必须在创意中有明确的体现。      2、平面感      平面感是指对展示艺术设计平面图纸审美和功能两个方面理性的感觉认识。它是三维空间设计认识的基础,也是施工的重要依据。展示空间的设计应先在展场环境的平面

办理河南建筑工程乙级设计资质的流程与要点

办理河南建筑工程乙级设计资质的流程与要点 办理河南建筑工程乙级设计资质的流程与要点主要包括以下几个方面: 流程: 工商注册与资质规划:确保企业具有独立法人资格,完成工商注册,并明确乙级设计资质的具体要求,包括注册资本、人员配置、技术条件等。 专业技术人员配置: 雇佣或签约符合资质要求的专业技术人员,包括但不限于:一级注册结构工程师2名、一级注册建筑师2名、注册暖通工程师1名、注册供配电工

CSS背景属性:打造丰富视觉效果的背景设计

在网页设计中,背景是创建视觉吸引力和设置页面基调的重要元素。CSS提供了多种背景属性来控制元素的背景样式,包括颜色、图像、尺寸、位置和重复方式。本文将详细介绍CSS中的背景属性,包括background简写属性以及background-color、background-image、background-repeat、background-position和background-size等属性。

爱心商城管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,企业管理,用户管理,论坛管理,商品管理,公告管理,用户捐赠 企业账户功能包括:系统首页,个人中心,商品管理,论坛管理,公告管理,公益企业管理,轮播图信息 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:

周末设计高端企业_集团官网主题Discuz模板

风格名称: 周末设计_高端企业_集团官网 适用版本: Discuz! X3.0、X3.1、X3.2、X3.3、F1.0 风格编码: 使用语言包结构,适合全部编码 周末设计高端企业_集团官网主题Discuz模板