P2存储程序原理

 

  • 教学目标:理解典型程序在计算机硬件中工作过程 了解计算机基本的组成构件
  • 程序数据在硬件中的流动过程
  • 阅读书籍《Computer organization and Design》第一章第三节

存储程序思想

1945年冯-诺依曼提出存储程序思想 

例如:+ - = % 这些操作视为指令 程序用指令控制物理硬件 进行运算

程序是一个有序的指令集合  存储程序思想 程序和要处理的数据以二进制的形式放在存储器中 运算器执行指令 把数据从存储器取出,执行的结果再放入存储器中 这也为计算机自动计算打下了一个底子 也区别了计算机和计算器的不同

P2存储程序原理

 

运算器:对二进制数据进行算术运算和逻辑运算,由运算器和寄存器组成

存储器:存放数据 程序 和中间结果由记忆原件和电路组成

控制器:统一指挥和控制程序的运行,协调各个部件工作

输入设备:向计算机输入原始数据和规定的程序,讲信息转换为机器可以识别的(编码)

输出设备:把得到的结果01100110 转换为人能看懂的数据 方便使用

计算机本身只能处理数字化数据进行处理010101110110  

冯-诺依曼计算机特点

  • 采用二进制来表示机器指令和数据

计算机中有大量的电子元件 用电来表示两个基本状态很容易 通电断电 开机关机 状态很容易切换 也最稳定

二进制编码、计算和运算规则都比较简单用开关电路还实行方便 能通过逻辑店门实现算术运算

0表示false 1表示true 这让它不仅可以做算术运算还可以做逻辑运算

  • 硬件系统有 运算器、控制器、存储器、输入设备、和输出设备、五大部分组成

程序和数据先存放在存储器中,按照地址访问存储器的数据

操作时根据程序指令执行顺序,从存储器中取出指令或数据,由控制器解释执行 运算器完成运算 现在计算机还是这样运行的

计算机内部都有什么

个人计算机由主机和外设(键盘鼠标)组成  主机中包含多个电路板 主板 主板上面有很多集成电路 每个集成电路有若干个模块 模块里有成千上万的单元 每个单元里有若干个电路 每个电路实现基本的逻辑运算 传输的信息用二进制编码表示(计算机可真复杂)

P2存储程序原理

 

 处理器(Processor/cpu Central Processing Unit)

组成:控制单元+数据通路

控制单元(Control unit):对计算机发送过来的指令进行译码

数据通路(Datapath)

功能:完成指令的执行

核心:算术逻辑运算部件(ALU-Arithmetic Logic Unit)+ (Register)寄存器

ALU:用来执行算术 、逻辑运算

寄存器:数据的临时周转中心 处理完的数据暂时存在这里

GRS:存放操作数和中间结果

PC:存放下调要执行指令的地址

IR:存放当前指令

P2存储程序原理

 

 存储器相当于计算机中的仓库

功能:存储数据和程序

组成:层次化结构

分为两种 内存(Primary memory): Cache + Main memory

外存:磁盘(Magnetic disk):存放系统的软件和文档   光盘  闪存(flash)

Cache(高速缓存):存放最近使用的数据和指令 

闪存:非易失性存储器 突然断电数据也不会消失

   输入/输出系统(Input /Output - I/O) I/O系统 硬件系统

I/O Controller(I/O)控制器

作用:控制外设工作,完成主机和外设之间的交流 

输入/输出信息 

 包括:Monitor printer keyboard mouse ......

bus(总线)

  • 作用:用于各个部件之间的连接

unix操作系统启动程序hello的过程 shell:命令解释器

shell程序:读取hello程序 hello程序放到寄存器中然后存到主存 这时会等待用户执行下个命令 (???)

确定后 shell根据字符串中的hello找到hello.exe执行程序 执行hello world 从磁盘读入主存 这时cpu就可以从hello world 代码执行 (cpu不能执行磁盘上的程序)

必须先把磁盘上的程序调入到主存中 cpu才能开始从程序执行 hello程序将 hello.world的字节从主存送到寄存器中 通过寄存器输出到显示屏中 

操作系统基本作用

防止:不好程序乱用 :只申请内存却不释放内存导致内存溢出(应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。此时程序就运行不了,系统会提示内存溢出)

基本的操作界面:用户在使用的过程中不用担心键盘 cpu相互之间怎么操作 只需要做自己想做的事即可

操作系统抽象概念

进程:对每一个正在运行的程序的抽象 只要运行了就会在任务管理器中出现

虚拟存储器:每个进程都是一致的存储器 --虚拟地址空间 0x001 ..... 编程的时候不用担心地址往哪里送这些操作系统会处理 从0开始编址一致的虚拟空间

I/O设备抽象:文件是对I/O设备的抽象 磁盘用文件来管理磁盘 比如说:d磁盘存放了哪些应用 app 这些都是用一个个程序 或文件组成 系统中的I/O都是通过os提供系统函数(printf)调用来访问文件

上下文切换过程

把现在正在运行的进程换下来 上另外一个以Linux为例子 现在在执行ping baidu.com 切换执行另外一个命令mkdir /dvd/ 此时 ping baidu.com 被保存在任务自己的堆栈中 然后创建 mkdir /dvd/ 进程 

数据的流动做什么操作都是靠cpu执行的 所以说cpu是电脑的大脑 

 

上一篇:Python reportlab table 设置cellstyle枚举,设置单元格padding


下一篇:基于51单片机的智能抽奖系统控制设计