วันศุกร์ที่ 15 สิงหาคม พ.ศ. 2557

ระบบคอมพิวเตอร์และสถาปัตยกรรม



  บทนำ
(Overview)

          สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture) เป็นวิชาที่กล่าวถึง คุณสมบัติของระบบที่โปรแกรมเมอร์สามารถเห็นได้ชัด ส่วนองค์ประกอบของคอมพิวเตอร์ (Computer Organization) จะกล่าวถึงหน่วยการทำงานและการติดต่อระหว่างกันของหน่วยต่างๆ ภายในคอมพิวเตอร์ ซึ่งต้องใช้ข้อกำหนดทางสถาปัตยกรรมเหมือนกัน เช่น ชุดของคำสั่ง (Instruction Set) จำนวนบิตที่ใช้แทนข้อมูล กลไกของ I/O  เทคนิคการทำ addressing ของหน่วยความจำ เป็นต้น

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

                หัวใจหลักของการประมวลผลของคอมพิวเตอร์ ก็คือ CPU ซึ่งทำหน้าที่ประมวลผลข้อมูลเขิงคณิตศาสตร์และเชิงตรรกะ เริ่มจากปี 1946 คอมพิวเตอร์ยุคแรกที่มีชื่อว่า ENIVAC ซึ่งทำงานโดยใช้หลอดไดโอดซึ่งสถานะการทำงานของหลอดพวกนี้มีอยู่ 2 อย่างคือ 1 และ 0 โดยจะมีค่าเป็น 1 เมื่อมีกระแสไหลผ่านและเป็น 0 เมื่อไม่มีกระแสไกลผ่าน จึงเป็นเหตุผลให้คอมพิวเตอร์ใช้เลขฐานสองในการคำนวณ ต่อมาเมื่อวิทยาการก้าวหน้าขึ้นเรื่อย ๆ มีการพัฒนาจากหลอดไดโอดมาเป็นทรานซิสเตอร์ และเป็นวงจรขนาดเล็กที่เรียกว่า IC และสุดท้ายพัฒนา

มาเป็น Chip อย่างที่เรารู้จักกันในปัจจุบัน

                สิ่งที่ผู้ผลิต CPU พยายามจะเพิ่มก็คือ ประสิทธิภาพในการประมวลผล เนื่องจากภายในซีพียูไม่มีหน่วยเก็บข้อมูลสำหรับปริมาณมาก ๆ ดังนั้นปัจจัยที่มีผลต่อความเร็วของซีพียูคือ ความเร็วในการประมวลผลและความเร็วในการโอนย้ายข้อมูลเท่านั้น (เนื่องจากในยุคก่อน CPU ไม่มี Cache) ซึพียูในนยุคแรก ๆ ประมวลผลด้วยความเร็ว 4.77 MHz และมี CPU BUS กว้าง 8 บิต หรือที่เรียกกันว่า ซีพียูแบบ 8 บิต (Intel 8080, 8088)  คือ ซีพียูเคลื่อนย้ายข้อมูลได้ทีละ 1 ไบต์นั่นเอง และใน CPU ยุคต่อ ๆ มาจึงเปลี่ยนมาเป็นแบบ 16, 32 และ 64 จนถึง 128 และในการเคลื่อนย้ายข้อมูลนั้นเกิดจากการควบคุมของสัญญาณนาฬิกา ซึ่งนับเป็น Clock เช่น ซีพียู 100 MHz หมายถึงเกิดสัญญาณนาฬิกา 100 ครั้งต่อวินาที