说到计算机硬件编程,范围其实是很广的。其中有: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退出历史舞台就成了很自然的事情。

言至此,打住!有机会下回再跟大家探讨硬件的问题。。。

再论硬件编程,芯片级开发技术。相关推荐

  1. iMX8 Android Q 芯片级开发教程(1)

    iMX8 Android Q 芯片级开发 目前市场上很多开发板.核心板出售,但是实际上企业一般会使用官方资料进行开发,主要有以下几个原因: (1)考虑性价比,核心板成本较高: (2)企业重视知识产权, ...

  2. 激光雷达赛道“白刃战”?硅光芯片级FMCW技术进入量产周期

    芯片级封装.图像级分辨率.直接获取每个像素的瞬时速度,被视为激光雷达的下一个时代.去年,Mobileye宣布将自主研发硅光芯片+FMCW(调频连续波)技术路线,计划2025年量产. 如今,一家名为Ae ...

  3. java反射机制详解_JAVA反射机制详解_JSP/Java编程_互联网开发技术网_传播最新的编程技术_php361.com...

    今天,下午在和朋友聊天的时候,聊起了反射这个话题. 我们就从下面这个段简单的代码开始吧. 这个代码输出什么,想必大部分的读者跟我一样,会很快地知道答案:0 1 2 3 4 5 6 7 8 9.事实也是 ...

  4. 庖丁解牛:USB 驱动开发技术彻底解密

    我们知道如果开发工程师不懂RS232 肯定会让人笑话可以想象面向未来USB 接口无处不在 因此掌握USB 的原理固件编程及其驱动开发技术势必成为当务之急 USB 即插即用的优点和灵活性运用于各种电子产 ...

  5. c语言windows驱动编程入门,Windows驱动开发技术详解 PDF扫描版[175MB]

    Windows驱动开发技术详解由浅入深.循序渐进地介绍了windows驱动程序的开发方法与调试技巧.本书共分23章,内容涵盖了windows操作系统的基本原理.nt驱动程序与wdm驱动程序的构造.驱动 ...

  6. 《连线》揭秘:可再编程芯片是微软对未来的赌注

    可编程的芯片将主导未来的互联网世界,几大科技巨头都认识到这一点.微软也不例外,这家做了四十年软件的公司,也在向硬件进军,而FPGA成为了微软未来竞争的押注. 那是2012年12月的某一天,Doug B ...

  7. 单片机c语言编程教学大纲,9C语言单片机开发技术教学大纲(16学时)新.doc

    9C语言单片机开发技术教学大纲(16学时)新 <C语言单片机开发技术>课程教学大纲 课程代码:010142061 课程英文名称:Development technology of C la ...

  8. 我是如何指数级提升开发技术的?

    如何提升开发技术的方法很多,比如专注,刻苦,热情,兴趣等,不过我这里不会提这些,下面想说的是我觉得能够指数级提升的窍门和一些自己在求索路上的一些体会,也算是一个阶段性的总结吧. 窍门一,将代码放到 G ...

  9. 硬件安全技术——芯片安全设计技术2

    硬件安全技术--芯片安全设计技术2 芯片安全设计技术2 一.常见的公钥密码算法 1. 公钥密码概述 2.RSA密码算法 3. RSA算法描述 4. ECC椭圆曲线算法 二.常见的使用场景 1. 非对称 ...

  10. 传感器_芯片级传感器和功能芯片的使用和编程思路

    芯片级的传感器(如ICM-26090)和某些功能芯片(如DAC芯片:DAC81404),在编程使用时,往往会陷入一种迷茫的境地,有点恐惧.因为往往它的参考手册长的更一本书一样.主要原因时很多芯片为了兼 ...

最新文章

  1. ssh免密码登录的原理
  2. Spring Boot后端+Vue前端+微信小程序,完整的开源解决方案!
  3. 汇编语言位向量(位映射)
  4. 十大排序总结(js实现、稳定性、内外部排序区别、时间空间复杂度、冒泡、快速、直接选择、堆、直接插入、希尔、桶、基数、归并、计数排序)
  5. 《Photoshop混合模式深度剖析》目录—导读
  6. 为虚幻引擎4设置Visual Studio
  7. larvel nginx 配置
  8. hive中如何把13位转化为时间_【hive常用函数一】日期函数
  9. ahjesus 获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome
  10. Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)...
  11. sed,awk,grep学习笔记
  12. Puppet安装与配置简介(附视频教程)
  13. 【优化分配】基于matlab鱼群算法求解无线电功率分配优化问题【含Matlab源码 1523期】
  14. 制作世界人口地图json--10.4学习日记
  15. 中小企业筹资新法:应收账款也可质押融资
  16. matlab删除行向量里面相同的数据
  17. 富士康的二手iPhone生意再度遭遇危机
  18. mysql三国人物库_一文带你使用neo4j生成三国人物社交关系图
  19. 2022-2028全球与中国连续血糖监测系统市场现状及未来发展趋势
  20. listener.ora、sqlnet.ora、tnsnames.ora的作用

热门文章

  1. iOS使用otool反编译查看接库
  2. 产品需求分析工具和方法
  3. Navicat15注册时报错 rsa public key not find
  4. 用例图分析---学生成绩管理系统
  5. BLM战略规划的核心是业务模式创新
  6. 计算机创新课堂教案,1 1.1计算机概述1.2计算机系统课堂教学教案
  7. 《计算机网络 自顶向下方法》(第7版)答案(第二章)(一)
  8. css设置div圆角
  9. Java开发银行管理系统
  10. HASH加密算法:MD4、MD5、SHA1