亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

微处理器

Alan Turing 和 John Von Neumann 等早期计算机科学先驱假设,要使计算设备真正有用,它不仅必须能够按照程序指令生成特定输出,而且还必须能够写入数据记忆,并能够在以后对这些数据采取行动。

程序步骤和处理过的数据都驻留在一个公共内存“池”中,从而让位于存储程序计算机的标签 .图灵的理论机器使用顺序存取磁带,它会存储数据供控制电路读取,控制电路将数据重新写入磁带和/或将磁带移动到新位置以读取更多数据。

现代计算机使用随机存取存储设备而不是顺序存取磁带来完成基本相同的事情,只是功能更强。

一个有用的例子是早期的自动机床控制技术。称为开环 ,或者有时只是NC (数字控制),这些控制系统将按照编程为纸带孔的指令来指导机床(如车床或铣床)的运动。

磁带将通过一种“读取”机制向一个方向运行,机器将盲目地按照磁带上的说明进行操作,而不考虑任何其他条件。虽然这些设备消除了必须由人类机械师指导机床的每一个动作的负担,但其实用性有限。

由于机器对现实世界视而不见,只能按照磁带上写的说明进行操作,无法补偿金属膨胀或机构磨损等变化条件。

此外,磁带程序员必须敏锐地意识到机器程序中先前指令的顺序,以避免出现麻烦的情况(例如,在钻头仍插入工件的孔中时,告诉机床横向移动钻头),因为设备除了磁带本身没有其他内存,这是只读的。

从简单的磁带阅读器升级到有限状态控制设计为设备提供了一种内存,可用于跟踪它已经完成的操作(通过将一些数据位反馈到地址位),因此至少程序员可以决定让电路记住机床可能处于的“状态”(例如“冷却液开启”或刀具位置)。但是,仍有改进的余地。

最终的方法是让程序给出指令,其中包括将新数据写入读/写 (RAM) 存储器,程序可以轻松调用和处理这些数据。通过这种方式,控制系统可以记录它所做的事情,以及任何传感器可检测到的过程变化,就像人类机械师在便笺簿上记下笔记或测量结果以供将来在他或她的工作中参考一样。这就是所谓的 CNC,或闭环数控 .

工程师和计算机科学家期待构建可以修改自己的程序的数字设备的可能性,就像人脑根据环境经验调整神经间连接的强度一样(这就是为什么记忆保留会随着反复研究而提高,并通过相应的反馈来改变行为)。

只有当计算机的程序与数据存储在同一个可写内存“池”中时,这才是实用的。有趣的是,自修改程序的概念仍然被认为处于计算机科学的前沿。

大多数计算机编程依赖于相当固定的指令序列,单独的数据字段是唯一被改变的信息。

为了促进存储程序方法,我们需要一个比简单 FSM 复杂得多的设备,尽管许多相同的原则适用。首先,我们需要可以轻松访问的读/写内存:这很容易做到。

静态或动态 RAM 芯片可以很好地完成这项工作,而且价格低廉。其次,我们需要某种形式的逻辑来处理存储在内存中的数据。由于标准算术函数和布尔算术函数非常有用,我们可以使用算术逻辑单元 (ALU),例如之前探索的查找表 ROM 示例。

最后,我们需要一个设备来控制数据在内存、ALU 和外部世界之间的流动方式和位置。这个所谓的控制单元<​​/em> 是谜题中最神秘的部分,它由三态缓冲区(用于将数据导入和导出总线)和解码逻辑组成,后者将某些二进制代码解释为要执行的指令。

示例指令可能类似于:“将存储在内存地址 0010 的数字与存储在内存地址 1101 的数字相加”,或者“确定内存地址 0111 中数据的奇偶校验”。选择哪种二进制代码代表控制单元要解码的指令在很大程度上是任意的,就像在 ASCII 标准中选择使用哪种二进制代码来表示字母表中的字母一样。

然而,ASCII 现在是国际公认的标准,而控制单元指令代码几乎总是特定于制造商。

将这些组件(读/写存储器、ALU 和控制单元)放在一起,形成一个通常称为处理器的数字设备 .如果使用最少的内存,并且所有必需的组件都包含在单个集成电路中,则称为微处理器 .当与必要的总线控制支持电路结合时,它被称为中央处理单元 , 或 CPU。

CPU操作总结在所谓的fetch/execute cycle . 获取 表示从内存中读取指令供控制单元解码。 CPU 中的一个小的二进制计数器(称为程序计数器指令指针 ) 保存下一条指令存储在主内存中的地址值。

控制单元将此二进制地址值发送到主存储器的地址线,控制单元读取存储器的数据输出以发送到另一个保持寄存器。如果获取的指令需要从内存中读取更多数据(例如,将两个数字相加,我们必须从主内存或其他来源读取要相加的两个数字),则控制单元会适当地寻址请求的数据并将数据输出定向到 ALU 寄存器。

接下来,控制单元将通过向 ALU 发送信号来执行指令,以对这两个数字执行任何请求,并将结果定向到另一个称为 累加器的寄存器 .指令现在已经被“获取”和“执行”,因此控制单元现在增加程序计数器以步进下一条指令,并且循环重复。

 微处理器 (CPU) ------------------------------- | ** 程序计数器 ** | | (递增地址值发送到 | |要获取的外部存储芯片 |==========> 地址总线 |下一条指令) | (到 RAM 内存) ------------------------------- | ** 控制单元 ** |<==========> 控制总线 | (解码从 | 读取的指令(到所有设备共享 |程序在内存中,启用流程|地址和/或数据总线; |进出 ALU 的数据,内部 |仲裁所有总线通信 |寄存器和外部设备)|阳离子) ------------------------------- | ** 算术逻辑单元 (ALU) ** | | (执行所有数学运算 | |计算和布尔| |功能) | ------------------------------- | ** 寄存器 ** | | (用于 |<==========> 数据总线的小型读/写存储器 |持有指令代码,| (从 RAM 内存和其他 |错误代码、ALU 数据等; |外部设备) |包括“累加器”)| ------------------------------- 

人们可能会猜到,即使是执行简单的指令也是一个乏味的过程。控制单元需要几个步骤才能完成最简单的数学程序。

对于诸如指数这样的算术过程尤其如此,这些过程涉及更简单函数的重复执行(“迭代”)。试想一下,为了更新飞行模拟器游戏中图形显示的信息位,CPU 中需要执行大量的步骤!

使如此繁琐的过程变得可行的唯一原因是微处理器电路能够以极快的速度重复获取/执行周期。

在某些微处理器设计中,在设备内部的特殊 ROM 存储器中存储了最少的程序(称为微码 ) 处理执行更复杂的数学运算所需的所有子步骤。这样,只需从程序 RAM 中读取一条指令即可完成任务,并且程序员不必试图告诉微处理器每分钟如何做。本质上,它是处理器内部的处理器;在程序内部运行的程序。


工业技术

  1. 网络协议
  2. 为什么是数字化的?
  3. 数字记忆术语和概念
  4. 只读存储器 (ROM)
  5. 运算放大器数据
  6. Python 数据类型
  7. 数据驱动制造就在这里
  8. C - 数据类型
  9. C - 工会
  10. C - 内存管理
  11. 让您的数据发挥作用
  12. 什么是工业物联网?