lesson7 软件和硬件

来源:互联网 发布:oauth2.0 java 编辑:程序博客网 时间:2024/04/29 12:00


软件 

源代码生成的可执行的文件。

电脑如果没有软件就仅仅是一个盒子。

  源代码通过编译器形成汇编,运行时会被加载进内存,内存的读写速度更快,cpu只能从内存取数据。程序是由CPU进行控制执行的。源代码生成的机器码告诉cpu应该怎么执行,cpu只是从上往下依次执行,根据程序计数器一步一步完成操作。 软件控制硬件执行。所有的指令会通过操作系统翻译,由操作系统进行硬件的操作。


windows如何操作硬件

所有的硬件通过电流进行交互通信等,汇编指令中有两句指令inout 专门和硬件交互沟通。


in 寄存器名    端口号

out   端口号     寄存器名

 使用端口号区分硬件。硬件冲突是端口冲突,两个硬件定义了同样的端口。

   有很多硬件,中断保证这些硬件应该是同时工作的。每一个io控制器有个IRQ,发送中断请求。

如果总是中断一个硬件,它会忙不过来。cpu加上了中断控制器,记录所有的中断,同时处理多个中断。轮循机制。


cpu处理中断

DMA:不需要通过CPU ,直接将磁盘的数据存储到内存。磁盘和内存交互是不需要通过cpu的

VRAM:主要负责显示,平时只需要往这块区域写入东西,就可以显示出来。vrm是内存中划出来的一块区域。


   现在发展出现了显卡,显卡当中都有显存和GPU。  芯片集成好了显存,只需要往里面写,不需要写进内存。里面加一个图形芯片,进行自己的所有运行的东西。

显卡可以进行自己计算,不浪费cpu和内存。


  应用程序会写一些逻辑代码,交给windows(使用in 和out)给硬件进行通信,硬件很多的时候,会通过中断和轮循的机制,cpu能够匀速,快速的处理每一个硬件中的东西。


智能

程序会通过一系列机制,最后成为应用程序。电脑就是电子元件组成的电路而进行机器化运作。电脑通过程序进行思考。


猜拳游戏

电脑 : 

一直出石头

随机出石头剪刀布(看起来像在思考)

通过学习智能出拳


通过记忆来完成这个程序,电脑是能够存储值的。 比如10把为一个周期,第一次10把 随机产生;第二次10把,分析出你什么出得最多(例如石头),就多随机出赢你的那个(布)。 计算机就能学习了。


分析通过计算概率来实现。

调整随机概率通过调整石头剪子布随机数的范围。


升级:通过计算玩家出石头赢了后出什么的,和输了之后出什么的概率,来对随机进行调整。

0 0
原创粉丝点击