펌웨어
[firmware]하드웨어를 제어하는 기본 프로그램으로 CPU 내의 롬에 기록되어 있다. 프로그램이라는 관점에서는 소프트웨어의 성격을 띄지만 하드웨어를 제어한다는 점에서 일반 응용소프트웨어와 다르다. 따라서 소프트웨어와 하드웨어의 중간에 속한다고도 할 수 있는데, 이러한 특성 때문에 소프트웨어 또는 하드웨어로 실행되는 기능의 일부를 펌웨어로 바꿀 수 있다.
예를 들어 부동 소수점 연산과 같은 것을 하드웨어로 구현하면 직접 논리회로를 설계하여 사용해야 하므로 연산 속도는 빠르지만 무척 비싼 비용을 치러야 하고, 소프트웨어로 구현하고자 하면 일일이 기계어 루틴을 작성하여 이용해야 하므로 너무 늦게 처리 결과를 얻게 된다. 그러나 펌웨어는 CPU 내의 레지스터, ALU, 버스 등을 제어할 수 있는 마이크로 프로그램으로 작성되므로 소프트웨어로 구현하는 것보다 빠르고 하드웨어로 구현하는 경우보다 싸게 부동 소수점 연산을 할 수 있다.