[ บทความ : เรียนรู้ z80 ] ตอนที่ 1 เรื่อง องค์ประกอบระบบไมโครคอมพิวเตอร์

องค์ประกอบระบบไมโครคอมพิวเตอร์

จากรูปจะได้ว่าระบบไมโครคอมพิวเตอร์ โดยพื้นฐานแล้วประกอบไปด้วยองค์ประกอบ 3 องค์ประกอบด้วยกัน คือ

1. CPU หรือหน่วยประมวลผลกลาง (Central Processing Unit) ในที่นี้เราจะกล่าวถึง Z80
2. MEMORY หรือหน่วยความจำ ซึ่งจะใช้เป็นหน่วยความจำแบบ
- ROM (Read Only Memory) หรือหน่วยความจำที่เขียนแล้ว จะสามารถเก็บข้อมูลได้ แม้ไม่มีกระแสไฟเลี้ยง แต่ไม่สามารถแก้ไขข้อมูลได้
- RAM (Random Access Memory) หรือหน่วยความจำชั่วคราว เราสามารถเขียนแล้วลบข้อมูลในหน่วยความจำได้ตลอดที่มีกระแสไฟเลี้ยงหน่วยความจำ แต่ถ้าปราศจากกระแสไฟเลี้ยงแล้วล่ะก็ข้อมูลจะสูญหายไป
3. I/O PORT หรือส่วนติดต่อกับอุปกรณ์/วงจรรับข้อมูล (INPUT) และแสดงผล (OUTPUT)

นอกจากองค์ประกอบหลักทั้ง 3 ชิ้นแล้ว ยังต้องมีส่วนสำคัญที่ทำหน้าที่เชื่อมโยงองค์ประกอบทั้ง 3 เข้าด้วยกัน นั่นก็คือ BUS โดยเราจะจำแนกประเภทของ BUS ตามหน้าที่ได้ 3 ประเภท คือ
1. DATA BUS เป็นเส้นทางที่ทำหน้าที่รับส่งข้อมูลระหว่างองค์ประกอบทั้ง 3 (CPU, MEMORY, I/O) โดยปกติแล้ว DATA BUS จะมีขนาดความกว้างของการทำงาน (จำนวนเส้น/ขาของ DATA BUS) เท่ากับขนาดของ การประมวลผลในแต่ละครั้งของ CPU เช่น CPU 8 บิต ก็จะมีขาของ DATA BUS จำนวน 8 ขา หรือเรียกได้ว่าเราจะมีจำนวนเส้น 1 เส้น ต่อ ข้อมูล 1 บิตนั่นเอง
2. ADDRESS BUS ทำหน้าที่บอกถึงตำแหน่งของข้อมูลที่เรากำลังกล่าวถึง ขนาดของ BUS ชนิดนี้จะแตกต่างกันตามชนิด ของ CPU เช่น Z80 มี ADDRESS BUS ขนาด 16 บิต จึงมีหน่วยความจำได้สูงสุด 64 KB แต่ Z180 จะมี ADDRESS BUS จำนวน 20 เส้นหรือ 20 บิต ก็จะสามารถอ้างอิงหน่วยความจำได้สูงสุด 1 MB เลยทีเดียว
3. CONTROL BUS หรือบัสควบคุมการทำงาน บัสชนิดนี้มีหน้าที่ส่งสัญญาณระหว่างองค์ประกอบทั้ง 3 ซึ่งสัญญาณของ แต่ละ CPU ก็จะมีชื่อเรียกแตกต่างกันไป อย่างไรก็ตามปกติแล้วจะมีชนิดของสัญญาณพื้นฐานที่เหมือนๆ กันอยู่ เช่น
- READ สำหรับอ่านข้อมูลจาก Memory หรือ I/O Port
- WRITE สำหรับเขียนข้อมูลไปที่ Memory หรือ I/O Port
- INTERRUPT สำหรับขัดจังหวะการทำงานของ CPU แล้วให้ทำงานอื่นก่อน
- ChipSelect สำหรับส่งสัญญาณเลือกอุปกรณ์ที่จะติดต่อด้วย

หมายเหตุ ปกติแล้ว ณ เวลาหนึ่งๆ ตัว CPU Z80 จะทำงานเพียง 1 อย่างเท่านั้น [ ไม่มีระบบสนับสนุนการสลับงาน ] แต่ CPU ยุคใหม่จะมีความสามารถที่มากกว่านี้ เช่น การทำงานแบบขนาน [ ทำหลายๆ คำสั่งในเวลาเดียวกัน ] , ทำพร้อมๆ กัน ทีละหลายๆ CPU ฯลฯ แต่จะไม่ขอกล่าวถึง ... ในตอนนี้เราทำความรู้จักแบบพื้นฐานไปก่อนนะครับ ส่วนคราวหน้าเราจะมาดูถึงรายละเอียดของ CPU Z80 ว่ามีลักษณะการทำงานเป็นอย่างไร แล้วคราวต่อๆ ไป เราจะมา เข้าเรื่องการทำงานของแต่ละส่วน พร้อมทั้งหัดเขียนโปรแกรมภาษาแอสเซมบลี (Assembly) ไปด้วยกันเลย บทความเกี่ยวกับ Z80 นี้ เราคงจะจบกันที่การเขียนโปรแกรมติดต่อกับอุปกรณ์พื้นฐาน ส่วนรายละเอียดที่มากกว่านั้นคงต้องอาศัยประสบการณ์ และการฝึกฝนของแต่ละคนล่ะ สำหรับสัปดาห์นี้คงเท่านี้ก่อนนะครับ



เขียนโดย : ศุภชัย บุศราทิจ
Author : Supachai Budsaratij
e-mail : raek@se-ed.net
วันที่ทำการปรับปรุง : ๒๙ ส.ค. ๒๕๔๓