美文网首页
19、P1 W3 U3.4 计数器

19、P1 W3 U3.4 计数器

作者: shazizm | 来源:发表于2019-08-06 22:31 被阅读0次

    视频:
    如果本次课程对应的 Coursera 的视频打不开,可以点击下面链接
    P1W3U3.4 - Counters

    计数器

    在讲解 计数器 之前。先打个比方。

    例如有一个制作蛋糕的步骤,分几步完成。

    有一个机器人,执行完一步,就会看看计数器里存的第几个步骤,然后去执行相应的步骤。

    通常计数器 里存的就是下一步的数。每次计数器加一就好。

    有时候计数器也会重置到第0步,重复执行前几步命令。比如开始需要重复做3个蛋糕。再放入烤箱。

    有时候计数器要跳过执行。比如做好第2个蛋糕,烤箱已经准备就绪了,那就直接把计数器设置成第某步,开始放入蛋糕。

    上面基本就是 计数器 (PC = Program Counter)的工作方式了。

    电脑每次都执行上次计数器里存的指令地址。然后执行完。再去计数器里看下一条命令该执行谁。

    我们要设计的计数器,需要能会做三个动作:
    1、Reset 重置 (PC = 0)
    2、Next 下一个 (PC++)
    3、Goto 跳转 (PC = n)

    计数器的翻译并不好理解。PC(Program Counter)程序柜台(这里存着程序),更形象,就好像计算机执行完一条程序后,就去柜台问问,下一步该执行啥了,然后柜台告诉它下一步该执行啥。

    下面是本节一个作业:

    PC的示意图 上方 有三个输入。

    如果 reset[t] == 1 那么 PC 的 out[t+1] = 0 (out 重置到 0步)
    如果 reset[t] !== 1
    那么再判断
    如果 load[t] ==1 那么 PC 的 out[t+1] = in[t] (out 跳转到 in步)
    如果 load[t] !==1
    那么再判断
    如果 inc[t] == 1 那么 PC 的 out[t+1] = out[t] + 1 (out 下一步)
    如果以上都不是 那么 out[t+1] = out[t] (out 保持不变)

    作业

    下图 演示了用 硬件模拟器,加载内建的 PC.hdl
    然后演示了一下如何操作 PC

    注意判断优先级:reset 重置> load 跳转> inc 加一

    计数器的演示 从 6分20 到 10分15。

    本节不长,就介绍了一个 计数器,但就像NAND、ALU、DFF、PC这几个关键电路,在硬件物理实现上,都是至关重要的。

    下节课 就来把第三周的作业介绍一下。

    相关文章

      网友评论

          本文标题:19、P1 W3 U3.4 计数器

          本文链接:https://www.haomeiwen.com/subject/imegdctx.html