8085编程模型-计算机工作过程及原理

Posted Linux bsping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8085编程模型-计算机工作过程及原理相关的知识,希望对你有一定的参考价值。

一、冯诺依曼思想

        1、由存储器、运算器、控制器、输入输出设备组成。

        2、数据和程序以二进制的形式存放在内存中,存放的位置由地址指定,地址码为二进制。

        3、控制器是根据存放在存储器中的指令序列,即程序来工作的,并由一个程序计数器控制指令的执行,控制器具有判断能力,能以计算结果为基础选择不同的工作流程。

二、计算机的工作过程

        1、指令和数据放入内存;

        2、数据放入CPU;

        3、CPU内数据处理;

        4、计算机对数据进行修正;

        5、将结果放入内存;

        6、工作停止;

CPU由运算器和控制器组成,不能存储数据与指令,所以需要存储器将要数据与指令存储起来,

三、计算器与计算机的区别

        计算器与计算机最大的区别就是计算机具有内存。何为计算器,计算数值的机器,直接由MPU与输入输出设备组成,将脑子里想要计算的值通过输入设备输入,计算器算出结果后在输出设备显示,并不存在从内存中取数据和计算完将数据放回内存的动作,并且想要执行一段重复的计算,需要人一直通过输入设备进行操作。而计算机具有内存,人们将要执行的数据即指令放入内存中,当计算器开始工作时人们只需要等待计算机得出的最终结果,MPU会根据指令来对数据进行计算,计算完后数据会一直保留在内存中,这就是计算器与计算机最大的区别。

四、计算机的抽象图

        计算机最高抽象层次图:

五、8085-8086编程模型图

       最上层是状态寄存器,下来依次是运算器、通用寄存器、程序计数器(还有DI,SI,SP等)、内存。根据计算机的工作过程来看这幅图就是ALU负责计算数据,通用寄存器负责为ALU的计算提供数据和指令,而数据和执行开始都存放在内存中,如何将数据和指令放到寄存器呢?这就需要PC程序计数器来指定数据和指令在内存中的地址了,由于PC是16位寄存器,所以可以访问的地址大小就为64k,将指令和数据拿到寄存器后ALU就可以进行计算了,计算后的状态就保留在了状态寄存器中,并且计算后的值寄存器也是不能保留的,需要计算机将寄存器里面的值放到内存中,如何把结果返回到内存中呢?这里又需要利用DI、SI、BX寄存器来将其放回内存了。这就是将CPU内部寄存器与计算机的工作过程联系起来的描述,过程都是在操作寄存器寻址,所以他们都是寄存器间接寻址。

六、内存中指令与数据的分布

        由于冯诺伊曼思想提出数据和指令都存放在内存中,所以抽象出下图:


 七、ARM7、Cortex M0、M3的编程模型

        与8085-8086的编程模型图差不多通用寄存器变为R0、R1等等,LR相当于PC的影子寄存器,这是在CPU发展中留下的一个没有改完全的问题。

        这是今天上课的心得,后面会继续与老师沟通,如果有错误或补充的地方会在评论补上。

以上是关于8085编程模型-计算机工作过程及原理的主要内容,如果未能解决你的问题,请参考以下文章

王道计算机组成原理笔记4 CPU及工作过程IO设备

整理计算机原理

计算机工作原理简介

cpu的基本结构及其工作原理

交换机工作原理及MAC表(超详细,秒懂)

W1-2-2现代计算机结构模型及工作原理