欧几里得算法程序是如何控制电路工作的

Posted by WGrape的博客 on June 12, 2019

文章内容更新请以 WGrape GitHub博客 : 欧几里得算法程序是如何控制电路工作的 为准

前言

本文原创,著作权归WGrape所有,未经授权,严禁转载

目录

一、欧几里得算法

欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。计算公式为 gcd(a,b) = gcd(b,a mod b)

function gcd(a, b) {
    if (a % b == 0) {
        return b;
    }
    return gcd(b, a % b);
}

二、算法程序的执行

对源代码进行编译后,生成可执行程序。”双击“程序后,操作系统底层会把程序载入到内存中,实现程序的执行

三、理解电路的执行

程序在物理电路上的工作,可以类比为一个迷宫中的弹珠,弹珠会不断触发机关按钮。

image

  • 电路中既有数据的传输,也有信号的传输
  • 控制器负责按下按钮,根据指令序列来按下按钮
  • 物理电路好比是一个迷宫,弹珠在滚动的过程中,会不断的触发相应的按钮开关,来使整个程序运转下去
  • 物理电路上面是一个按钮一个按钮的按着在进行着,即永远把它比作迷宫和弹珠的关系就好,弹珠会不断的触发机关按钮
  • 不需要关心某一个时钟敲响时,到底是一个器件模块在工作,还是多个器件模块都在工作。因为这两种都能实现(就像弹珠能同时触发多地方的机关一样),它不是关注的重点 !应该重点关注触发器件模块工作的按钮 !因为只有按钮触发时,器件才会工作,和时钟没有关系。

四、算法程序对电路的控制

程序执行时,是如何实现对电路的控制呢?为了回答这个问题,可以查看下图,其中左侧是电路,右侧是程序

  • 电路包含数据通路和控制器两部分
  • 数据通路是任何数据和信号流通的路径
  • 控制器控制着数据通路的流通或关闭,由右侧的程序指令控制