qq_43412960 2020-05-05 15:39 采纳率: 78.6%
浏览 140
已采纳

这是一个关于计算机组成原理的问题

计算机组成原理可以体现逻辑和物理分离。
我想了下怎么体现的,应该是逻辑程序可以跨平台,跨不同类型物理计算机。
在计算机组成原理里如何体现的呢?
应该是在指令中体现。指令是机器码分割后的结果。指令的下级是微指令,还是逻辑代码,没有接触到物理装置。体现逻辑和物理分离的应该是微指令和微指令之中的操作信号,因为操作信号控制着物理级的微操作嘛。对吧

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-05 19:35
    关注

    不知道你有没有听说一种叫做fpga的东西。
    传统来说,我们要造一个cpu,我们得画个电路图,比如说译码器、加法器,这些你数字电路课都学过,对吧。
    然后加法器,需要半加器、全加器,再细分,是一些and、or、not、xor门等等。
    这种设计cpu的方法,就是硬连线的方式。每一个电路,在设计之初就决定了它是干吗的。
    但是使用fpga,去做一个cpu怎么做呢。
    它有一个芯片,这个芯片上已经预先做好了一堆加法器、乘法器、甚至更高级的模块。
    这些模块彼此都相连。
    你要设计一个cpu,只要把不应该连接的线烧断,留下应该连接的线,这样就把芯片的功能装配起来了。
    在这种情况下,芯片具有了二次编程的能力。二次编程的逻辑和芯片本身模块的设计就脱钩了。

    打个比方,比如说活字印刷术。它把文字本身的物理性和文章的逻辑性分开了。
    做活字,并不关心活字这个字在上下文中的意思。
    排版,只要是这个字,无论哪一个,都可以放上去。

    再比如说,我们花了10天的时间,造了一座叫做火神山的医院。听上去很神奇,但是也可以说,我们花了10天的时间,从仓库里搬来并且拼装出一座医院。传统的医院,它的砖瓦门窗被造出来,就是医院的一部分。而那些预制的板房、箱房,这些物理的实体,具体最后做什么,在制造的时候不确定。我们先造好了放在仓库里。如果我们需要一个医院,它们很快就变成了医院。如果我们需要一个学校,它们也可以变成学校。医院和学校是上层逻辑,和具体的门窗这些物理构件是分离的。

    cpu采用微代码来设计,就是说把基本操作和它对外提供的指令集分开了。我们就可以很方便给一个cpu添加新的功能,而不必从头再来。你只要把微指令组合下,就可以设计出cpu指令了,这个过程不需要去考虑物理上的事情,而类似编程。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 Yolov5训练报错
  • ¥15 Unity发布gzip压缩的webgl之后让浏览器可以正常显示画面
  • ¥15 有没有人知道这种提示怎么关?现在不做ts项目了不知道咋关了,求解,现在我以前的js项目都是这种提示了
  • ¥15 为什么mysql做了碎片化处理data_free还是很高
  • ¥15 single positional indexer is out-of-bounds
  • ¥15 LSTM 模型数据量需要多少?
  • ¥15 mysql数据抓包开发报表
  • ¥15 linux系统下安装office打不开
  • ¥20 rsync脚本分发错误,文件不齐全
  • ¥15 labview顺序结构与时间延时