看“李敖有话说”中关于读书方法的一些感想。阅读全文>
发表于 @ 2006年01月19日 17:52:00|评论(loading...)|举报|收藏
处理器体系结构---对流水线(PIPE)设计的感想
从SEQ到SEQ+,再到PIPE,直到最后一步才发现面临的困难与概念的转变有多大。
对于PIPE的设计,最大的困难之一就是面对数据冒险,只有对同一介质的不同时间的访问才会有产生冒险的前提。所以对于数据冒险来说只有寄存器才有可能成为冒险的对象,条件码与计数器还有存储器都不会发生这样的情况。
寄存器的数据冒险:可使用暂停与前递来解决。前递是个好办法,暂停会减少CPU的吞吐量,但暂停也不是一无用处,它可以与前递一起使用,来达到实现前递所要求的阶段(比如让一条指令暂停一个周期)。前递源一共有五个,最早的前递源是e_valE,然后是m_ValM,M_valE,W_valM,W_valE。与其它后面的指令的不同组合,会使用不同阶段的前递值。前递也有优先级,以上的顺序就是优先级之顺序。对于M_valE与m_valM的优先顺序我一直不知道存在的道理,不过对于popl %esp与rrmovl这样的组合这个优先的顺序能正确的反映出结果,因为对于popl %esp指令本身来说其访存的同一目的却有两个写的源。一个是valM,另一个是valE。其指令阅读全文>
发表于 @ 2006年01月19日 17:39:00|评论(loading...)|举报|收藏