computer-architecture相关内容

MIPS可字节寻址

我一直在下面的URL上观看有关MIPS ISA的演讲. http://www.youtube.com/watch? v = DVFwXvxyC38& list = PLD8AF625E53B0691F& index = 4 根据我到目前为止的理解: 对于32位的MIP,主存储器具有32位的地址输入总线,存储器中的每个插槽都具有8位,因此每个地址都可以引用8位的存储器(这就是其字节 ..
发布时间:2020-05-09 23:04:11 其他开发

大尾数法和小尾数法

给出的是可字节寻址计算机的内存快照.如果机器为大端且为小端时,在执行指令lw $16, 24($17)之后将加载到寄存器$16中的内容.寄存器$17包含200. 现在,根据我的说法,无论Little Endian还是Big Endian,都会从内存(224-227)中复制四个字节,然后,如果计算机是Big Endian,那么它们将被原样复制到寄存器中. 如果机器是Little Endi ..
发布时间:2020-05-09 22:52:58 其他开发

可寻址与对齐

我的问题与记忆有关? 对齐和可寻址之间有什么区别? 如果存储器是字节可寻址的并且字对齐的,那么我们不能直接拥有字可寻址的存储器吗? 另外,当我们说我们进行块传输时,这意味着什么.就像块的大小大于字(数据总线)一样,那么这意味着传输需要一个以上的周期. 解决方案 简短答案 可寻址性是指可以访问的最小内存单元,而对齐则涉及对更大的内存组(通常称为单词)的访问. 详细答案 ..
发布时间:2020-05-08 20:02:55 其他开发

可用页面文件大小/虚拟内存

Process.PagedMemorySize64和PagedSystemMemorySize64有什么区别?我不清楚这一点. 另外,我正在寻找一种方法来找出仍有多少分页文件可用.我是否必须遍历所有进程并总结每个进程的PagedMemorySize64并将其从页面文件的总大小中减去? 解决方案 PagedSystemMemorySize64是页面内存池中归因于进程的操作系统内核内存的总字节 ..
发布时间:2020-05-08 19:54:26 C#/.NET

缓存读写

我正在阅读有关高速缓存写入策略的信息,我只想知道我是否正确理解了这一点. 当读取导致高速缓存未命中时,它将获取该内存块并将其放入高速缓存中.那么,缓存写未命中将意味着程序要写入的内存中的位置不在缓存中,对吗?因此,我正在阅读回写的描述,根据维基百科,该描述如下: 最初,仅写入高速缓存.推迟到后备存储的写入,直到包含数据的缓存块将被新内容修改/替换为止. 那么唯一可以替换缓存块内存 ..
发布时间:2020-05-08 19:38:57 其他开发

我们可以有一台仅将寄存器注册为内存的计算机吗?

寄存器是计算机中最快的内存.因此,如果我们要构建一台仅包含寄存器甚至不包含缓存的计算机,这可能吗?我想甚至用寄存器代替磁盘,尽管它们自然是易失性存储器.我们是否有一些用于此用途的非易失性寄存器?它将变得如此之快!我只是想知道那是否可能发生? 解决方案 很短的答案是是的,理论上可以,但是在现实生活中并没有真正的作用.让我解释一下... 内存层次结构存在的原因是,这些小型和快速内存存储区 ..
发布时间:2020-05-08 19:24:53 其他开发

RAM如何以O(1)速度访问内存中的任何位置

我们被告知,RAM存储器的抽象是一长字节数组.而且对于CPU来说,访问它的任何部分都需要花费相同的时间.什么设备可以同时访问4 GB的任何字节(在我的计算机上)?对我来说,这似乎不是一件容易的事. 我问过同事和教授,但是没有人能确切指出如何通过简单的逻辑门来完成这项任务,如果这不仅是逻辑门的棘手组合,那又是什么? 我个人的猜测是,您可以以O(log(n))的速度实现对任何内存的访问,其 ..
发布时间:2020-05-08 19:22:31 其他开发

了解直接映射的缓存

我试图理解直接映射的缓存,但这是一个非常复杂的概念.我已经写了我认为到目前为止可以理解的内容,但是不确定我是否正确.有人可以验证下面的解释是否正确吗? 例如,对于一台组装好的计算机,仅出于这个问题,RAM中有1024个存储单元(单元).这等于2 ^ 10,因此这些存储单元中每个存储单元的地址必须为10位长. 要求CPU从RAM存储器地址1100100111中获取数据.但是,CPU不会直 ..

Golang二进制文件是否可移植?

假设我主要是Linux用户,但我正在开发一个应用程序,我想要跨平台。我搜索了四周,但我似乎无法找到信息以免除以下内容: 如果我在我的amd64 Ubuntu系统上安装二进制文件,它还可以在其他人的 64位Ubuntu / Debian系统上工作吗? 我如何使用 go install 来构建x86_64二进制文件,该文件也可以在32位Debianlikes上运行开箱即用? 如果我必须使用W ..

