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

微处理器:存储程序计算的演进

计算机早期,Alan Turing 和 John von Neumann 等先驱认识到真正有用的机器必须不仅执行命令列表——还必须能在同一存储池中存储、检索、修改数据。此洞察催生存储程序计算机概念。

图灵理论机依赖顺序访问磁带存放程序指令和数据。控制电路读磁带、执行操作、将结果写回磁带或移动磁带读新数据。现代系统用随机访问存储器(RAM)替代磁带,以更高速度和灵活性达成同一目的。

早期自动机床控制提供有用类比。开环或数控(NC)系统按纸带编码指令引导车床或铣床。机器盲目跟随纸带,不知工件状态。

因设备“盲目”于环境,无法补偿金属膨胀或刀具磨损等变化。程序员还须预判所有可能指令序列,因纸带只读且机器无内部存储跟踪状态。

升级为有限状态机 (FSM) 给工具初步记忆:反馈部分数据位到地址逻辑,系统可记住“冷却液开”、“刀具就位”等简单状态。仍不足真正灵活。

突破来自闭环数控 (CNC),程序可写新数据到可写存储器 (RAM)。控制系统随之记录已做操作并适应传感器检测变化——如机工在便签记笔记供后续参考。

计算机科学家长期梦想机器能修改自身代码,镜像人脑经验强化突触。为使自修改程序可行,可执行代码必须驻留在同一存储数据的可写存储器中——这一概念仍处研究前沿。

多数软件仍遵循固定指令序列,仅修改单独数据字段。真正支持存储程序模型,需不止 FSM;还需读写存储器、数据处理单元、复杂控制器。

读写存储器由静态或动态 RAM 芯片提供——廉价快速。逻辑运算由算术逻辑单元 (ALU) 处理,执行算术和布尔函数。

控制单元协调存储器、ALU、外部设备间数据移动。用三态缓冲器在总线路由数据,用解码逻辑将二进制指令码翻译为动作。

示例指令:“将地址 0010 值加到地址 1101 值”,或“计算地址 0111 字节奇偶校验”。二进制码到操作映射任意,类似早期 ASCII 标准,但指令集通常厂商专有。

读写存储器、ALU、控制单元集成——常在单芯片上——形成处理器。极少外部存储器的处理器称微处理器;配总线控制电路称中央处理单元 (CPU)。

CPU 运行封装于取指/执行周期。程序计数器持有下一指令地址。控制单元读该地址到存储器地址总线,从 RAM 取指令,存入临时寄存器。

指令需操作数时,控制单元发起额外存储器访问,路由取得数据到 ALU 寄存器。ALU 执行请求操作,结果置入累加器。最后程序计数器增 1,循环重复。

 

微处理器 (CPU)

--------------------------------------
| ** Program counter ** |
| (increments address value sent to |
| external memory chip(s) to fetch |
| the next instruction) |==========> Address bus
| (to RAM memory) |
--------------------------------------
| ** Control Unit ** |<=========> Control Bus
| (decodes instructions read from |
| program in memory, enables flow |
| of data to and from ALU, internal |
| registers, and external devices) | (to all devices sharing
| address and/or data busses; |
| arbitrates all bus communi- |
| cations) |
--------------------------------------
| ** Arithmetic Logic Unit (ALU) ** |
| (performs all mathematical |
| calculations and Boolean |
| functions) |
--------------------------------------
| ** Registers ** |
| (small read/write memories for |
| holding instruction codes, |
| error codes, ALU data, etc; |
| includes the "accumulator") |<=========> Data Bus
| (from RAM memory and other |
| external devices) |
--------------------------------------

 

即使最简单操作也需许多微步骤。复杂算术如求幂涉及基本函数重复迭代。考虑飞行模拟器图形引擎每帧刷新显示须执行成千上万周期。

取指/执行周期极高速度使此可行。某些设计在内部 ROM 嵌入小程序——称微代码。微代码处理复杂操作子步骤,允许程序员发单条高层指令而非写尽细节。

于是处理器包含处理器:程序内运行程序,简化开发同时保性能。

工业技术

  1. 理解网络协议:从物理层到高级仲裁
  2. 为什么数字存储器很重要
  3. 数字存储器基础:寻址、访问与易失性
  4. 理解 ROM、PROM、EPROM 与 EEPROM:设计、编程与识别
  5. 综合 Op-Amp 数据:National Semiconductor 与 CA3130 数据手册
  6. 数据驱动制造:解锁效率、成本节约与创新
  7. 最大化组织优势:将数据转化为战略洞察
  8. 工业物联网(IIoT)全景:定义、架构、价值与挑战
  9. C 语言数据类型完全指南:整型、浮点型、void 与派生类型
  10. C 语言联合体详解:多类型数据共享内存的高效管理
  11. C 语言动态内存管理:calloc、malloc 与 free 完全解析
  12. 精通Python数据类型:实战指南