Notes & software courses · Free to learn
Aph's Blog
On this page

คอมพิวเตอร์ทำงานอย่างไร

👋 อ่านฟรีทั้งหมดบน Aph's Blog — เนื้อหาภาษาไทย ทำตามทีละหน้าใน sidebar ได้เลย หากมีข้อเสนอแนะหรืออยากให้เพิ่มหัวข้อไหน บอกได้เสมอ

CPU, RAM, storage และวงจรการทำงานของคอมพิวเตอร์ — รากฐานที่ทำให้ทุกอย่างหลังจากนี้เข้าใจง่ายขึ้น

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

หลักการพื้นฐาน: input → process → output

ไม่ว่าคอมพิวเตอร์จะซับซ้อนแค่ไหน หลักการพื้นฐานเหมือนกันหมด: รับข้อมูลเข้า (input) → ประมวลผล (process) → แสดงผลออกมา (output) เช่นเครื่องคิดเลข: เรากดเลข (input) มันคำนวณ (process) แล้วแสดงผลลัพธ์ (output)

ส่วนประกอบหลักของคอมพิวเตอร์

ส่วนประกอบหน้าที่เปรียบเทียบ
CPU (หน่วยประมวลผล)สมองที่คิดคำนวณและสั่งงานทุกอย่างเหมือนคนทำงาน
RAM (หน่วยความจำหลัก)ที่พักข้อมูลที่กำลังใช้งาน เร็วมากแต่หายเมื่อปิดเครื่องโต๊ะทำงานที่วางของชั่วคราว
Storage (SSD/HDD)เก็บข้อมูลถาวร แม้ปิดเครื่องก็ยังอยู่ตู้เก็บเอกสาร
Input/Outputคีย์บอร์ด เมาส์ จอภาพ ลำโพงช่องทางสื่อสารกับคน

RAM กับ Storage ต่างกันอย่างไร (สำคัญมาก)

มือใหม่มักสับสนสองอย่างนี้ จำง่าย ๆ: RAM เร็วมากแต่ "ลืม" ทุกอย่างเมื่อปิดเครื่อง ส่วน storage ช้ากว่าแต่ "จำ" ได้ถาวร เวลาเราเปิดโปรแกรม ระบบจะโหลดมันจาก storage ขึ้นมาไว้ใน RAM เพื่อให้ CPU ทำงานได้เร็ว

RAMStorage (SSD/HDD)
ความเร็วเร็วมากช้ากว่ามาก
ปิดเครื่องแล้วข้อมูลหายข้อมูลยังอยู่
ขนาดทั่วไป8–32 GB256 GB–2 TB
ใช้เก็บสิ่งที่กำลังทำงานอยู่ตอนนี้ไฟล์ โปรแกรม ระบบปฏิบัติการ
ทำไม RAM เยอะถึงดี

เพราะโปรแกรมที่กำลังรันต้องอยู่ใน RAM ถ้า RAM เยอะ ก็เปิดโปรแกรมพร้อมกันได้มากขึ้นโดยไม่อืด ส่วนถ้าทำงานค้างไว้แล้วไฟดับ งานที่ยังไม่บันทึก (ยังอยู่แค่ใน RAM) จะหาย — นี่คือเหตุผลที่ต้องกด save บ่อย ๆ

CPU ทำงานเป็นวงจรซ้ำ ๆ

CPU ทำงานเร็วมาก (พันล้านครั้งต่อวินาที) แต่จริง ๆ มันทำขั้นตอนง่าย ๆ ซ้ำไปเรื่อย ๆ เรียกว่าวงจร fetch–decode–execute

  1. Fetch — ดึงคำสั่งถัดไปจาก RAM
  2. Decode — แปลว่าคำสั่งนั้นให้ทำอะไร
  3. Execute — ลงมือทำ (บวก เลข ย้ายข้อมูล ฯลฯ)
  4. วนกลับไปทำคำสั่งถัดไป — ซ้ำแบบนี้ตลอดเวลา

ความเร็วของ CPU วัดเป็น GHz (กิกะเฮิรตซ์) เช่น 3 GHz หมายถึงทำวงจรพื้นฐานได้ราว 3 พันล้านครั้งต่อวินาที และ CPU สมัยใหม่มีหลาย "core" ทำงานหลายอย่างพร้อมกันได้

Cache — ทำไม CPU ไม่รออ่าน RAM ตรง ๆ

แม้ RAM จะเร็ว แต่ก็ยังช้าเกินไปสำหรับ CPU ที่ทำงานพันล้านครั้งต่อวินาที CPU จึงมีหน่วยความจำจิ๋วที่เร็วกว่ามากอยู่ในตัวเรียกว่า cache (L1/L2/L3) ไว้พักข้อมูลที่ใช้บ่อย ลำดับความเร็วจากเร็วสุดไปช้าสุดคือ: register → cache → RAM → storage ยิ่งใกล้ CPU ยิ่งเร็วแต่ยิ่งเล็ก

ระดับความเร็วขนาด
Register / Cacheเร็วสุดเล็กมาก (KB–MB)
RAMเร็วปานกลาง (GB)
Storage (SSD/HDD)ช้าใหญ่ (GB–TB)
เกี่ยวอะไรกับการเขียนโปรแกรม

เข้าใจลำดับนี้ช่วยให้รู้ว่าทำไม "การอ่านไฟล์/ดาต้าเบส" ช้ากว่า "การคำนวณใน RAM" หลายเท่า และทำไมเราถึง cache ข้อมูลที่ใช้บ่อยไว้ใน RAM — แนวคิดเดียวกับ cache ของ CPU เป็นหลักการที่จะเจอซ้ำตลอดเส้นทางการเป็นโปรแกรมเมอร์

32-bit กับ 64-bit ต่างกันอย่างไร

ตัวเลข bit ของ CPU/ระบบปฏิบัติการ (เช่น 64-bit) บอกว่า CPU จัดการข้อมูลและที่อยู่หน่วยความจำได้ครั้งละกี่ bit เครื่อง 64-bit อ้างถึง RAM ได้มากกว่ามาก (เกิน 4 GB) จึงเป็นมาตรฐานปัจจุบัน นี่คือเหตุผลที่โปรแกรมมีเวอร์ชัน 32-bit/64-bit แยกกัน

สรุปหัวข้อนี้

  • คอมพิวเตอร์ทำงานแบบ input → process → output
  • CPU = สมองที่คำนวณ, RAM = ที่พักข้อมูลชั่วคราว (เร็ว/หาย), Storage = เก็บถาวร (ช้า/อยู่)
  • โปรแกรมที่รันถูกโหลดจาก storage มาไว้ใน RAM ให้ CPU ทำงาน
  • CPU ทำงานเป็นวงจร fetch–decode–execute ซ้ำ ๆ เร็วระดับพันล้านครั้ง/วินาที
แบบฝึกหัด (คิดตอบ)

1) เปิด Task Manager (Windows) หรือ Activity Monitor (Mac) ดูว่าตอนนี้ใช้ RAM และ CPU ไปเท่าไหร่ 2) อธิบายด้วยคำพูดตัวเองว่าทำไมงานที่ยังไม่ save หายเมื่อไฟดับ 3) เครื่องของคุณมี RAM กี่ GB และ storage กี่ GB?