หลายคนอาจได้ยินคำว่าเฟิร์มแวร์ (Firmware) กันมาบ่อย แต่ยังอาจไม่แน่ใจว่ามันคืออะไร และมีความแตกต่างจากซอฟต์แวร์ (Software) อย่างไร วันนี้ทีมงานจะพาไปดูกันว่าเฟิร์มแวร์คืออะไร มีบทบาทอย่างไรในอุปกรณ์อิเล็กทรอนิกส์ และทำไมมันจึงมีความสำคัญต่อการทำงานของเทคโนโลยีที่เราใช้ในชีวิตประจำวันกัน

Firmware คืออะไร

เฟิร์มแวร์นับเป็นซอฟต์แวร์รูปแบบนึงที่จะถูกฝังเอาไว้ในตัวฮาร์ดแวร์แบบถาวร ทำหน้าที่ควบคุมคำสั่งต่าง ๆ ควบคุมการทำงานพื้นฐานของอุปกรณ์ (Low-Level) เช่น การบูตเครื่อง และการเชื่อมต่อกับส่วนประกอบต่าง ๆ หรือเป็นคำสั่งควบคุมการทำงานในส่วนต่าง ๆ ของฮาร์ดแวร์ เพื่อให้สามารถทำงานได้ตามที่ต้องการ นับเป็นส่วนสำคัญมากที่ต้องมีเพื่อให้ตัวอุปกรณ์นั้น ๆ ทำงานได้

หากดูตามแผนภาพจะเห็นว่าเฟิร์มแวร์นั้นอยู่บริเวณกึ่งกลางระหว่างฮาร์ดแวร์ และระบบปฏิบัติการ

ซึ่งส่วนมากมักเป็นคำสั่งที่ไม่มีการเปลี่ยนแปลงหรือไม่ได้มีอัปเดตบ่อย ๆ ทำให้เวลาอัปเดตครั้งหนึ่งทำได้ยากกว่าซอฟต์แวร์พอสมควร ส่วน Software คือโปรแกรมต่าง ๆ ที่ผู้ใช้สามารถติดตั้งได้ เช่น แอปพลิเคชันและระบบปฏิบัติการ ซึ่งรองรับงานหลากหลายและมีขอบเขตที่กว้างกว่าเฟิร์มแวร์

เฟิร์มแวร์สามารถพบได้ในอุปกรณ์ที่หลากหลายในชีวิตประจำวัน เช่น สมาร์ทโฟน คอมพิวเตอร์ เราท์เตอร์ กล้องวงจรปิด รวมไปถึงเครื่องใช้ไฟฟ้าอย่างทีวี ตู้เย็น รถยนต์ เครื่องจักร อุปกรณ์ทางการแพทย์ และ ฯลฯ

Firmware มีกี่ประเภท ?

เฟิร์มแวร์มักถูกเขียนและบันทึกลงใน ROM (Read Only Memory) หรือหน่วยเก็บข้อมูลถาวร เพื่อป้องกันการลบหรือแก้ไข โดยข้อเสียของการเก็บใน ROM คือในอดีตเฟิร์มแวร์จะไม่สามารถอัปเดตได้เลย โดยเมื่อเทียบกับซอฟต์แวร์ เฟิร์มแวร์มักจะมีความล้าสมัยกว่ามาก

เพื่อแก้ปัญหานี้ จึงมีการพัฒนา EPROM (Erasable Programmable Read-Only Memory) และต่อยอดเป็น EEPROM (Electrically Erasable Programmable Read-Only Memory) ซึ่งเป็นหน่วยความจำที่สามารถลบและเขียนใหม่ได้ ทำให้เฟิร์มแวร์สามารถอัปเดตได้ แต่มีราคาสูง และใช้เวลาในการเขียนข้อมูลค่อนข้างนาน

ต่อมาได้มีการพัฒนา FEPROM หรือ Flash-ROM ซึ่งเป็นหน่วยความจำแบบ Flash ที่นิยมใช้ในปัจจุบัน เนื่องจากต้นทุนถูกกว่าและรองรับการเขียนซ้ำได้รวดเร็วขึ้น จึงสะดวกต่อการอัปเดตเฟิร์มแวร์

