1.什么是硬件?
百度百科介绍"硬件(英文名Hardware)是计算机硬件的简称(中国大陆及香港用语,台湾作硬体),是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。"
也就是说硬件是物理层面的,至少是你能看得到摸得着的东西,它是一种物质载体,物质基础。广义来说人类都是生活在物质基础之上,你可以把所有你能看到的东西都统称为硬件。当然狭义来说,一般我们所说的软件和硬件指的是电子领域的。
软件代码也是人编写的,我们所熟知的语言比如C、C++等都是通过编译器翻译成汇编语言,然后汇编语言通过汇编器翻译成二进制机器语言,机器语言操控门电路完成相应的动作。个人觉得,没有硬件,软件就没有存在的意义,硬件是一切的基础,这里可以看出硬件设计是多重要。
但软件和硬件又有明显的区分,至少工作内容区别很大。按照行业内描述硬件属于底层(一般称为底层硬件),软件称为上层(软件又分为:底层驱动、上层业务以及应用层等)。如果非要举个例子来说明软件和硬件, 那最好的例子就是人,硬件指人的躯体,而软件指人的思维。
其实对于非电子领域的人,很难想明白计算机是怎么工作的,硬件是怎样工作的,软件是怎样工作的,即使你知道都是0和1,但你没做过相关工作,你发现不了其中的神奇之处。其实你只要知道,软件驱动硬件工作,驱动的激励是什么?是电讯号!硬件接收到的这个电讯号分为0和1,硬件的响应速度非常快,多快呢?举个例子,硬件中常用的串口波特率115200bit per second,一秒钟115200个0或者1,英语字母是8个bit(可在ASCII表看到,这在大学都学过),那就是一秒钟可打印14400个字母。你眨下眼睛一万多个字母就出来了。当然实际上并没有这么多,这只是个形象的例子。
但在电路设计上100kHz属于比较慢的速率了。再比如显示器一幅图的刷新频率在一秒钟24个以上,我们人眼就看不出来。24帧的数据是非常大的,比如1080p30格式输出,总的数据量是一秒钟1920*1080*12*30= 746496000个0或者1,也就是7亿个0或者1。
相关文章