วันพุธที่ 24 มีนาคม พ.ศ. 2553

Computer architecture

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

สถาปัตยกรรมตัวประมวลผลที่ใช้ในระบบคอมพิวเตอร์ปัจจุบันสามารถแบ่งได้เป็น 2 ประเภทหลัก แบบแรกเรียกว่า สถาปัตยกรรมแบบ Von Neumann ตามชื่อของศาสตราจารย์ John Von Neumann ผู้คิดค้นระบบนี้ขึ้นมา หัวใจสำคัญคือทั้งคำสั่ง และข้อมูลจะถูกเก็บบนหน่วยความจำเดียวกัน ในสมัยก่อนจะเรียกระบบนี้ว่า ระบบคอมพิวเตอร์แบบเก็บค่าโปรแกรม (stored program computer) การที่ทั้งโปรแกรมและข้อมูลถูกจัดเก็บในหน่วยความจำร่วมกันทำให้แก้ไขโปรแกรมได้โดยง่าย หรือทำได้แม้กระทั่งเขียนโปรแกรมที่สามารถแก้ไขตัวเองได้ แต่ก็จะมีข้อเสียตามมาคือ เมื่อมีปัญหาเกิดขึ้น โปรแกรมก็จะถูกเขียนทับโดยง่ายเช่นกัน นอกจากนั้นยังประสบปัญหาคอขวด (bottleneck) เมื่อต้องการเคลื่อนย้ายข้อมูลจำนวนมาก เพราะตัวประมวลผลจะต้องรอ เมื่อข้อมูลถูกอ่านและเขียนจากหน่วยความจำ ในปัจจุบันการเขียนโปรแกรมที่สามารถแก้ตัวเองนั้นไม่ได้รับความนิยมเนื่องจากยากต่อการดีบัก

โดยปัญหาเรื่องความเร็วการเคลื่อนย้ายข้อมูลนี้เอง สถาปัตยกรรมคอมพิวเตอร์อีกแบบหนึ่งมีชื่อเรียกว่า Harvard ชื่อนี้มีที่มาทางประวัติศาสตร์คือ เริ่มต้น จากเครื่อง Harvard Mark I ที่เป็นเครื่องคอมพิวเตอร์แบบใช้รีเลย์ และมีการเก็บโปรแกรมกับข้อมูลแยกส่วนกัน อันเป็นคุณสมบัติที่แตกต่างจากระบบ Von Neumann กล่าวคือ สถาปัตยกรรม Harvard จะมีหน่วยความจำสำหรับเก็บโปรแกรมและข้อมูลแยกจากกันนั่นเอง ทำให้มีความเร็วในการประมวลผลดีกว่าแบบ Von Neumann แต่ข้อเสียสำหรับโปรแกรมเมอร์คือ ใช้งานยากกว่า เพราะหน่วยความจำสำหรับโปรแกรมและข้อมูลมีแอดเดรสสเปซแยกจากกัน

ในคอมพิวเตอร์สมัยใหม่จึงนิยมใช้สถาปัตยกรรมที่เรียกว่า Modified Harvard Architecture คือ พยายามรวมเอาข้อดีของแบบ Von Neumann และ Harvard เข้าด้วยกัน โดยจะมีชุดคำสั่งและฮาร์ดแวร์ที่เป็นตัวเชื่อมให้โปรแกรมเมอร์สามารถเข้าถึงหน่วยความจำได้โดยสะดวก ดังนั้นผู้ใช้จะมองเห็นระบบที่มีลักษณะเหมือน Von Neumann แต่ตัวฮาร์ดแวร์จริงจะทำงานแบบ Harvard ไมโครคอนโทรลเลอร์และตัวประมวลสัญญาณดิจิทัลส่วนใหญ่จะใช้สถาปัตยกรรมแบบ Modified Harvard

ที่มา : ดร.วโรดม ตู้จินดา, http://pirun.ku.ac.th/~fengvdt/ecsbook/ecsbook.pdf

ไม่มีความคิดเห็น:

แสดงความคิดเห็น