ประเภทของเฟิร์มแวร์ในปัจจุบันแบ่งออกเป็น 3 ประเภท ตามตำแหน่งจัดเก็บและความซับซ้อนของฟังก์ชัน

  1. Low-Level Firmware: เฟิร์มแวร์ที่เก็บในชิป ROM หรือ PROM ไม่สามารถอัปเดตได้ เหมาะกับอุปกรณ์ที่ไม่ต้องการการอัปเดตบ่อย ๆ
  2. High-Level Firmware: เฟิร์มแวร์ที่ใช้หน่วยความจำแบบ FEPROM รองรับการอัปเดต จึงนิยมใช้กับฮาร์ดแวร์ทั่วไปที่ต้องการอัปเดตเฟิร์มแวร์บ้างในบางครั้ง
  3. Subsystem Firmware: เฟิร์มแวร์แบบกึ่งอิสระ ใช้ในอุปกรณ์ที่ทำงานร่วมกับระบบขนาดใหญ่ มีความสามารถในการอัปเดต เช่น เฟิร์มแวร์ของ เมนบอร์ด (BIOS/UEFI)

ความสำคัญของ Firmware

เฟิร์มแวร์นั้นมีความสำคัญอย่างมากในการทำงานของระบบคอมพิวเตอร์ และอุปกรณ์อิเล็กทรอนิกส์ โดยจะทำหน้าที่เป็นตัวกลางในการเชื่อมระหว่างฮาร์ดแวร์กับซอฟต์แวร์ เพื่อให้ระบบทำงานตามที่ได้ออกแบบไว้ หากขาดเฟิร์มแวร์ไป ฮาร์ดแวร์ก็จะไม่รู้ว่าต้องทำงานอย่างไร

ทำให้เวลาเฟิร์มแวร์มีปัญหาหรือมีช่องโหว่ใด ๆ ก็อาจส่งผลให้ไม่สามารถดึงประสิทธิภาพของฮาร์ดแวร์ออกมาใช้ได้อย่างเต็มที่ เช่น เกิดอาการ “บั๊ก” ของระบบ เป็นต้น

ความแตกต่างระหว่าง Firmware กับ Software

จริง ๆ แล้วเฟิร์มแวร์นั้นเป็นหนึ่งในซอฟต์แวร์ประเภทหนึ่ง เพียงแค่ถูกออกแบบมาให้ทำงานในระดับต่ำสุดกับฮาร์ดแวร์แบบเฉพาะเจาะจง และถูกฝังเอาไว้ภายในฮาร์ดแวร์เลย ต่างกับซอฟต์แวร์ที่ถูกออกแบบมาให้ทำงานร่วมกับฮาร์ดแวร์ได้หลายชนิด และอยู่ใกล้กับผู้ใช้งานมากกว่ามีความแตกต่างดังนี้

  • หน้าที่: เฟิร์มแวร์ถูกออกแบบมาให้ทำงานในระดับต่ำสุดกับฮาร์ดแวร์แบบเฉพาะเจาะจง ขณะที่ซอฟต์แวร์มีขอบเขตที่กว้างกว่าสามารถทำงานกับฮาร์ดแวร์ได้หลายตัว
  • การติดตั้งและการจัดเก็บ: เฟิร์มแวร์ฝังอยู่ในหน่วยความจำของฮาร์ดแวร์ ส่วนซอฟต์แวร์ติดตั้งในหน่วยความจำภายนอกและโหลดเข้ามาในระบบเมื่อใช้งาน
  • การอัปเดต: เฟิร์มแวร์อัปเดตได้ยากกว่าซอฟต์แวร์ และมักจะจำเป็นเฉพาะกรณีที่ต้องการปรับปรุงประสิทธิภาพหรือความปลอดภัย
  • การทำงาน: เฟิร์มแวร์ทำงานบนฮาร์ดแวร์โดยตรง ขณะที่ซอฟต์แวร์ต้องอาศัยระบบปฏิบัติการหรือซอฟต์แวร์เสริมในการทำงาน

ความแตกต่างระหว่าง Firmware กับ Embedded Software

Embedded Software เป็นโปรแกรมเฉพาะทางสำหรับฮาร์ดแวร์ที่ใช้ในการทำงานเฉพาะ เช่น ระบบปฏิบัติการภายในกล้องหรืออุปกรณ์ IoT ขณะที่ Firmware ถือว่าเป็น Embedded Software ประเภทหนึ่งที่จำเป็นต่อการทำงานพื้นฐานของอุปกรณ์

ความแตกต่างระหว่าง Firmware กับ Hardware

ฮาร์ดแวร์เป็นส่วนประกอบทางกายภาพของอุปกรณ์ เช่น วงจร โปรเซสเซอร์ และหน่วยความจำ ส่วนเฟิร์มแวร์เป็นชุดคำสั่งที่ควบคุมการทำงานของฮาร์ดแวร์ แม้ว่าเฟิร์มแวร์จะอยู่ภายในฮาร์ดแวร์ แต่ก็ไม่ใช่ฮาร์ดแวร์โดยตรง

ความแตกต่างระหว่าง Firmware กับ Drivers

มีคำถามที่หลายคนอาจสงสัยว่า แล้วไดรเวอร์แตกต่างกับเฟิร์มแวร์ตรงไหน เพราะหน้าที่ของมันดูเหมือนจะใกล้เคียงกัน ก็คือการใช้ควบคุมการทำงานหรือเชื่อมต่อกับฮาร์ดแวร์เข้ากับระบบปฏิบัติการ และโปรแกรม เพื่อให้โปรแกรมเรียกใช้พลังจากฮาร์ดแวร์ได้

เฟิร์มแวร์เป็นชุดคำสั่งหลักในการควบคุมการทำงานของอุปกรณ์ ในขณะที่ไดรเวอร์เป็นโปรแกรมที่ช่วยให้ระบบปฏิบัติการติดต่อกับฮาร์ดแวร์ได้ง่ายขึ้น ตัวอย่างเช่น ไดรเวอร์ช่วยให้คอมพิวเตอร์เข้าใจและใช้งานเครื่องพิมพ์ได้ แต่เฟิร์มแวร์ทำหน้าที่กำหนดว่าหัวพิมพ์ต้องขยับไปทางไหน เป็นต้น

หรือเฟิร์มแวร์นั้นทำงานใกล้ชิดกับฮาร์ดแวร์มากกว่า และถูกฝังอยู่บนฮาร์ดแวร์เลย ส่วนไดรเวอร์เป็นโปรแกรมที่ถูกติดตั้งอยู่บนระบบปฏิบัติการมีความใกล้ชิดกับฝั่งผู้ใช้งานมากกว่า ซึ่งทั้งสองอย่างนี้ต้องทำงานสอดประสานกันอย่างดีที่สุด ขาดตัวใดตัวหนึ่งไม่ได้ เพื่อให้ฮาร์ดแวร์และซอฟต์แวร์ทำงานร่วมกันได้อย่างมีประสิทธิภาพ

การอัปเดต Firmware

ประโยชน์ของการอัปเดตเฟิร์มแวร์นอกจากจะช่วยทำให้ฮาร์ดแวร์ทำงานได้มีประสิทธิภาพ และทำงานได้อย่างมีเสถียรภาพเพิ่มมากขึ้นแล้ว ยังช่วยในเรื่องของความปลอดภัย หรือ แก้ความผิดพลาด (บั๊ก) ของการทำงานได้

การอัปเดตเฟิร์มแวร์นั้นมีความซับซ้อน และมีความลึกมากกว่าการอัปเดตไดรเวอร์ เพราะเป็นการอัปเดตระดับฮาร์ดแวร์ ต่างกับไดร์เวอร์ที่เป็นการอัปเดตในระดับซอฟต์แวร์

