寄存器是计算机中最快的记忆.因此,如果我们想要建立一个只有寄存器而不是缓存的计算机,是否可能?我想甚至用寄存器替换磁盘,尽管它们是自然易失性的存储器.我们是否有一些非易失性寄存器用于此用途?它会变得如此之快!我只是想知道这是否可能发生?
我只是想知道除INTEL和AMD之外还有哪些其他CPU架构可用.因此,在Wikipedia上找到了CPU架构列表.
它将值得注意的CPU架构分为以下几类.
我正在分析他们的目的并且几乎没有疑问.以微电脑CPU(PC)架构为参考,并将其与其他人进行比较:
嵌入式CPU架构:
工作站/服务器CPU架构
迷你/大型机CPU架构
混合核心CPU架构
如果可能,请以这种格式保留您的答案:
XYZ CPU架构
- XYZ的目的
- 需要一个新的架构.为什么现在的微机CPU架构不能工作?它们达到3GHZ并具有多达8个核心.
- 需要新的操作系统为什么我们需要一种新的操作系统来实现这种架构?
编辑:
伙计们,这不是一个家庭作业问题.我无法做任何让你相信的事情.我不知道问题是不清楚还是别的,但我只对具体的技术细节感兴趣.
让我以另一种方式提出这个问题的一部分.您正在接受采访,如果面试官问您"告诉我,微电脑处理器速度快,功能强大,我们的PC操作系统也很好.为什么我们需要不同的架构,如SPARC,Itanium,需要不同的操作系统,如Windows Server对于服务器?" 你会回答什么?我希望得到我的观点.
assembly computer-science operating-system computer-architecture
从语义上讲,Dalvik VM为每种方法都有一组新的寄存器,并且没有访问调用堆栈的指令.但就其实现而言,寄存器应以某种方式保存在方法调用上并在方法返回时恢复.Dalvik(谷歌的实施)如何做到这一点?
我有这个项目听下面,我不知道从哪里开始也许有人可以给我一些指示或者可能指出我正确的方向开始这个?谢谢!!
输入: A,B =八进制数字(见下面的表示); Cin =二进制数字
输出: S =八进制数字(见下面的表示); Cout =二进制数字
任务:使用二进制FAs,设计一个充当八进制FA的电路.更具体地说,该电路将输入两个八进制数字A,B,将它们转换为二进制数,仅使用二进制FAs加入它们,将二进制结果转换回八进制数,并将该和输出为八进制数字,并且二进制数字执行.
八进制数字的输入/输出二进制表示
每个八进制数字将使用以下8位二进制表示来表示:
八进制8位输入线:
数字: 0 1 2 3 4 5 6 7
0 1 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0
2 0 0 1 0 0 0 0 0
3 0 0 0 1 0 0 0 0
4 0 0 0 0 1 0 0 0
5 0 0 0 0 0 1 0 0 …
我对字大小的定义感到困惑.我读到处理器的字大小是它的数据总线宽度.像8位处理器一样有8位宽的数据总线.我最近读到虚拟地址空间的最大大小由字大小决定,即如果字大小是n位,则最大虚拟地址空间是2 ^ n -1.但我一直认为最大虚拟地址空间由地址总线宽度决定,即n位宽的地址总线可以寻址最大2 ^ n个字节.那么,这是真的吗?
此外,这与指针有关,因为n位数据总线只能携带n位地址.因此,可以通过指针访问最多2 ^ n个字节.
我想知道关于GPU的硬件架构的所有内容,除了GPU编程,我在互联网上的一切都没有,我需要基本的硬件介绍,如ALU,内存管理......还有谁可以向我介绍一些优秀的书或类似的东西?提前致谢 .
我想了解ISR(中断服务程序)和函数调用之间的区别.
从硬件的角度来看,我觉得函数调用和ISR都是一样的.如果我错了,请纠正我.我所能找到的有关ISR和函数调用的内容如下:
ISR:
在程序执行期间可能发生的异步事件
将PC,标志和寄存器保存在堆栈中并禁用所有中断并加载ISR的地址
ISR不能有可传递给它的参数
功能:
在有函数调用时发生
将PC和寄存器保存在堆栈中
可以有参数
可以返回值
对执行的大小和持续时间没有限制
除此之外还有什么区别吗?请告诉我.我还读过关于从ISR进行函数调用的方法.请突出显示它.
embedded operating-system function-calls computer-architecture isr
我知道x86意味着一个32位的计算机/操作系统,但这是什么86意思呢?不应该是x32吗?
另外,i386,i586,i686,i986是什么意思?
今天我和我的教授在并行编程课上有了不同的理解,关于什么是"虚假共享".我的教授所说的没什么意义,所以我立即指出了.她认为"虚假分享"会导致程序结果出错.
我说,"错误共享"发生在将不同的内存地址分配给同一个缓存行时,将数据写入其中一个会导致另一个被踢出缓存.如果处理器在两个错误共享地址之间写入转向和转向,则它们都不能停留在高速缓存上,因此所有操作都将导致DRAM的访问.
到目前为止,这是我的意见.事实上,我不确定我说的是什么......如果我有误解,请指出.
所以有一些问题.假设缓存为64字节对齐,4路组关联.
parallel-processing optimization caching computer-architecture false-sharing
我对linux内核和MMU之间的关系有疑问.我现在明确指出Linux内核管理虚拟内存地址和物理内存地址之间的页表.同时在x86架构中有MMU,它管理虚拟内存地址和物理内存地址之间的页表.如果MMU出现在CPU附近,内核是否还需要处理页表?
这个问题可能是愚蠢的,但另一个问题是,如果MMU负责内存空间,谁管理高内存和低内存?我相信内核将从MMU接收虚拟内存大小(4位,32位),然后内核将区分虚拟地址中的用户空间和内核空间.我对么?还是完全错了?
非常感谢提前!