计算概论与程序设计基础_计算机的基本原理_
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图灵机如何工作
图灵机的工作步骤:
1. 准备: (1)存储带上符号初始化; (2)控制器设置好自身当前状态; (3)读写头置于起始位置; (4)准备好工作程序; 2. 反复执行以下工作直到停机:
(1)读写头读出存储带上当前方格中 的字母/数字; (2)根据 自身当前状态 和 所读到的 字符,找到相应的程序语句; (3)根据 相应程序语句,做三个动作:
1111
111
当前状态:q1
q1 1 1 R q1 q1 b 1 R q2 q2 1 1 R q2 q2 b b L q3 q3 1 b H q3 q3 b b H q3
与当前状况匹配 的程序语句
图灵机开始工作:
(1)读写头读出存储带上当前方 格中的字母/数字;
(2)根据 自身当前状态 和 所读 到的字符,找到相应的程序语句;
与当前状况匹配 的程序语句
1111
111
当前状态:q1
q1 1 1 R q1 q1 b 1 R q2 q2 1 1 R q2 q2 b b L q3 q3 1 b H q3 q3 b b H q3
与当前状况匹配 的程序语句
11111111
当前状态:q2
q1 1 1 R q1 q1 b 1 R q2 q2 1 1 R q2 q2 b b L q3 q3 1 b H q3 q3 b b H q3
CPU
下集预告
计算机的过去、现在 和 未来
Thanks.
计算概论 第一讲 计算机的基本原理
计算机的理论模型——图灵机
从数学危机到图灵机 图灵机的基本构成 图灵机的运行机理
计算机为什么能计算?
数的二进制表示 二进制数的布尔运算
计算机的理论模型——图灵机
前节回顾
三次数学危机 图灵的贡献 提到了“图灵机”
与当前状况匹配 的程序语句
1111
111
当前状态:q1
q1 1 1 R q1 q1 b 1 R q2 q2 1 1 R q2 q2 b b L q3 q3 1 b H q3 q3 b b H q3
与当前状况匹配 的程序语句
1111
111
当前状态:q1
q1 1 1 R q1 q1 b 1 R q2 q2 1 1 R q2 q2 b b L q3 q3 1 b H q3 q3 b b H q3
1854年:布尔发表《思 维规律的研究——逻辑 与概率的数学理论基 础》,并综合其另一篇 文章《逻辑的数学分 析》,创立了一门全新 的学科-布尔代数;
为计算机的开关电路设 计提供了重要的数学方 法和理论基础。
计算机中数的逻辑运算方法
英国数学家布尔(G.Boole)
基本逻辑运算 与 或 非 复合逻辑运算 同或 异或 与非 或非 与或非
(3)根据 相应程序语句,做三个 动作:
① 在当前存储带方格上写入 数字“1”;
① 变更自身状态至新状态 “q1”;
② 读写头向”右”移一步;
1111
111
当前状态:q1
q1 1 1 R q1 q1 b 1 R q2 q2 1 1 R q2 q2 b b L q3 q3 1 b H q3 q3 b b H q3
1
1
10 1 1 0
加法的计算
举例:A=1101, B=1001, 求 A+B
A B
•
异或
•
本位
与
进位
1 +1 10
1 +1 10
1 +0 01
1 +0 01
1854年的布尔代数
an
半
bn
加 器
1101
半
sn
+1001
10 0 1
cn -1
加 器
或
10 1 1 0
Scn-1
cn
an---加数;bn---被加数;cn-1---低位的进位 sn---本位和;cn---进位
① 在当前存储带方格上写入一个相 应的字母/数字;
② 变更自身状态至新状态; ③ 读写头向左或向右移一步;
1111
111
当前状态:q1
q1 1 1 R q1 q1 b 1 R q2 q2 1 1 R q2 q2 b b L q3 q3 1 b H q3 q3 b b H q3
图灵机程序五元组:
<q, b, a, m, q’>
计算概论 第一讲 计算机的基本原理
计算机的理论模型——图灵机
从数学危机到图灵机 图灵机的基本构成 图灵机的运行机理
计算机为什么能计算?
数的二进制表示 二进制数的布尔运算
已解问题:数的表示 二进制. 待解问题:如何进行计算?
计算机中数的逻辑运算方法
英国数学家布尔(G.Boole)
布尔代数
本节内容
图灵机的构成 运作机理 示例 图灵机的意义
图灵机的构成
图灵机的组成 一条存储带
双向无限延长 上有一个个小方格 每个小方格可存储一个数字/
字母
一个控制器
可以存储当前自身的状态; 包含一个读写头,可以读、
写、更改存储带上每一格的 数字/字母 可以根据读到的字母/数字变 换自身的状态 可以沿着存储带一格一格地 左移/右移
q1 1 1 R q1
当
前 机 器 状 态
当
前 读 入 的 符 合
当
前 应 写 入 的 符 号
读
写 头 的 动 作
机
器 应 转 入 的 状 态
图灵机运行前的准备工作: (1)存储带上符号初始化;
当前字母表:{ 1,b } (2)设置好控制器当前状态;
控制器状态集合: { q1, q2, q3 }
控制器当前状态:q1 (3)读写头置于起始位置; (4)准备好工作程序;
计算机中数的逻辑运算方法
R
AB
F
E
逻辑函数表达式:F= AB
真值表
AB F 00 0 01 0 10 0 11 1
计算机中数的逻辑运算方法
A
R
B
F
百度文库
E
逻辑函数表达式:F= A+B
真值表
AB F 00 0 01 1 10 1 11 1
计算机中数的逻辑运算方法
R
E
A
F
逻辑函数表达式:F= A+B
真值表
AF 01 10
计算机中数的逻辑运算方法
异或
F=A B
两数相同为“0”
两数相异为“1”
同或
F=A B
两数相同为“1”
两数相异为“0”
真值表 AB F1 F2
00 0 1 01 1 0 10 1 0 11 0 1
加法的计算
举例:A=1101, B=1001, 求 A+B
1101
+
1
10
0
0
0
已解问题:数的表示 —— 二进制. 已解问题:计算方法 —— 布尔代数 待解问题:布尔运算如何实现?
1854年的布尔代数
异或门
与门
或门
小结
电路为什么能计算?
数字运算 可以转换 二进制数的运算; 二进制运算 可以转换为 基本的“布尔运算” ; 基本的“布尔运算” 都可以 由电路完成;
所以电路能“算数”!