-
软件如何控制硬件
- 时间:2024-11-23 08:54:24
大家好,今天Win10系统之家小编给大家分享「软件如何控制硬件」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!
体重日志:体重记录及体重控制助手,减肥打卡记录软件系列软件最新版本下载
1.软件是如何驱动硬件工作的
你的这个问题很复杂的,这个涉及到了程序设计语言原理。我想一般的人应该很难理解的吧,我大致的说下:计算机的两个主要组成部分是它内部的存储器及处理器。内部存储器被用来存储程序和数据,处理器则是一组电路,用来实现一系列的基本运算或机器指令,如进行算术运算和逻辑运算的指令。在大多数计算机中,有一些指令通常被称为宏指令,实际上这些指令时通过定义更低层次的指令(称为微指令)来实现的。因为微指令从来不在软件中显示,因此我也无法详尽的表达它的概念。 计算机的机器语言是一套指令。在没有其他支持软件的情况下,机器语言是大多数硬件计算机能够“理解”的唯一语言。理论上,也可以这样来设计和建造一台计算机,即可以使用一种特殊的高级语言作为它的机器语言作为它的机器语言。但这样建造的计算机会十分复杂非常昂贵。此外也会及不灵活,因为很难通过其他的高级语言来使用它。计算机设计中较现实的选择是,在其硬件上实现能够提供普遍需要的基本操作的较低层次的语言,而要求其系统软件生成使用其他高级语言编写程序的接口。 一种语言的实现系统并不是一台计算机上的唯一软件。它还需要一个称为操作系统的大程序集,这个程序集提供高于机器语言层次的基本操作。这些基本操作包括系统资源的管理、输入和输出操作、文件管理系统、程序编辑器,还包括其他各宗普遍需要的功能。因为语言的实现系统需要许多操作系统工具,所以实现系统是于操作系统接口,而不是直接与处理器打交道。 操作系统和语言实现系统被分层放置于计算机的机器语言接口上,可以将这些层次设想为虚拟计算机,这个计算机在高层次上给用户提供使用接口。例如:一个操作系统和一个c程序编译器就是一个虚拟的c计算机。借助于其他编译器,一个计算机能够变成其他类型的虚拟计算机。绝大多数的计算机系统都提供几种不同类型的虚拟计算机。用户程序在这个虚拟计算机的顶端层次上形成另一个层次。可以看下面的图 关于编译:实现程序设计语言的方法可以是三种一般方法中的任何一种。一个极端的方面是,可以将程序翻译成能够在计算机上直接运行的机器语言,这种方法称为编译器实现。这种方法的优越性事,一旦完成编译过程,程序执行速度非常快。大多数程序设计语言的实际实现都是借助于编译器的。被编译器翻译的语言称为源语言。编译的过程以及程序的执行跨越了介个阶段,如图: 后面还有很多,可能陈述不下了,但是可以大致的告诉你,程序的实现方法有三种,分为编译器实现、单纯解释实现、混合实现系统三类。 打字很累的,个人总结,不是网上那些瞎扯的,还要给你弄图,来分,谢谢
2.操作系统是如何控制硬件的?
操作系统大部分是用C语言编写的,只有其中一小部分(核心部分)是用汇编语言编写的,用汇编可能是有更高的执行效率。在操作系统加载进内存中运行的时候其实那些用C语言啊汇编语言编写的代码都是要转换成二进制代码的,也就是机器语言,其实任何软件都要转换成机器语言才能让计算机运行。二进制代码在机器里面其实使用电压的高低来表示的电压高代表1电压低代表0。
有了这些知识后你再来看你提问的问题,你说在操作系统执行关机命令的时候,软件是怎么控制硬件断电的,其实在你点击关机按钮的时候,就是给操作系统发了一个命令,在计算机内部的表示形式也就是在你的点击下,里面产生了一组高低电压(也可能是全高的电压,或者是全是低的电压,总之是一组电压),这一组电压会控制主机的运行状态,让主机知道了你给它发出的命令,然后它就会执行这个命令,而你就看到计算机关机了!
总之一句话,计算机里面运行的是高低电压,你所有的操作,还有计算机操作系统及应用软件的操作都是通过电压的高低来对硬件进行控制的。有关这方面的具体细节你可以参考一下计算机原理方面的书籍!
3.硬件和软件是如何连接的
计算机基本工作原理
计算机系统概述
计算机系统包括硬件系统和软件系统两大部分。计算机通过执行程序而 运行,计算 机工作时软硬件协同工作,二者缺一不可。
硬件(Hardware)是构成计算机的物理装置,是看得见、摸得着的一些实实在在的 有形实体。一个计算机硬件系统,从功能级角度而言包五大功能部件:运算 器、控制器、存储器、输入设备和输出设备。
硬件是计算机能够运行的物质基础,计算机的性能,如运算速度、存储容量、计算 精度、可靠性等,很大程度上取决于硬件的配置。只有硬件而没有任何软件支持的计算机称为裸机。在裸机上只能运行机器语言程 序,使用很不方便,效率也低。
软件(Software)是指使计算机运行需要的程序、数据和有关的技术文档资料。软 件是计算机的灵魂,是发挥计算机功能的关键。有了软件,人们可以不必过多地去了解 机器本身的结构与原理,可以方便灵活地使用计算机。软件屏蔽了下层的具体计算机硬件,形成一台抽象的逻辑计算机(也称虚拟机),它在用户和计算机(硬件)之间架起了桥梁。
软件通常分为系统软件和应用软件两大类。系统软件是计算机制造者提供的使用和 管理计算机的软件,它包括操作系统、语言处理系统、常用服务程序等。应用软件是计 算机用户用计算机及其提供的各种系统软件开发的解决各种实际问题的软件。
一、要求掌握的知识要点
(1) 掌握十进制数、二进制数、十六进制数、八进制数以及它们之间的相互转换方法。
(2) 掌握二进制数的算术运算及逻辑运算的法则,数据在计算机中的表示方法。
(3) 掌握BCD码、ASCII码及汉字编码的概念。
(4) 熟悉中央处理单元CPU的组成及内部主要部件的功能。
二、知识点概述
(一) 计算机中数据的表示
计算机最主要的功能是处理信息,如处理数值、文字、声音、图形和图像等。在计算机内部,各种信息都必须经过数字化编码后才能被传送、存储和处理,因此,掌握信息编码的概念与处理技术是至关重要的。所谓编码,就是采用少量的基本符号,选用一定的组合原则,以表示大量复杂、多样的信息。基本符号的种类和这些符号的组合规则是一切信息编码的两大要素。例如,用10个阿拉伯数码表示数字,用26个英文字母表示英文词汇等,都是编码的典型例子。
1.进位计数制
在采用进位计数的数字系统中,如果只用r个基本符号(例如,O,1,2,…,r一1)表示数值,则称其为基r数制(Radix-r Number System),r称为该数制的基(Radix)。对于不同的数制,它们的共同特点是:
·每一种数制都有固定的符号集。例如,对于十进制数制,其符号有10个:0,1,2,…,9;对于二进制数制,其符号有两个:O和1。
·都使用位置表示法。即处于不同位置的数符所代表的值不同,且与它所在位置的权值有关。例如,十进制数1234.55可表示为
1234.55 = 1×103 + 2×102 + 3×101 + 4×100 + 5×10-1 + 5×10-2
可以看出,各种进位计数制中的权的值恰好是基数的某次幂。因此,对任何一种进位计数制表示的数都可以写成按权展开的多项式之和,即任意一个r进制数N可表示为
式中:Di是该数制采用的基本数符;ri是权;r是基数,不同的基数表示不同的进制数。表1-1所示的是计算机中常用的几种进制数。
表1-1 计算机中常用的几种进制数的表示
进位制 二进制 八进制 十进制 十六进制
规则 逢二进一 逢八进一 逢十进一 逢十六进一
基数 r = 2 r = 8 r = 10 r = 16
数符 O,1 O,1,2,…,7 O,1,2,…,9 O,l,2,…,9,A,B,…,F
权 2i 8i 10i 16i
形式表示 B O D H
2.算术逻辑运算
(1) 二进制加法。二进制加法与十进制加法相类似,所不同的是,二进制加法的规则是“逢二进一”,即
O + 0 = 0 1 + 0 = 1 0 + 1 = 1 1 + 1 = 0 (有进位)
(2) 二进制减法。在二进制减法中,当不够减时需要借位,高位的1等于下一位的2,即“借一当二”,其运算法则如下:
0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 0 - 1 = 1 (有借位)
(3) 二进制乘法。二进制乘法与十进制乘法是一样的,但因为二进制数只由0和1构成,因此,二进制乘法更简单,其运算法则如下:
O×O = O 1×O = 0 O × 1 = 0 1 × 1 = 1
(4) 二进制除法。二进制除法是二进制乘法的逆运算,其运算方法与十进制除法是一样的。
(5) 二进制与运算又称逻辑乘,其运算法则如下:
O∧0 = O O∧1 = 0 1∧ O = 0 1∧1 = 1
(6) 二进制或又称逻辑加,其运算法则如下:
0∨O = 0 0∨1 = 1 1∨0 = 1 1∨1 = 1
(7) 二进制异或的运算法则如下:
O O = 0 0 1 = 1 1 0 = 1 1 1 = 0
3.机器数和码制
各种数据在计算机中表示的形式称为机器数,其特点是数的符号用O、1表示,如“0”表示正号,“1”表示负号,小数点则隐含表示而不占位置。机器数对应的实际数值称为该数的真值。
机器数有无符号数和带符号数两种。无符号数表示正数,在机器数中没有符号位。对于无符号数,若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点的位置在机器数的最高位之前,则是纯小数。对于带符号数,机器数的最高位是表示正、负的符号位,其余二进制位表示数值。若约定小数点的位置在机器数的最低数值位之后,则是纯整数;若约定小数点的位置在机器数的最高数值位之前(符号位之后),则是纯小数。
为了便于运算,带符号的机器数可采用原码、反码和补码等不同的编码方法,机器数的这些编码方法称为码制。
4.汉字编码
汉字处理包括汉字的编码输入、汉字的存储和汉字的输出等环节。也就是说计算机处理汉字,首先必须先将汉字代码化,即对汉字进行编码。
1) 输入码
(1) 数字编码。数字编码就是用数字串代表一个汉字的输入,常用的是国标区位码。国际区位码将国家标准局公布的6763个两级汉字分成94个区,每个区94位,实际上是把汉字表示成二维数组,区位和位码各两位十进制数字,因此,输入一个汉字需要按键四次。例如,“中”字位于第54区48位,区位码为5448:
(2) 拼音码。拼音码是以汉语读音为基础的输入方法。由于汉字同音字太多,输入重码率很高,因此,按拼音输入后还必须进行同音字选择,影响了输入速度。
(3) 字形编码。字形编码是以汉字的形状确定的编码。汉字总数虽多,但都是由一笔一划组成,全部汉字的部件和笔划是有限的,因此,把汉字的笔划部件用字母或数字进行编码,按笔划书写的顺序依次输入,就能表示一个汉字。五笔字形、表形码等便是这种编码法。五笔字形编码是最有影响的编码方法。
2) 内部码
汉字内部码(简称汉字内码)是汉字在设备或信息处理系统内部最基本的表达形式,是在设备和信息处理系统内部存储、处理、传输汉字用的代码。在西文计算机中,没有交换码和内码之分。汉字数量多。用一个字节无法区分,采用国家标准局GB2312-80中规定的汉字国标码,两个字节存放一个汉字的内码,每个字节的最高位置“1”,作为汉字机内码。由于两个字节各用7位,因此可表示16 384个可区别的机内码。以汉字“大”为例,国标码为3473H,两个字节的高位置“1”,得到的机内码为B4F3H。
为了统一地表示世界各国的文字,1993年国际标准化组织公布了“通用多八位编码字符集”的国际标准ISO/IEC 10646,简称UCS(Universal Code Set)。UCS包含了中、日、韩等国的文字,这一标准为包括汉字在内的各种正在使用的文字规定了统一的编码方案。
3) 字形码
汉字字形码是表示汉字字形的字模数据,通常用点阵、矢量函数等方式表示。用点阵表示字形时,汉字字形码指的就是这个汉字字形点阵的代码。字形码也称字模码,是用点阵表示的汉字字形码,它是汉字的输出方式。根据输出汉字的要求不同,点阵的多少也不同。简易型汉字为16×16点阵,高精度型汉字为24×24点阵、32×32点阵、48×48点阵等等。
(二) 中央处理机(CPU)
1.CPU的组成
前面已经提到,CPU主要由运算器、控制器组成。构成CPU的框图如图1-2所示。
1) 运算器
运算器是对数据进行加工处理的部件,它主要完成算术运算和逻辑运算,完成对数据的加工与处理。不同的计算机,运算器的结构也不同,但最基本的结构都是由算术/逻辑运算单元(ALU)、累加器(ACC)、寄存器组、多路转换器和数据总线等逻辑部件组成的。
2) 控制器
计算机能执行的基本操作叫做指令,一台计算机的所有指令组成指令系统。指令由操作码和地址码两部分组成,操作码指明操作的类型,地址码则指明操作数及运算结果存放的地址。
图1-2 CPU主要组成部件框图
控制器的主要功能是从内存中取出指令,并指出下一条指令在内存中的位置,将取出指令经指令寄存器送往指令译码器,经过对指令的分析发出相应的控制和定时信息,控制和协调计算机的各个部件有条不紊的工作,以完成指令所规定的操作。
控制器是由程序计数器(简称PC)、指令寄存器、指令译码器、状态条件寄存器、时序产生器、微操作信号发生器组成,如图1-3所示。
图1-3 控制器组成框图
(1) 程序计数器。当程序顺序执行时,每取出一条指令,PC内容自动增加一个值,指向下一条要取的指令。当程序出现转移时,则将转移地址送入PC,然后由PC指向新的程序地址。
(2) 指令寄存器(IR)。用于存放当前要执行的指令。
(3) 指令译码器(ID)。用于对现行指令进行分析,确定指令类型、指令所要完成的操作以及寻址方式。
(4) 时序产生器。用于产生时序脉冲和节拍电位去控制计算机有序的工作。
(5) 状态/条件寄存器。用于保存指令执行完成后产生的条件码。例如,运算是否有溢出,结果为正还是为负,是否有进位等。此外,状态/条件寄存器还保存中断和系统工作状态等信息。
(6) 微操作信号发生器。把指令提供的操作信号、时序产生器提供的时序信号以及由控制功能部件反馈的状态信号等综合成特定的操作序列,从而完成取指令的执行控制。
控制器一般由指令寄存器(IR)、程序计数器(PC)、时序部件、微操作形成部件和程序状态字寄存器(PSW)构成。控制器的作用是控制整个计算机的各个部件有条不紊地工作,它的基本功能就是从内存取指令和执行指令。
执行指令有取指令、指令译码、按指令操作码执行、形成下一条指令地址四个步骤。
2.CPU的功能
CPU的基本功能如下。
(1) 程序控制。CPU通过执行指令来控制程序的执行顺序,这是CPU的重要职能。
(2) 操作控制。一条指令功能的实现需要若干操作信号来完成,CPU产生每条指令的操作信号并将操作信号送往不同的部件,控制相应的部件按指令的功能要求进行操作。
(3) 时间控制。CPU对各种操作进行时间上的控制,这就是时间控制。CPU对每条指令整个的执行时间要进行严格控制。同时。指令执行过程中的操作信号的出现时间、持续时间及出现的时间顺序都需进行严格控制。
(4) 数据处理。CPU对数据以算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果为人们所利用。所以,对数据的加工处理是CPU最根本的任务。
必须指出,在计算机系统中,硬件和软件之间并没有一条明确的分界线。一般 来说,任何一个由软件完成的操作也可以直接由硬件来实现,而任何一个由硬件所执行 的指令也能够用软件来完成。软件和硬件之间的界线是经常变化的。今天的软件可能就是明天的硬件,反之亦然。
计算机硬件系统组成
从功能上来看,计算机的硬件系统由运算器、 控制器、存储器、输入设备和输出设备组成,五大部分由总线连接。 控制器和运算器合在一起被 称为中央处理器CPU(Central Processing Unit)。
计算机基本工作原理
冯·诺依曼原理
世界上第一台计算机基于冯·诺依曼原理,其基本思想是:存储程序与程序控制。存储程序是指人们必须事先把计算机的执行步骤序列(即程序)及运行中所需的数据,通过一定方式输入并存储在计算机的存储器中。程序控制是指计算机运行时能自动地逐一取出程序中一条条指令,加以分析并执行规定的操作。 到目前为止,尽管计算机发展了4代,但其基本工作原理仍然没有改变。 根据存储程序和程序控制的概念,在计算机运行过程中,实际上有两种信息在流动。一种是数据流,这包括原始数据和指令,它们在程序运行前已经预先送至主存中,而且都是以二进制形式编码的。在运行程序时数据被送往运算器参与运算,指令被送往控制器。另一种是控制信号,它是由控制器根据指令的内容发出的,指挥计算机各部件执行指令规定的各种操作或运算,并对执行流程进行控制。这里的指令必须为该计算机能直接理解和执行。
计算机指令与指令系统
指令是指计算机完成某个基本操作的命令。指令能被计算机硬件理解并执行。一条指令就是 计算机机器语言的一个语句,是程序设计的最小语言单位。
一台计算机所能执行的全部指令 的集合,称为这台计算机的指令系统。指令系统比较充分地说明了计算机对数据进行处理的 能力。不同种类的计算机,其指令系统的指令数目与格式也不同。指令系统越丰富完备,编 制程序就越方便灵活。指令系统是根据计算机使用要求设计的。
一条计算机指令是用一串二进制代码表示的,它通常应包括两方面的信息:操作码和地址码 。操作码用来表征该指令的操作特性和功能,即指出进行什么操作;地址码指出参与操作的 数据在存储器中的地址。一般情况下,参与操作的源数据或操作后的结果数据都在存储器中 ,通过地址可访问该地址中的内容,即得到操作数。
CPU访问存储器需要一定的时间,为了提高运算速度,有时也将参与运算的数据或中间结果 存放在CPU寄存器中或者直接存放在指令中。
计算机的全名应该叫“通用电子数字计算机”(General-Purpose Electronic Digital Computer)。这个名称说明了计算机的许多性质。
“通用”说明计算机不是一种专用设备,我们可以把它与电话做一个比较。电话只能作为一种通讯工具,别无他用。而计算机不仅可以作为计算根据,只要有合适的软件,它也可以作为通讯工具使用,还能有无穷无尽的其他用途。
“电子”是计算机硬件实现的物理基础,计算机是非常复杂的电子设备,计算机的运行最终都是通过电子电路中的电流、电位等实现的。
“数字”化是计算机一切处理工作的信息表示基础。在计算机里,一切信息都是采用数字化的形式表示的,无论它原本是什么。无论是数值、文字,还是图形、声音等等,在计算机里都统一到二进制的数字化表示上。数字化是计算机的一种基本特征,也是计算机通用性的一个重要基础。
“计算机”意味着这是一种能够做计算的机器。计算机能够完成的基本动作不过就是数的加减乘除一类非常简单的计算动作。但是,当它在程序的指挥下,以电子的速度,在一瞬间完成了数以万亿计的基本动作时,就可能完成了某种很重大的事情。我们在计算机的外部看到的是这些动作的综合效果。从这个意义上看,计算机本身并没有多少了不起的东西,唯一了不起的就是它能按照指挥行事,做得快。实际上,更了不起的东西是程序、是软件,每个程序或软件都是特殊的,针对面临的问题专门设计实现的东西。
目前对计算机的另一种流行称呼是“电脑”,这是从香港台湾转播开来的一个译名,目前使用很广泛。实际上这个名称并不合适,很容易把人的理解引到错误的方向(或许这正是一些人有意或无意的目标)。我们从来不把原始人用于打树上果子的木棍称为“木手”,也不把火车称为“铁脚”。因为无论是木棍还是火车,虽然各有其专门用途方面的力量,各有其“长处”,但它们都只能在人手脚功能中很窄的一个方面有用,与手脚功能的普适性是根本无法相提并论的。同样,计算机能帮助人完成的也仅仅是那些能够转化为计算问题的事项,与人脑的作用范围和能力相比,计算机的应用范围也是小巫见大巫了。
计算机的核心处理部件是CPU(Central Processing Unit,中央处理器)。目前各类计算机的CPU都是采用半导体集成电路技术制造的,它虽然不大,但其内部结构却极端复杂。CPU的基础材料是一块不到指甲盖大小的硅片,通过复杂的工艺,人们在这样的硅片上制造了数以百万、千万计的微小半导体元件。从功能看,CPU能够执行一组操作,例如取得一个数据,由一个或几个数据计算出另一个结果(如做加减乘除等),送出一个数据等。与每个动作相对应的是一条指令,CPU接收到一条指令就去做对应的动作。一系列的指令就形成了一个程序,可能使CPU完成一系列动作,从而完成一件复杂的工作。
在计算机诞生之时,指挥CPU完成工作的程序还放在计算机之外,通常表现为一叠打了孔的卡片。计算机在工作中自动地一张张读卡片,读一张就去完成一个动作。实际读卡片的事由一台读卡机完成(有趣的是,IBM就是制造读卡机起家的)。采用这种方式,计算机的工作速度必然要受到机械式读卡机的限制,不可能很快。
美国数学家冯·诺依曼最早看到问题的症结,据此提出了著名的“存储程序控制原理”,从而导致现代意义下的计算机诞生了。
计算机的中心部件,除了CPU之外,最主要是一个内部存储器。在计算机诞生之时,这个存储器只是为了保存正在被处理的数据,CPU在执行指令时到存储器里把有关的数据提取出来,再把计算得到的结果存回到存储器去。冯·诺依曼提出的新方案是:应该把程序也存储在存储器里,让CPU自己负责从存储器里提取指令,执行指令,循环式地执行这两个动作。这样,计算机在执行程序的过程中,就可以完全摆脱外界的拖累,以自己可能的速度(电子的速度)自动地运行。这种基本思想就是“存储程序控制原理”,按照这种原理构造出来的计算机就是“存储程序控制计算机”,也被称做“冯·诺依曼计算机”。
到目前为止,所有主流计算机都是这种计算机,这里讨论的都是这种计算机。(随着对计算过程和计算机研究的深化,人们也认识到冯·诺依曼计算机的一些缺点,开展了许多目的在于探索其他计算机模式的研究工作。但是到目前为止,这些工作的成果还远未达到制造出在性能、价格、通用性、自然易用等方面能够与冯·诺依曼计算机匹敌的信息处理设备的程度。这里我们就不打算进一步介绍这些方面的情况了。)
从CPU抽象动作的层次看,计算机的执行过程非常简单,是一个两步动作的简单循环(图1.5),称为CPU基本执行循环。CPU每次从存储器取出要求它执行的下一条指令,然后就按照这条指令,完成对应动作,循环往复,直到程序执行完毕(遇到一条要求CPU停止工作的指令),或者永无休止地工作下去。
CPU是一个绝对听话、服从指挥的服务生,它每时每刻都绝对按照命令行事,程序叫它做什么,它就做什么。CPU能完成的基本动作并不多,通常一个CPU能够执行的指令大约有几十种到一二百种。另一方面,实际社会各个领域里,社会生活的各个方面需要应用计算机情况则是千差万别、错综复杂。这样简单的计算机如何能应付如此缤纷繁杂的社会需求呢?答案实际上很简单:程序。通过不同指令的各种适当排列,人可以写出的程序数目是没有穷尽的。这就像英文字母只有26个,而用英文写的书信、文章、诗歌、剧作、小说却可以无穷地多一样。计算机从原理上看并不复杂,正是五彩缤纷的程序使计算机能够满足社会的无穷无尽的需求。
计算机的这种工作原理带来两方面的效果。一方面,计算机具有通用性,一种(或者不多的几种)计算机就能够满足整个社会的需求,这使得人们可以采用大工业生产的方式进行生产,提高生产效率,增强计算机性能,降低成本。这使得计算机变得越来越便宜,与此同时性能却越来越强。另一方面,通过运行不同的程序,不同的计算机,或者同一台计算机在不同的时刻可以表现为不同的专用信息处理机器,例如计算器、文字处理器、记事本、资料信息浏览检索机器、帐本处理机器、设计图版、游戏机等等。甚至同一台计算机在一个时刻同时表现为多种不同的信息处理机器(只要在这台计算机中同时运行着多个不同的程序)。正是这种通用性和专用性的完美统一,使得计算机成为人类走向信息时代过程中最锐利的一件武器。
我们说CPU并不复杂,这是从原理上讲的。而今天最先进的CPU又是极端复杂的东西,甚至可能是人类有史以来制造出的最复杂产品。产生这种情况的原因很多,这里列举其中最重要的两个:
第一,人们对CPU性能的要求越来越高,因为需要由计算机完成的工作越来越复杂(现实社会总是不断提出新问题,要求用计算机解决。一个复杂问题解决了,人们就看到了另一个更复杂的问题解决的希望,因而会去努力),完成一项工作需要执行的指令数越来越多。一个永远也不能克服的困难是,计算机执行指令需要时间(请读者记住计算机的这个本质性的缺点,这对于理解计算机是极端重要的)。虽然目前计算机执行指令的速度已经快得惊人(每秒钟可以执行数以亿计的指令),对于人希望用计算机解决的最复杂任务而言,CPU的速度将永远是太慢了。为提高CPU在实际计算中的速度,人们开发了许多巧妙技术,而实现这些技术就大大地增加CPU本身的复杂性。
第二,需要用计算机处理的数据的情况越来越多。早期的计算机主要是处理数值性数据,例如整数、实数(在计算机里用一种称为“浮点数”的方式表示),CPU也就只需要围绕与这些数据类型有关的计算过程,提供一批指令。随着计算机的发展,新的应用需求层出不穷。例如,当计算机被广泛用于图形图像声音信号的处理时,虽然从理论上说CPU可以不改变(原有指令足以完成工作,只要写出相应的程序),但人们也发现,增加一些新的特殊指令,对这些特殊数据形式的处理就能更有效。新指令的增加能大大提高CPU处理特殊数据形式的效率(有时是必须的,例如为了实时地处理高清晰度的三维动画),由此带来的一个副作用是使CPU变得更加复杂了。
过去人们常说计算机的发展经历了电子管、晶体管、集成电路和大规模集成电路四个阶段,也把以这些方式构造起来的计算机分别称为第一、二、三、四代计算机。今天回头再看,这种说法已经没有太大的意义了。制造计算机的器件变化并不是根本性的(虽然其意义不可低估,例如在降低成本、减小体积方面),这个变化过程不过是人们寻求合适方式制造计算机的一个短暂的摸索阶段,在大约二十年的时间里就已经完成了。从那以后,计算机的基本制造工艺再没有大的变化。而在另一方面,计算机发展史中其他的事件则更重要得多。例如:计算机的小型化和个人计算机的出现,计算机网络的出现和发展,计算机使用形式和出现形式的变化等等(这些都是在大规模集成电路的范围中完成的)。
今天,人们还一直在研究真正新型的计算机,作为与普通计算机具有根本性差异的另类信息处理工具,它们能够发明出来吗?将在什么时候出现?能够具有今天计算机这样的性能价格比、这样的通用性与专用性的完美统一吗?能够取代目前流行的这类电子数字计算机吗?我们正拭目以待。
参考资料:http://hi.baidu.com/word2008/blog/item/2d4e114f71dba834afc3ab3c.html
4.软件到底是怎样控制硬件的?
首先,硬件是由各种“门”组成,“门”是个术语,不懂没关系,可以把一个“门”看成是一个多米诺骨牌,它被推倒后能把下一张骨牌推倒。
看过多米诺骨牌视频的都知道,骨牌的巧妙摆放再配合各种机关的话,在推倒后是可以实现许多种功能的,比如演奏音乐,控制灯光甚至开动汽车啦等等。
假设在一个大房间里,已经摆放了这样一堆堆的多米诺骨牌,每一堆骨牌被推倒后,都能实现出特定的功能,但人是不能进来这个房间的,这些骨牌只能靠房间里的一个机械手来推倒。
然后,在房间外面,摆放着有限的几块骨牌,人可以按照不同的排列组合推倒这些骨牌,然后房间里面就会有个机械手按照人的想法来推倒不同的骨牌,实现各种功能。
但是,有时候,人想实现的功能太复杂了,光靠控制机械手推倒骨牌的话,要推倒成千上万块骨牌,太累,那么一种思路是:在房间里事先摆放更多,更复杂的骨牌,这叫增加硬件,但这样很不灵活,只能解决部分问题。
另一种思路是:人每次都临时控制机械手在房间里摆放新的骨牌,然后这些骨牌被推倒后,就可以一次性触发更多的骨牌被推倒。
但实际上房间里并没有新的骨牌,房间里已经摆放了一大堆专用的骨牌,然后机械手只是重新修改了这些骨牌摆放的位置而已。
这个房间,就是一台电脑,那些已经摆放好的骨牌,就是硬件,按照你的意愿推倒一张骨牌,造成连锁反应,实现你想要的功能,叫做控制,通过机械手重新摆放的骨牌,就是软件。那一堆控制机械手的多米诺骨牌,就是你的鼠标键盘。
控制原理解析:
程序本身就是高低电平的组合;它通过在CPU上执行来模拟各种决策过程;同时,计算机就是一堆开关;那么,通过指令向某些地址写出数据(访问特定地址是通过各种寻址机制/指令完成的,归根结底也可以说是通过开关切换,改变了电路拓扑),就等于开启/关闭了对应地址上的某个开关;这个开关可以是类似CPU内部那样的一组三极管,也可以是通向另外一个继电器的信号线——这个信号就促使继电器闭合,于是电机导通。
就好象人开汽车一样,神经发出的微不足道的电脉冲经过肌肉放大,影响了涉及数百甚至数千马力的能量洪流的发动机/变速箱的运转,然后汽车就开走了。
计算机也一样:它通过向控制特定地址上的开关输出0/1(高低电平),就可以通过事先准备的物理设施驱动诸如航模电机、舵机等等机构,这就完成了航模控制。
完整的控制回路甚至可以是:
航模上的传感器采集飞行姿态、地形、位置等等数据(最终转换成高低电平构成的信号)----信号通过某些端口送到CPU-----CPU执行程序,程序读取传感器发来的信号,决定下一步的行动-----经过程序的智能判断后,通过控制特定地址上的开关(前面提过,向这个地址发一组高低电平构成的数据就行了),驱动诸如航模电机、舵机等等机构,完成航模控制。
5.软件如何控制硬件,操作系统和驱动程序在其中起到什么作用?
软件如何控制硬件 软件在工作的时候也是实体,软件的实质就是电流信号,用电压的高低代表不同是信息,用这些电流信号去控制逻辑电路的通断,靠逻辑电路的通断来控制硬件的工作。
说到底软件就是起到一个开关信号的作用,开关要工作,必需保证硬件是加电的,没有接通电源的硬件是无法用软件来控制的。就好比没有插上电源的台灯,你怎么按开关都是不会亮的。
任何软件在运行前都要有一个将其转化为电流信号的实体化过程,你写在纸上的软件代码是永远也不能控制硬件的。早期电脑用人工接线输入程序,相当于用人体的力量将软件代码实体化为电信号;现在我们用的软盘、硬盘是通过磁头将程序代码转化为电信号,光盘需要通过光头将程序代码转化为电信号等等。 操作系统和驱动程序在其中起到什么作用? 操作系统:你进行的操作(例如QQ、音乐、视频、游戏等)都必须有操作系统的支持。所以说,操作系统是计算机里最接近计算机硬件的、最重要的软件!操作系统传统的定义是:操作系统是控制和管理计算机系统内各种硬件和软件资源、合理有效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到连接计算机和用户的接口作用。 驱动程序(Device Driver)全称为“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序,可以说相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。
正因为这个原因,驱动程序在系统中的所占的地位十分重要,一般当操作系统安装完毕后,首要的便是安装硬件设备的驱动程序。不过,大多数情况下,我们并不需要安装所有硬件设备的驱动程序,例如硬盘、显示器、光驱、键盘、鼠标等就不需要安装驱动程序,而显卡、声卡、扫描仪、摄像头、Modem等就需要安装驱动程序。另外,不同版本的操作系统对硬件设备的支持也是不同的,一般情况下版本越高所支持的硬件设备也越多,例如笔者使用了Windows XP,装好系统后一个驱动程序也不用安装。
以上就是关于「软件如何控制硬件」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~
【②文章*来自Win10系统之家!】
相关文章
-
1.win8系统怎么卸载软件?键盘操作:在Win8开始屏幕界面下按“Ctrl+Tab”组合键,进入Win8“应用”管理界面,可以看到所有已经安装的应用。触控屏操作:在Win8开始屏幕界面下用手指从屏幕下方向上划动,然后点击右下角的“所有...
-
1.怎样解决1920×1080win10应用程序字体模糊怎么办新安装了Windows10之后,发现Windows10里面的所有程序界面的字体是模糊的,看起来很不舒服,分辨率也是设置好了的,显卡驱动也装好了。Win10字体显示模糊的解决方法:工具...
-
1.如何控制自己易怒、急躁的情緒?如何控制自己易怒、急躁的情緒?....................................生活是首歌,我们自己本身就是一个音乐家,无时不在谱写自己,完善自己。要唱好这首歌,就看你怎么给它填词、谱曲。其实...
-
1.骑自行车如何快速掌握平衡一骑自行车主要是靠平衡和惯性支撑,开始学习的时候可以让人在后面扶,因此速度相对较慢,而骑的越慢越容易摔跤,这就是惯性原理。二骑车时两只脚都踩到踏板上。关键是在第二只脚踏上去的那一...