0.3 “理想厨房”工作的重要特点
本节我们对前面涉及的重点知识做一个小结。
1.顺序性和周期性
顺序性:理想厨房每次都只能(取得和)执行一条指令,地址i中的一条指令执行完毕后,才能顺序执行地址i+1中的指令,除非刚刚执行的是一条跳转指令。
周期性:厨房管理员的工作完全是周期性的,即他永远在做(命令各部件)取指令→阅读分析指令→发出控制命令要求各部件执行指令(简称为 取指→译码→执行)这一周期性的动作。
只要一启动,理想厨房就永远按照这个工作流程一条一条地顺序取指令并且执行指令(如果遇到跳转指令,则跳转到指定地址去,继续取下一条指令),不停地、不知疲倦地快速运行着,直到执行了一条“停止运行”指令或发生严重故障为止。
2.有限和无限
有限:厨师能够执行的各种不同基本加工操作所构成的集合是固定有限的(炒、煎、蒸、煮、烤等几十种),厨房管理员能看懂的各种不同加工步骤所构成的集合也是固定有限的(从冰箱取物品、存物品到冰箱、厨师的各种不同加工方式、配菜员输入原材料到冰箱或厨房、传菜生输出菜肴给顾客等)。
无限:人们可以为理想厨房编写出的菜谱数量是无限的。因此,理想厨房可以炒出菜的品种总数也是没有限制的。
3.智者和白痴
理想厨房中的厨师和厨房管理员都是不知疲倦的、机械化的“白痴”,在厨师或厨房管理员的大脑中没有任何一道菜的全部加工步骤。加工制作各种菜肴的“智慧”都是来自于存放在自动冰箱中的菜谱,也就是来自于菜谱的编写者。正是由于人们编写出来的可以让理想厨房执行的各种各样的菜谱,才使得原本白痴般的、能力极为有限而速度却极快的理想厨房系统,在炒菜方面显得似乎无所不能!
4.两个中心
厨房管理员是执行指令的控制中心,厨师(加上炊具)是原材料的加工中心。
理想厨房系统的工作原理,到此已经全部介绍完毕。在下一章你将看到理想厨房的工作原理与计算机的工作原理是极为类似的。因此在本书中,从整体上把握计算机的基本工作原理,就成为一个比较轻松的名词替换的小游戏。
《C语言程序设计:问题与求解方法》——0.3节“理想厨房”工作的重要特点
时间: 2025-01-20 11:13:15
《C语言程序设计:问题与求解方法》——0.3节“理想厨房”工作的重要特点的相关文章
《C语言程序设计:问题与求解方法》——导读
目 录 第0章 "理想厨房"的工作原理0.1 理想厨房系统0.2 理想厨房系统的一个炒菜实例0.3 "理想厨房"工作的重要特点0.4 理想厨房系统与计算机系统术语对照表本章习题第1章 计算机的基本工作原理1.1 二进制简介1.2 计算机系统1.3 提高部分本章习题第2章 C语言程序结构和基本语法要素2.1 高级程序设计语言和编译程序简介2.2 C语言历史概述2.3 C语言源程序的主要构成成分:函数定义2.4 C语言源程序的次要组成成分:编译预处理命令.注释和声明2.
《C语言程序设计:问题与求解方法》——第0章“理想厨房”的工作原理
第0章 "理想厨房"的工作原理计算机从发明到现在不过70年左右的时间,然而计算机的发明.改进和普及,却彻底地变革了人类社会.计算机本身也变得越来越复杂.快速.小巧.种类繁多.目前,大多数计算机都遵循冯·诺伊曼体系结构,这为我们理解计算机的基本工作原理提供了方便.从某种角度来看,计算机就是一种人造智能生命.想要真正学会编程,通过编写的程序命令计算机工作,就必须懂得计算机的基本工作原理,就像人们要与某种具有智能的其他物种个体进行交流时必须对那个物种的习性有基本了解一样.本章和下一章是全书的
《C语言程序设计:问题与求解方法》——0.4节理想厨房系统与计算机系统术语对照表
0.4 理想厨房系统与计算机系统术语对照表下面给出两个系统之间的术语对照表,见表0-1. 表0-1中这些与计算机相关的术语将在下一章进行讲解.与在理想厨房系统上运行一个菜谱极为类似,在电子计算机上运行一个程序时,表0-1中列出的计算机的各个部件也会协同工作,完成程序给定的任务(参见下一章).学习了理想厨房这个例子,理解计算机基本工作原理就变得非常容易了.
《C语言程序设计:问题与求解方法》——0.1节理想厨房系统
0.1 理想厨房系统理想厨房系统是一个通过顺序执行菜谱中的各个加工步骤,把原材料加工成菜肴的系统.它由硬件和软件(菜谱)组成. 1)软件部分:菜谱是理想厨房系统中的一个无重量.无体积.不会损坏但可以经常更换的极为重要的"软件"部件.菜谱由一个个加工步骤顺序组成.每个加工步骤命令理想厨房系统完成一个基本操作(比如,炒.蒸.煮.输入一种原材料等).注意:为了简洁起见,在以下叙述中,我们经常把菜谱中的一个"加工步骤"称为一条"指令".因为一个加工步骤就
《C语言程序设计:问题与求解方法》——1.4节本章习题
本章习题一.判断题 C语言中,函数体必须用一对大括号括住,大括号不能省略. C语言中,函数首部不能以分号结束. C语言程序中一条语句或定义结束时的分号常常可以省略不写. 源程序中的注释在翻译成目标程序时会被编译程序忽略掉,所以写注释的意义不大,纯属浪费时间.二.连线题.不看术语对照表,请将两边的术语连线 冰箱格子的编号 内存的基本存储单元冰箱的一个格子 数据编写普通菜谱的人 状态寄存器特殊菜谱 输出设备加工步骤 用机器语言编程的程序员理想厨房 信息厨师及炒菜设备 输入设备厨房管理员 指令地址寄存
《C语言程序设计:问题与求解方法》——1.3节提高部分
1.3 提高部分 1.3.1 程序(指令序列)在硬件上的运行过程 任何一条指令的执行过程都可以分为以下三个阶段: 1)取指令阶段(类似于理想厨房通过三条传送带到冰箱中取一个加工步骤):控制单元负责根据PC寄存器中的值,通过三条总线的密切协作,从内存中取得一条指令,并将其保存到IR寄存器中:同时将PC寄存器中的原来值加上刚取到的这条指令的字节数,将结果重新存入PC寄存器-这是为顺序取得内存中的下一条指令做准备. 2)译码阶段:控制单元对取到IR寄存器中的指令进行译码. 3)执行阶段:控制单元根据译
《C语言程序设计:问题与求解方法》——1.2节计算机系统
1.2 计算机系统 定义:计算机系统是一个通过执行程序,把数据加工成信息的二进制数字信号处理设备. 对定义的解释: 1)程序:是由完成某一任务的很多条指令顺序组成的. 2)数据和信息: 一般认为"数据"是对某个事物(或状态)的原始记录,而"信息"则是通过对数据进行某种加工(比如计算.排序.查找.思考.分析.综合.解题等)而提取出来的正确结果. 对同一批数据,随着加工方式不同,一般可以得到多种不同的信息:对数据的加工提取方式不正确,会得到错误的信息. 数据和信息这两个
C++实现二叉树遍历序列的求解方法_C 语言
本文详细讲述了C++实现二叉树遍历序列的求解方法,对于数据结构与算法的学习有着很好的参考借鉴价值.具体分析如下: 一.由遍历序列构造二叉树 如上图所示为一个二叉树,可知它的遍历序列分别为: 先序遍历:ABDECFG 中序遍历:DBEAFCG 后序遍历:DEBFGCA 我们需要知道的是,由二叉树的先序序列和中序序列可以唯一地确定一棵二叉树:由
C语言学习教程第三章-C语言程序设计初步(1)
C语言程序设计 本课介绍C语言程序设计的基本方法和基本的程序语句.从程序流程的角度来看,程序可以分为三种基本结构, 即顺序结构.分支结构.循环结构. 这三种基本结构可以组成所有的各种复杂程序.C语言提供了多种语句来实现这些程序结构. 本章介绍这些基本语句及其应用,使读者对C程序有一个初步的认识, 为后面各章的学习打下基础. C程序的语句 C程序的执行部分是由语句组成的. 程序的功能也是由执行语句实现的.C语句可分为以下五类:1.表达式语句2.函数调用语句3.控制语句4.复合语句5.空语句 1.表