Batasan antara perangkat keras dan perangkat lunak akan sedikit buram kalau kita berbicara mengenai firmware, karena firmware ini adalah perangkat lunak yang "dibuat" ke dalam perangkat keras. Firmware ini merupakan wilayah dari bidang ilmu komputer dan teknik komputer, yang jarang dikenal oleh pengguna umum.
Komputer pada umumnya adalah komputer pribadi, (PC) dalam bentuk desktop atau menara kotak yang terdiri dari bagian berikut:
- Papan sistem/papan induk yang merupakan tempat CPU, memori , slot vga, dan memiliki slot untuk kartu tambahan.
- RAM - tempat penyimpanan data sementara / jangka pendek,sehingga perangkat lunak yang kita jalankan akan tersimpan sementara, sehingga komputer tidak perlu selalu mengakses hard disk untuk mencari data. Jumlah RAM yang lebih besar akan membantu kecepatan PC
- Buses:
- ROM (Read Only Memory) di mana firmware diletakkan
- CPU (Central Processing Unit) sebagai otak dan bagian utama komputer
- Power supply - sebuah kotak yang menyalurkan daya ke papan induk transformer, kontrol voltase dan kipas
- Pengontrol penyimpanan, dari jenis IDE, SCSI atau SATA atau lainnya, yang mengontrol hard disk, Floppy disk, CD-ROM, DVD-ROM dan drive lainnya; kontroler ini terletak di papan induk (atas-papan) atau di kartu tambahan
- Pengontrol penampilan video yang memproduksi output untuk komputer display
- Pengontrol komputer bus (paralel, serial, USB, Firewire) untuk menyambung komputer dengan alat tambahan luar lainnya seperti printer atau scanner
- Beberapa jenis penyimpanan komputer:
- Penyimpanan dalam - menyimpan data dalam komputer untuk penggunaan jangka panjang.
- Hard disk - untuk penyimpanan data jangka panjang
- Disk array controller
- Kartu suara - menerjemahkan signal dari papan sistem ke bahasa yang dapat dimengerti oleh speaker, dan memiliki terminal untuk mencolok kabel suara speaker.
- Jaringan komputer - untuk menghubungkan komputer ke internet dan/atau komputer lainnya.
- Modem - media penyambung ke koneksi internet.
- Kartu network - untuk internet DSL/kabel, dan/atau menghubungkan ke komputer lain.
- Alat lainnya.