ทั้งนี้ความซับซ้อนในการอัปเดตของแต่ละอุปกรณ์นั้นจะแตกต่างกันไป เช่น การอัปเดตเฟิร์มแวร์บน iPhone จะทำผ่านเมนูบน iOS ที่เข้าใจง่าย แต่ถ้าอัปเดตเฟิร์มแวร์ของเมนบอร์ด (BIOS) จะมีความซับซ้อนกว่าพอสมควร

ส่วนระยะเวลาในการอัปเดตอาจกินเวลาตั้งแต่ไม่กี่นาทีจนถึงหลายชม. ขึ้นอยู่กับความซับซ้อนของอุปกรณ์ ซึ่งตามปกติแล้วระบบจะขึ้นคำเตือนตอนไม่ให้หยุดกระบวนการอัปเดตเฟิร์มแวร์ เช่นตอนอัปเดต BIOS เนื่องจากเฟิร์มแวร์ส่งผลโดยตรงต่อการทำงานของอุปกรณ์ หากการอัปเดตถูกหยุด เฟิร์มแวร์อาจเสียหาย ส่งผลให้อุปกรณ์ไม่สามารถใช้งานได้

แม้ว่าการอัปเดตเฟิร์มแวร์จะไม่จำเป็นเสมอไป แต่แนะนำให้ตรวจสอบการอัปเดตเพื่อให้มั่นใจว่าอุปกรณ์ทำงานได้อย่างเต็มประสิทธิภาพ อุปกรณ์เช่น เราเตอร์, Smart TV, และกล้องดิจิทัล มักต้องการการอัปเดตเป็นระยะ โดยการอัปเดตนี้ใช้เวลาต่างกันไปตามความซับซ้อนของอุปกรณ์

สรุป

Firmware คือชุดคำสั่งหรือโปรแกรมที่ถูกฝังเอาไว้ที่ฮาร์ดแวร์ ถูกสร้างมาเพื่อทำงานกับฮาร์ดแวร์แบบเฉพาะเจาะจง เป็นคำสั่งที่อยู่ใกล้กับฮาร์ดแวร์มากที่สุด อัปเดตไม่บ่อย อัปเดตยากกว่า Driver ถอนการติดตั้งแบบ Manual ไม่ได้ เรียกได้ว่าถ้าขาดไปจะทำให้ฮาร์ดแวร์นั้นทำงานไม่ได้เลย ต่างกับไดรเวอร์หรือซฟอต์แวร์ ถ้าไม่มีสองสิ่งนี้ฮาร์ดแวร์ก็ยังทำงานได้ แต่ทำงานได้แค่ในระดับพื้นฐานเท่านั้น ตัวอย่างเช่น BIOS บนคอมพิวเตอร์

Driver คือโปรแกรมที่ถูกสร้างมาเพื่อทำงานกับฮาร์ดแวร์แบบเฉพาะเจาะจงเหมือนกัน แต่ไม่ได้ถูกฝังอยู่บนฮาร์ดแวร์ ทำหน้าที่ช่วยให้ซอฟต์แวร์หรือระบบปฏิบัติการคุยกับฮาร์ดแวร์หรือเฟิร์มแวร์เข้าใจง่ายขึ้น ช่วยให้ดึงประสิทธิภาพของฮาร์ดแวร์ออกมาได้ง่ายกว่า อัปเดตบ่อย และง่ายกว่า Firmware ตัวอย่างเช่น Driver การ์ดจอของ NVIDIA

Software คือโปรแกรมที่ถูกสร้างมาเพื่อให้ทำงานกับฮาร์ดแวร์ได้หลากหลาย ทำงานบนระบบปฏิบัติการ ทำงานอยู่ใกล้กับผู้ใช้มากที่สุด สั่งงานง่ายที่สุด อัปเดตบ่อยมาก ติดตั้ง และถอนการติดตั้งง่าย ตัวอย่างเช่น Microsoft Office, Adobe Photoshop

ที่มา : techspot techopedia digitalcitizen techslang

ภาพ : reichelt nexusindustrialmemory phoenix