您的位置:首页 > 理论基础

Poedu_计算机基础_lesson07_20160903_软件和硬件

2016-09-05 19:38 288 查看
软件:由源代码生成的可执行文件

=>软件的重要性:PC如果没有软件就仅仅是一个盒子,这个盒子里面放了一些IC而已

1.非常重要的一幅图:



2.我们没有写一句操作硬件的代码,那么硬件是由谁操作的?

=>我们平时只调用API
  =>加上windows层之后,硬件是车,windows是司机,我们是指挥司机的人
    =>我们的指令通过操作系统进行翻译,由操作系统进行硬件的操作
      =>应用软件经过操作系统的翻译,变成操作硬件的代码

3.windows如何与硬件打交道?

操作机制:硬件是IC的集合,汇编里有两句指令,in和out,使CPU和其他硬件进行交互

=>汇编指令:in 寄存器,端口号          从其它硬件读取信息到CPU
                     out 端口号,寄存器名     CPU写入指令到指定端口

=>端口号:显卡->属性->资源->I/O范围(端口号):电脑中有各种各样的硬件,我们要加以区分
  =>每个硬件的端口号都是不同的,是电脑中的唯一编号(端口号不唯一:XP中的硬件冲突:并不是硬件打架了,而是两个硬件定了一样的端口范围,CPU懵了,不知道谁是谁)

=>如何不冲突:分配的时候小心分配(现在是系统统一调配)(简单的端口冲突不会导致蓝屏)

4000

4.计算机中有很多的硬件,CPU处理不及时怎么办?
很多硬件应该同时工作 :打键盘的时候同时可以操作鼠标:怎么做到的?

=>中断机制(IRQ:发送中断请求的):暂停一下当前工作,执行另一个请求,但是不能一味的中断一个,怎么办?

=>中断控制器:同时处理多个中断,位于IO控制器和CPU之间,所有的IO控制器将请求发送至中断控制器,由中断控制器记录顺序,再由CPU处理

=>CPU的轮询机制:如果当前只有你一个请求,那么我只执行你的,如果有别的请求进来,我会轮流来进行处理
  =>不会错过:有中断控制器

5.CPU如何处理中断?
处理另一个中断前,保存当前状态(入栈),待会儿才能回来继续执行,不然会乱

6.如何与显卡通信

VRAM(vedio)(显存):平时只需要在这块区域写入东西,它就会在显示屏显示出来

=>DOS时期是在内存中划一段内存出来

=>现在是显卡,显卡里面有显存和GPU(可以自己进行计算),不用再使用RAM中的内存

7.每一个硬件的电流特征码都是不一样的,如何一致化呢?
IO控制器:存在于主板上,把不同的电流特征码翻译成统一的信号

8.小总结
应用程序写上逻辑代码,交由windows与硬件进行通信(使用in和out 交互),硬件很多,依靠中断和轮询的机制,可以快速的处理每个硬件的请求

9.电脑就是一些电路,进行机器化的运作,怎么进行智能思考的?==>通过程序进行进化
两种程序:1)工具类程序  2)能够思考的程序

=>怎么让程序思考(以猜拳游戏为例)

=>1)一直让机器出石头
=>2)随机出石头剪刀布
=>3)通过记忆完成这个程序

=>电脑是能够存储值

=>10把为一个周期
=>第一个10 随机  计算对手的概率  (比如50%的几率出石头)
=>第二个10 分析对手出什么赢最多 那么我就出克制的那个
=>分析对手的行为习惯,比如出什么之后,如果赢了会出什么,输了会出什么,数据多了之后,这个程序就会学习了

10.知识补充:1)决定程序怎么走的是汇编代码,而不是CPU

2)DMA:磁盘和内存的交互不需要通过CPU DMA就可以完成
3)应用软件无法直接操作硬件,被操作系统屏蔽了
4)link是为了使应用软件里的东西能够被windows操作系统理解
5)内存为什么能存储数据:存储电流信息

11.作业:复习两周所学
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: