我是编程新手,来自非CS背景(没有正式学位).我主要使用C#编写winforms.
我对32位和64位感到困惑....我的意思是,已经听说过32位操作系统,32位处理器以及程序可以拥有的最大内存.它如何影响程序的速度.还有很多问题不断浮现在脑海中.
我试图浏览一些计算机组织和架构书籍.但是,要么我太愚蠢无法理解那里写的内容,要么作者认为读者有一些CS背景.
有人可以用一个简单的简单英语解释我这些东西,或者指出我做的事情.
编辑:我读过像32位模式这样的东西,它们可以访问高达4GB的内存; 在64位模式下,他们可以访问更多....我想知道为什么这样的事情.
BOUNTY:下面的答案非常好......尤其是马丁.但是,我正在寻找一个彻底的解释,但用简单的英语.
在大多数处理器中,为什么L1缓存的大小小于L2缓存的大小?
我有一个用C++编写的循环,它是为一个大整数数组的每个元素执行的.在循环内部,我屏蔽了整数的一些位,然后找到最小值和最大值.我听说如果我使用SSE指令进行这些操作,它将比使用按位AND和if-else条件写入的普通循环运行得快得多.我的问题是我应该参加这些SSE指令吗?此外,如果我的代码在不同的处理器上运行会发生什么?它仍然可以工作或这些指令是特定于处理器的吗?
我有一个非常大的XML文件,我需要将其转换为另一个XML文件,我想用XSLT来做这件事.我对内存优化更感兴趣,而不是速度优化(尽管速度也会很好!).
您会为此任务推荐哪种基于Java的XSLT处理器?
你会推荐其他任何方式(非XSLT?,非Java?),如果是这样,为什么?
问题中的XML文件非常大,但不是很深 - 有数百万行(元素),但只有大约3个级别.
如何确定CPU的字大小?如果我理解正确,int一个字应该是正确的吗?我不确定我是否正确.
那么打印sizeof(int)是否足以确定我的处理器的字大小?
有没有办法找到处理器信息...(我需要名字)
我需要运行解释器的处理器的名称.我检查了sys模块,但它没有这样的功能.
如果需要,我也可以使用外部库.
您建议哪些书籍或网站了解QEMU?我想看一些使用示例以及如何使用API.
众所周知,在Linux中禁用逻辑CPU的方法基本上是这样的echo > 0 /sys/devices/system/cpu/cpu<number>/online.这样,您只是告诉操作系统忽略给定的(<number>)CPU.
我的问题更进一步,是否有可能不仅忽略它而是以编程方式将其关闭?我希望CPU不接收任何电源,以使其能耗为零.
我知道可以从BIOS中禁用内核(并非总是如此),但我想知道是否可以在某个程序中执行此操作.
我正在读一些C文本.在"否定"和"正面价值"会话中,作者提到了以二进制形式表示负数的几种方法.
我一直都明白,并且想知道如果给出二进制数,我们能否确定它是否为负数?
例如,-92具有8位二进制形式:10100100.但是如果我们给出的话我们10100100可以说是-92,而不是其他非负数吗?
我一直在读一本关于计算机处理器的书.我发现一些术语,如时钟刻度,时钟周期和时钟速度,我发现很难理解.如果有人能用一种简单的语言澄清这一点,我将非常感激.提前致谢 !