说到计算机硬件编程,范围其实是很广的。其中有:CPU编程,计算机外围设备的驱动程序编程,IC卡编程,计算机控制系统及机电一体化编程,等等。
作为传统的软件人士,我从软件的角度出发看硬件编程,最容易解释清楚的就是每个程序员的电脑机箱中那块小小的方形芯片,即CPU编程。好!我这篇文章就是要专门讲CPU编程。
软件程序员,如果不太懂或者根本就不懂CPU,也知道CPU的形状和大小,拿块CPU到他眼前,他肯定也会知道这是CPU,至于CPU的型号分不清,那是情有可原,因为CPU的厂商有三家,Intel,AMD,Cyrix。单就Intel公司的CPU而言,其CPU的型号和种类就多不胜数。好了,作为软件程序员,知道CPU是计算机中负责计算和处理的芯片就足够啦。但是,我这篇文章就是要讲讲软件开发中涉及不到的CPU芯片级开发技术。为普通的软件程序员普及一下硬件开发的知识。
CPU编程,一般人,甚至有部分程序员,都认为这很神秘,比较高大上,其实并没有那么复杂,如果得其开发的要领,CPU编程是比较简单的。
CPU的背面有很多引脚,几十上百个小引脚,小针,这是做什么用的呢?我认为,一个小针就是一个接口,一个端口。有的是接地的,有的是发送信号用的,有的是接收信号用的。还有的小针,接寄存器,接主板,接内存,不一而足。
CPU的构造,里面有累加器,运算器,控制器,等等。由于CPU的一个小运算器很微小,而集成的电路又是那么的多和复杂,一个现代的CPU可以集成上十亿个小晶体管,所以,运行起来,速度相当快。就奔腾4代的CPU而言,2.0GHz的CPU,相当于一秒运行20亿次,这理论上的20亿次运算,用人工算起来,可以是一个人几十上百年的运算量,实际上,20亿次每秒的运算量只是理论值,实际测试并没有那么多。在这暂且不论。
最后,我讲讲CPU的散热问题,单核CPU在达到3.0GHz以后,不能再集成更多的晶体管了,因为热度问题会使CPU产生故障,会烧坏CPU,这时,设计人员就借用巨型机上的技术,把微机的CPU也分成双核或四核或更多核,以分散热量的散发。在最开始最初级的时候,CPU根本没有散热发热的问题,也没有现在普遍存在的CPU风扇,现在即便有CPU风扇也不管用了,所以,单核CPU退出历史舞台就成了很自然的事情。
言至此,打住!有机会下回再跟大家探讨硬件的问题。。。