Assembly 水平微码与垂直微码的区别

Assembly 水平微码与垂直微码的区别,assembly,cpu-architecture,processor,instructions,Assembly,Cpu Architecture,Processor,Instructions,我知道什么是计算机体系结构和设计中的微代码指令,但我混淆了这两个术语。浏览了好几篇文章,但没有弄清楚 其中一些人说: 水平微代码:在这种类型的代码中,微代码包含控制信号,没有任何中介 垂直微代码:在垂直微代码的情况下,每个动作都以密度编码 这些术语超出了我的理解范围,希望能有一个更简单的解释。好吧,给大家一个很好的介绍 为简单起见,假设CPU数据路径中只有两个s,例如A和B。 每个多路复用器由4位控制 水平微码指令将包含MUX A和B的select值: 4-bit 4-bit

我知道什么是计算机体系结构和设计中的微代码指令,但我混淆了这两个术语。浏览了好几篇文章,但没有弄清楚

其中一些人说:

水平微代码:在这种类型的代码中,微代码包含控制信号,没有任何中介

垂直微代码:在垂直微代码的情况下,每个动作都以密度编码

这些术语超出了我的理解范围,希望能有一个更简单的解释。

好吧,给大家一个很好的介绍

为简单起见,假设CPU数据路径中只有两个s,例如A和B。
每个多路复用器由4位控制

水平微码指令将包含MUX A和B的select值:

     4-bit   4-bit
     ______ _______
    |  A   |   B   |
     ¯¯¯¯¯¯ ¯¯¯¯¯¯¯
       |       |
       |       |
    ___V_   ___V_
   |MUX A| |MUX B|
    ¯¯¯¯¯   ¯¯¯¯¯
指令中的位直接输入两个MUX的选择行

垂直微代码指令将使用一个解复用器,即“元解复用器”,用于选择要驱动的多路复用器

 1

 b
 i
 t  4-bit
 _ _______
|M|  SEL  |
 ¯ ¯¯¯¯¯¯¯
 |    | 4-bit DEMUX input
 |   _V_                          _______
 '->| D |  -- 4-bit output 0 --> | MUX A |
    | M |'                        ¯¯¯¯¯¯¯
    | U |.                        _______
    | X |  -- 4-bit output 1 --> | MUX B |
     ¯¯¯                          ¯¯¯¯¯¯¯
因此,在指令信号位和被驱动元件之间存在一个中间组合电路

您已经可以看到,垂直微码的指令更短,但传播时间更长。

好的,这是一个很好的介绍

为简单起见,假设CPU数据路径中只有两个s,例如A和B。
每个多路复用器由4位控制

水平微码指令将包含MUX A和B的select值:

     4-bit   4-bit
     ______ _______
    |  A   |   B   |
     ¯¯¯¯¯¯ ¯¯¯¯¯¯¯
       |       |
       |       |
    ___V_   ___V_
   |MUX A| |MUX B|
    ¯¯¯¯¯   ¯¯¯¯¯
指令中的位直接输入两个MUX的选择行

垂直微代码指令将使用一个解复用器,即“元解复用器”,用于选择要驱动的多路复用器

 1

 b
 i
 t  4-bit
 _ _______
|M|  SEL  |
 ¯ ¯¯¯¯¯¯¯
 |    | 4-bit DEMUX input
 |   _V_                          _______
 '->| D |  -- 4-bit output 0 --> | MUX A |
    | M |'                        ¯¯¯¯¯¯¯
    | U |.                        _______
    | X |  -- 4-bit output 1 --> | MUX B |
     ¯¯¯                          ¯¯¯¯¯¯¯
因此,在指令信号位和被驱动元件之间存在一个中间组合电路


你已经可以看到垂直微码的指令更短,但传播时间更长。

@AshishK没事,只是我发明的一个术语。这是一个不在数据路径中的DEMUX:)@MargaretBloom。比维基更好的解释!!。有一个问题,为什么会有人使用垂直?我看不出有任何赢家,当然ops更小,但你需要解码器,它会给芯片区域添加一些东西。@IsuruH水平微码不适用于管道,它一次驱动所有CPU控制线,不同的指令通过管道使用CPU的不同部分,因此,不同的控制线同时设置。垂直微码可以像普通指令一样在管道中处理,因为它们本质上是CPU执行的真正指令。@AshishK Nothing,只是我发明的一个术语。这是一个不在数据路径中的DEMUX:)@MargaretBloom。比维基更好的解释!!。有一个问题,为什么会有人使用垂直?我看不出有任何赢家,当然ops更小,但你需要解码器,它会给芯片区域添加一些东西。@IsuruH水平微码不适用于管道,它一次驱动所有CPU控制线,不同的指令通过管道使用CPU的不同部分,因此,不同的控制线同时设置。垂直微码可以像普通指令一样在管道中处理,因为它们本质上是CPU执行的真实指令。