Questions tagged «computer-architecture»

计算机体系结构是为什么,什么以及如何将各种硬件和软件组件组合在一起以创建计算设备的抽象描述和规范。该标签应与以下问题一起使用:计算机组成组件之间的关系,计算机中包含或排除哪些组件,如何连接组件,通过连接流过哪些数据以及为什么组件和连接是不错的选择。

7
堆栈是构造程序的唯一合理方法吗?
我见过的大多数体系结构都依赖调用堆栈来保存/恢复函数调用之前的上下文。这种常见的范例使大多数处理器都内置了推入和弹出操作。是否有没有堆栈的系统?如果是这样,它们如何工作?它们的作用是什么?

10
变量和存储位置有什么区别?[关闭]
最近,我一直在尝试以视觉方式将指针解释为抽认卡。 问题001:这是计算机内存中某个位置的图形。它的地址是真的0x23452吗?为什么? 答:是的,因为0x23452描述了计算机可以在哪里找到此位置。 问题002:字符b存储在存储单元中是否正确0x23452?为什么? 答:不,因为字符a实际上存储在其中。 问题003:指针存储在存储单元中是否正确0x23452?为什么? 答:是的,因为存储位置的地址0x34501存储在其中。 问题004:指针是否存储在存储单元内是否正确0x23452?为什么? 答:是的,因为另一个存储位置的地址存储在其中。 现在,让我担心的部分。一位软件工程师这样向我解释了一些建议: 指针是一个变量,其值是另一个变量的内存地址。 根据我向大家展示的四个抽认卡,我将以略有不同的方式定义指针: 指针是一个存储位置,其值是另一个存储位置的存储地址。 可以肯定地说变量与存储位置相同吗? 如果没有,那么谁是对的?变量和存储位置有什么区别?

4
Little Endian赢了吗?
最近在教大恩迪与小恩迪恩之战时,一个学生问它是否已经解决,我意识到我不知道。查看Wikipedia文章,似乎当前最流行的OS /体系结构对使用Little Endian,但是Internet协议指定Big Endian用于在数据包头中传输数值。这将是当前状态的一个很好的总结吗?当前的网卡或CPU是否为切换字节顺序提供硬件支持?


4
越来越多的高级编程语言的使用是否会导致缺乏计算机体系结构知识的程序员?
引用维基百科的文章“高级编程语言”: 高级编程语言是一种从计算机详细信息中抽象而来的编程语言。与低级编程语言相比,它可能会使用自然语言元素,更易于使用或在平台之间具有更大的可移植性。这些语言隐藏了CPU操作的详细信息,例如内存访问模型和范围管理。 也就是说,随着编程语言水平的提高,程序员与运行程序的硬件之间的距离就越远。 现在,我不知道各个级别的语言使用情况的统计信息,但是我怀疑较高级别的语言正越来越多地取代较低级别的语言。如果是这样,这是否会导致缺乏计算机体系结构知识的程序员?这会对行业造成问题吗?

8
作为程序员学习计算机体系结构
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我通常会在SO和其他地方(教师,书籍作者等)碰到大师,他们会说一些类似的话"This will cause alignment issues"或其他低级技巧。 我想了解所有relevant与编程有关的花絮。现在通常当我看到低级书籍(例如计算机体系结构书籍)时,它们太低级了,并且适合那些主要关注计算机体系结构而不是软件设计的人们。 您是否对与程序员相关的入门书籍有一些建议?


1
不基于数组的计算机体系结构
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 瓦德勒(Wadler)撰写的有关函数式编程Monad(Haskell)的原始论文 历史悠久的另一个问题是,是否需要使程序基于数组更新。由于在基于数组的算法和体系结构开发方面投入了大量精力,因此我们将回避这一辩论,并简单地假设答案是肯定的。 没有引用或暗示其他可能的体系结构。我听说过一些适合Lisp的体系结构。有人可以指导我一些关于如何/如何开始该主题的解释和指导。非常感谢您可以简要介绍不同的体系结构。

2
堆栈+堆+静态内存模型是否可以替代?
我见过的所有程序都将其数据存储器组织到一个或多个调用堆栈(通常是固定大小,但有时不是),堆和静态存储器中。最近,线程本地静态存储也已添加到其中。 有没有尝试以根本不同的方式来组织数据存储器布局,例如没有调用堆栈?还是以完成同一件事的另一种方式组织记忆?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.