编译原理【1】图灵机

2022/11/15 编译原理 共 870 字,约 3 分钟

概述

最早的计算机是英国数学家艾伦・麦席森・图灵为了便于计算而提出的图灵机。图灵机具备了读取-计算-输出的能力,可以说是最早CPU的模型。

图灵的基本思想是用机器来模拟人们用纸笔进行数学运算的过程,他把这样的过程看作下列两种简单的动作:

  1. 在纸上写上或擦除某个符号;
  2. 把注意力从纸的一个位置移动到另一个位置。

而在每个阶段,人要决定下一步的动作,依赖于 (1) 此人当前所关注的纸上某个位置的符号和(2) 此人当前思维的状态

图灵机的构造

图灵机由四部分组成:

组件说明
一条无限长的纸带TAPE纸带被划分为一个接一个的小格子,每个格子上包含一个来自有限字母表的符号,字母表中有一个特殊的符号{\displaystyle \square }表示空白。纸带上的格子从左到右依次被编号为0, 1, 2, …,纸带的右端可以无限伸展。
一个读写头HEAD它可以在纸带上左右移动,能读出当前所指的格子上的符号,并能改变它。
一套控制规则TABLE它根据当前机器所处的状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作,并改变状态寄存器的值,令机器进入一个新的状态。
一个状态寄存器(存储单元)它用来保存图灵机当前所处的状态。图灵机的所有可能状态的数目是有限的,并且有一个特殊的状态,称为停机状态。

图灵机的工作原理

我们来看一下图灵机如何计算1+1这个表达式

TABLE说明

首先我们假设我们的图灵机TABLE如下:

符号规则
+<ol><li>将存储单元的数据进行加法运算</li><li>将结果写入到存储单元</li><li>移动读写头到下一个格子</li><li> 读取存储单元的结果并写入纸带</li><li>将读写头移动到下一个格子</li></ol>
数字<ol><li>将数字存储到存储单元</li><li>将读写头移动到下一个格子</li></ol>
……

原理图示

文档信息

Search

    Table of Contents