随着大规模集成电路技术的发展和软件硬化的趋势,要明确划分计算机系统软、硬件的界限已经比较困难了。因为任何操作既可以由软件来实现,也可以由硬件来实现;任何指令的执行都可以由硬件完成,也可以由软件来完成。因此,计算机系统的软件与硬件可以互相转化,它们之间可以互为补充。对于某一功能采用硬件方案还是软件方案,取决于器件价格、速度、可靠性、存储容量、变更周期等因素。
容量大、价格低、体积小、可以改写的只读存储器为软件固化提供了良好的物质手段。现在已经可以把许多复杂的、常用的程序制作成所谓的固件(Firmware),就其功能而言是软件,但从形态来说又是硬件。
目前,在一片芯片上制作复杂的逻辑电路已经变得现实可行,这就为扩大指令的功能提供了物质基础,因此,本来通过软件手段实现的某些功能,现在可以通过硬件直接解释执行。
当研制一台计算机的时候,设计者必须明确分配每一级的任务,确定哪些情况使用硬件,哪些情况使用软件,而硬件始终放在最低级。就目前而言,一些计算机的特点,就是把原来通过编制程序实现的操作,如整数乘除法指令、浮点运算指令、处理字符串指令等等,改为直接由硬件完成。