ISR和函数调用之间的区别?

我想了解ISR(中断服务程序)和函数调用之间的区别。 从硬件的角度来看,我觉得函数调用和ISR都是一样的。请纠正我错了 我可以找到有关ISR和函数调用的内容如下: ISR: 程序 执行 期间可能发生的异步事件>将PC,标志和寄存器保存在堆栈中, 禁用所有中断并加载ISR的地址 ISR不能有参数可以传递给它 无法返回值 启用中断 一般小因为他们正在花时间进行 ..

查看手册如何翻译(计算机体系结构)

有点混乱的问题。但我真的在寻找一些低级程序设计。事情就是,开发板像Arduino / Etc。真的隐藏了很多事情。 我花了一些时间了解计算机体系结构,逻辑/门/顺序逻辑等(我甚至去了学习与所有这些相关的半导体和电子学的物理学,只是为了知道究竟是怎么回事,以及如何使用CMOS晶体管等等)。 但是关于它结束的地方....我想能够理解一个指令(像Hex /或Assembly / etc .. ..
发布时间:2017-08-15 20:11:59 HTML/CSS

CMake生成一个MSVC CUDA项目,目标较新的设备

我的电脑有一个GTX 580(计算能力2.0)。 我想编译一个使用动态并行性的CUDA源码, 我知道我不能在GPU上运行程序,但是,应该可以在我的机器上编译这个代码。我假设这是因为我可以编译没有问题使用3.5功能的CUDA示例。这些示例带有“手动生成”的Visual Studio项目(我猜)。 我相信我的问题是与CMake。我使用CMake生成Visual Studio 2012 ..

哪些标准的C ++特性可以用于查询机器/操作系统架构?

有什么标准C ++功能和实用程序用于查询运行程序的硬件或操作系统功能的属性? 例如, std :: thread :: hardware_concurrency()给出了机器支持的线程数。 但是如何检测计算机有多少RAM或进程使用了​​多少RAM,或者在某个目录中可以写入多少磁盘空间,或者多少L2缓存可用? 我希望通过 c ++ ( boost 建议也会很好。 解决方案 ..
发布时间:2016-10-22 18:29:46 C/C++开发

当计算机程序运行时会发生什么?

我知道一般的理论,但我不能适应细节。 我知道程序驻留在计算机的辅助内存中。一旦程序开始执行,它被完全复制到RAM。然后,处理器一次捕获几条指令(它取决于总线的大小),将它们放入寄存器并执行它们。 我也知道一台计算机程序使用两种内存:堆栈和堆,它们也是计算机的主存储器的一部分。堆栈用于非动态内存和动态内存堆(例如,与C ++中的 new 操作符有关的所有内容) 我不能理解的是这两个 ..
发布时间:2016-10-11 22:48:12 C/C++开发

对于一些重新presentation

我如何找到适合的系统,我就数重新presentation? 解决方案 如再presentation(字的大小,two's-与补码与符号 - 幅度)和字节顺序建筑的问题最好用硬件回答和/或操作系统和/或编译器文档。 您可以使用双关语的类型来检查一个值的单个字节: T值= ...; //一些数字类型T(INT,短,长,双,浮法,等等) 无符号的char * p =(无符号字符*)及价值; ..
发布时间:2016-08-25 10:00:55 C/C++

"数据位"容量VS"开销比特"尺寸?

我有点卡住,因为我无法找到任何东西覆盖缓存的“数据”的一部分,我用Google搜索交易99.9%,与缓存解决一切。有人问我这个问题的措辞这样 对比“数据位”能力和“架空位”大小的区别 两个高速缓存。 我不想要的答案,所以我不打算发布实际集大小并没有什么,我只是在寻找一种可能是网站或解释方向如何“对比度”两项。任何可能的帮助,很好AP preciated! 解决方案 我不知道你已经给了我们 ..
发布时间:2016-08-22 16:43:44 C/C++

如何计算用C计算机字长?

可能重复:结果 确定我的处理器字长 这是一个今天的面试问题。但我不知道... 我觉得面试官meaned CPU的字长。 我觉得像这样的答案: INT cpu_bits(无效* dummy1,无效* dummy2) { 长偏移量=(长)及dummy2 - (长)及dummy1; INT RET = 0; 如果(8 ==偏移) RET = 64; 否则,如果(4 = ..
发布时间:2016-08-21 22:02:03 C/C++

为什么没有这个code线的规模?

我写这SOR求解code。不要打扰太多这种算法做什么,这是不是这里的关注。但只是为了完整起见:它可以解决线性方程系统,根据系统是如何调节 我用病态的2097152行sparce矩阵(从不收敛)运行,每行最多7个非零列。 翻译:外做的,而循环将执行10000次迭代(我通过为 max_iters值),中间为将进行2097152迭代,劈 work_line 的块,OpenMP的线程分割。最里面的为循 ..
发布时间:2016-08-21 20:08:57 C/C++