硬件构架

 

硬件架构指的是计算机硬件的程序执行处理结构,软件程序的运行是建立在硬件架构的基础上的。

比如我们熟悉的intel系列处理器,就是属于x86架构,升级换代产品的部分仅仅是扩展了可用的部件的性能和字长(如从8位到16位再到32位到64位)可以兼容以前编写的程序(486也可以运行xp但是很慢),这个架构属于复杂指令集架构(CISC)。

还有一类属于精简指令集架构RISC ,是把复杂的指令分拆成多个可执行的跟小的元素程序来执行的,例如Apple(主要使用RISC的IBM生产的powerpc芯片,现在也有部分产品(Mac mini/MacBook Pro\Air)使用INTEL的CPU),IBM的powerpc,详见http://baike.baidu.com/view/23531.htm

无论是哪种架构,都是软件程序运行时候的硬件的处理单元的组合。

举个例子来说2个数相加,a放在某个寄存器,b放在另一个寄存器,结果放在第三个寄存器,就是在cpu内部完成寄存器1与寄存器2的相加运算,然后结果通过内部寄存器送出到寄存器3.中间连接不同寄存器的通道和寄存器及这个运转机制组成硬件架构。

所以最开始的人工语言---汇编语言的程序书写就是与某种特定架构处理器的寄存器位一一对应的,这样效率理论上是最高,而且实时控制能力很强,直至目前,许多工控机仍然是采用汇编语言

但是由于硬件架构针对性强,导致这类汇编语言编写的操作系统(英国有人开发了使用汇编开发的类似win窗口界面的操作系统,仅仅几M)无法顺利地工作到其他硬件架构的cpu上,这样造成耗费了大量人力成本编写的操作系统无法移植和运行在不同架构的硬件上(例如Amd公司后来开发的cpu增强指令集的功能与intel的有所不同)。

于是人们开发了c语言,这个语言是具备硬件无关性的,可以工作在不同架构的计算机上(只要这个架构的计算机有c语言的编译器---这种特定硬件架构的c语言编译器就是针对这种计算机的硬件架构来完成最终c语言代码的编译运行的“中间翻译软件”,不需要改动源代码就可以生成(编译出)适合此种计算机硬件架构的最终执行程序。)

那么RISC的架构与CISC的架构有哪些不同呢?
纽约约克镇IBM研究中心的John Cocke证明,计算机中约20%的指令承担了80%的工作,他于1974年提出了RISC的概念。第一台得益于这个发现的电脑是1980年IBM的PC/XT。再后来,I RISC IBM的RISC System/6000也使用了这个思想。RISC这个词本身属于伯克利加利福尼亚大学的一个教师David Patterson。
RISC这个概念还被用在Sun公司的SPARC微处理器中(用于小型机工作站),并促成了现在所谓的MIPS技术的建立,它是Silicon Graphics的一部分。许多当前的微芯片现在都使用RISC概念。与CISC不同的另一种软件程序执行的效率研究方法和执行过程。