代码之家  ›  专栏  ›  技术社区  ›  Reunanen

PIC18 ISA中的部门是如何处理的

  •  1
  • Reunanen  · 技术社区  · 6 年前

    Converting to ASCII in C ,我想知道在PIC18X上如何处理分区。

    如果我执行DIV操作,编译器会将其解释为多少条指令?

    作为一个不太重要的附带问题:什么是第一个CPU包括专用的部门硬件?

    3 回复  |  直到 8 年前
        1
  •  1
  •   old_timer    14 年前

    不管怎样,8086是有分歧的。8085似乎没有。但是ENIAC做到了,它的平方根出现了。现在这个alu算是一个CPU来满足您的“第一个带除法的CPU”需求吗?早于ENIAC的机械机器也可以分裂。PDP-11似乎没有。在z80/8080上看不到,在6502上看不到。6800不,但68000是的。8051是的,8031。一些老的,65028088/86,我特别知道,有BCD数学。因此,不是用二进制进行数学运算,然后尝试用一系列除以10的运算来输入人类十进制ascii格式,而是从一开始就用bcd进行数学运算,然后更多的是转换为不带大写字母的十六进制,右移4,用0xF加0x30,用0xF加0x30,重复。

        2
  •  1
  •   fseto    14 年前

    通常情况下,DIV操作的周期数会有所不同(数据表通常提供最大周期)。体面的编译器并不真正关心指令需要多少周期,而是做各种优化(即2的幂除作为移位处理)。

    你可能想退房 this website 用于PIC的各种程序。

        3
  •  1
  •   GJ.    14 年前

    取决于可变长度。 查看微芯片网页: AN614

    从AN614。。。

            Clocks
    FXD3232S 630 32 bit/32 bit -> 32.32 signed fixed point divide
    FXD3232U 683 32 bit/32 bit -> 32.32 unsigned fixed point divide
    FXD3231U 588 32 bit/31 bit -> 32.31 unsigned fixed point divide
    FXD3131U 579 31 bit/31 bit -> 31.31 unsigned fixed point divide
    FXD3224S 529 32 bit/24 bit -> 32.24 signed fixed point divide
    FXD3224U 584 32 bit/24 bit -> 32.24 unsigned fixed point divide
    FXD3223U 489 32 bit/23 bit -> 32.23 unsigned fixed point divide
    FXD3123U 481 31 bit/23 bit -> 31.23 unsigned fixed point divide
    

    所以对于32位/32位需要630个CPU周期。