• 一步
    2019-06-02
    最后一个的展开电路图,没有看懂
     2
     19
  • 龙猫
    2019-05-27
    从加法到乘法,先是计算过程变得复杂了,步骤变得更多,可以像人一样,逐位计算,但线性带来时间复杂度高。从而可以考虑通过增加线路/硬件复杂度,从空间换时间的思路,加快乘法速度。
    空间 vs 时间。
    但CPU毕竟也是很珍贵的资源,晶体管也不宜太多,这中间需要相互平衡。

    作者回复: 总结得很好,其实这也可以认为是CISC和RISC的路线之争最朴素的由来

    
     10
  • 活的潇洒
    2019-05-27
    “这之间的权衡,其实就是计算机体系结构中的RISC和CISC的经典历史路线之争”
    这句才是重点,day14 笔记:https://www.cnblogs.com/luoahong/p/10929985.html

    作者回复: 👍

    
     6
  • WB
    2019-05-27
    最后一张图片中的加法器是一个与门和一个或门??
    加法器不是由一个与门和一个异或门组成的吗?

    作者回复: WB同学你好,


    最后一张图是表示如果我们不希望有太多的门延迟的情况下,我们怎么让加法器里面高位的是否获得进位,不用等待前面低位的全加器的计算结果。而不是一个完整的加法器。

    我们重新复习一下 13 和 14 两讲的内容
    完整的加法器可以由很多个全加器串联起来
    全加器由两个半加器外加一个或门组成

    半加器由一个与门和一个异或门组成

    半加器只是整个加法器中最基础的一个零件

    
     4
  • 木心
    2019-09-27
    4位加法器的最大门延迟是进位,是2*4+1 9个门延迟

    作者回复: 木心同学,
    你好,这是一个问题么?电路并行这部分我已经写了,可以做到没有那么多门延迟的。

     1
     1
  • DreamItPossible
    2019-08-14
    除法器算法实现描述:
    步骤1 从余数寄存器中减去除数寄存器中的值,将结果保存在除数寄存器中;
    步骤2 测试余数是否小于0
    如果余数小于0,则执行步骤2b;
    否则,执行步骤2a;
    步骤2a 将商寄存器左移,且最低位设置为1;
    步骤2b 将余数寄存器的值跟除数寄存器的值相加,结果存放在余数寄存器中;将商寄存器左移,最低位设置为0;
    步骤3 将除数寄存器右移1位
    步骤4 测试是否第N+1次执行
    如果是,则结束;否则,跳转到步骤1执行;
    展开
    
     1
  • 花仙子
    2019-07-03
    对于最后那个优化版本的加法器,我的理解是这样的:每一位都是又全加器组成,而每个全加器由两个半加器和一个或门电路组成,其中一个半加器是计算每个位相加的和进位信息无关,所以这个半加器在各个位上可以同时并行计算,同时计算后每个位会得出相加结果Y和进位信息U,Y与上一位的进位信息W0用另一个半加器相加后得到结果Z和进位信息V,Z为此位最终相加结果,U和V通过或门电路计算可得出最终进位信息W提供给下一位进行同样的计算。这样看来似乎第二个半加器和或门电路计算还是要依赖上一位同样的计算得出的进位信息,貌似这里无法并行。但是真的就此结束了吗?看老师给出的图我的理解是这样的:每一位的运算公式是这样的:W=U||V,Z=(Y+W0)1,V=(Y+W0)2,(请允许我这里用+表示半加器,后缀1表示半加器得到的相加结果,后缀2代表半加器得到的进位信息),而W0=U0||V0,所以有Z=(Y+(U0||V0))1,W=U||(Y+W0)2,这样以来即便是最高位也能得到一个基于各位第一个半加器计算结果的逻辑表达式,对于人类来解这个表达式似乎也没有优化效果,但是正如老师所说电路的天然并行行,我们将这个很长的表达式展开,硬件就可以并行计算很多小步骤,从而得到空间换时间的巨大效率提升。
    展开
    
     1
  • -W.LI-
    2019-06-16
    老师好!前面的意思大概看懂了,最后那个优化版本的加法器看不懂了。。。
    
     1
  • 愤怒的虾干
    2019-05-27
    老师好,最近在看您推荐的计算机组成公开课,x86保护模式下会使用全局符号描述表寻址,同时操作系统又是使用页表来分配地址、映射物理和逻辑地址。我想问全局符号描述表和页表在寻址上有什么区别与联系?

    作者回复: 全局符号表是虚拟内存内的内存寻址和跳转。
    页表是虚拟内存和物理内存之间的映射关系。

    
     1
  • Become a architect
    2019-12-18
    我想现在并发编程的思想起源于此吧。效率确实高了,但是编程的复杂度变高了。

    作者回复: Become a architect同学,

    你好,并发的思路是一个很直观的思路,并不是发源于乘法器,反而是乘法器设计的时候,可以去想想并发的思路。

    而且这里最后的乘法器,前后的计算其实有依赖关系,我们只是通过分析电路,让部分前后的计算依赖关系解耦合,通过一个更复杂的电路来实现。

    
    
  • 默默地付出
    2019-10-30
    一个全加器,其实就已经有了3T的延迟,为什么只考虑进位的3个门电路(2个与门和1个或门),半加器中的2个异或门为什么不要考虑?
    
    
  • 拯救地球好累
    2019-10-26
    ---总结---
    并行化:无论是硬件还是软件层面,并行化首先就是要确认号各个模块之间的依赖关系,找出可最大并行化的分组。

    ---问题---
    1. 请问下老师,移位的错开接线是如何做到的,乘法过程中会不断位移,那不是要一直重新连线?
    2. 门延迟明白了,时钟频率的问题指的是几个操作实际耗费的时间不同,从而导致一个时钟周期内短指令的空闲期长吗?
    3. 最后一张图的话,每一位在独立计算时,都需要同时获得前几位所得来的进位信息么?
    展开
    
    
  • J.D.
    2019-09-21
    “把结果加到刚才的结果上”,想起了编程语言里的 sum = sum + i 之类的语句。

    作者回复: J.D.同学,

    你好,是很像的

    
    
  • 小广
    2019-09-16
    徐老师你好,最后那个展开图,第二列的最下面一个运算组件,标注的表达式是"P3*P2*P1*P0*G0",但是我认为这里是笔误,应该是"P3*P2*P1*P0*C0",应该把G0改为C0,^_^

    作者回复: 小广同学,

    你好,谢谢你,的确是笔误了,应该是C0

    
    
  • 小先生
    2019-08-07
    不太明白老师最后说的“门电路逻辑进行完全展开“,能再详细解释一下吗?
    
    
  • Alery
    2019-07-26
    老师你好,根据最后一个图所示的电路,比如我计算一个 4 位整数最高位是否进位,如上展开门电路图所示,经过的门电路不是更多了吗?文中最后所说的“我们只需要 3T 的延迟就可以拿到是否进位的计算结果”这句话怎么理解呢?
    
    
  • 瀚海星尘
    2019-07-12
    有种觉得二进制很优雅的感觉~
    
    
  • 庄风
    2019-06-14
    老师,文中讲到“因为二位和四位都是 0,所以乘以被乘数都是 0,那么保留下来的都是 0000。乘数的八位是 1,我们仍然需要把被乘数1101 复制下来”。但按图上显示,被乘数13是1101,乘数9是1001。不知道是不是我思考不周,上文是否应该改为“因为二位和三位都是 0,所以乘以被乘数都是 0,那么保留下来的都是 0000。乘数的四位是 1,我们仍然需要把被乘数1101 复制下来”。
     1
    
  • LDxy
    2019-05-27
    大学数字电子技术课程里面也有相应的内容
    
    
  • 池小帅
    2019-05-27
    真棒
    
    
我们在线,来聊聊吧