ส่วนประกอบโครงสร้างภายใน Microprocessor (RISC)
ความเป็นมา
ใน ค.ศ. 1948 ครั้งที่เริ่มมีการพัฒนาดิจิตอลคอมพิวเตอร์
การพัฒนาในครั้งนั้นเริ่มจากเครื่อง MARK1 ซึ่งมีคำสั่ง เพียง 7
คำสั่งแต่ละคำสั่งมีลักษณะการทำงานที่ซับซ้อน เช่น คำสั่งบวก
คำสั่งกระโดด คำสั่งในยุคนั้น มีเพียง เท่าที่จำเป็น
แต่เมื่อมีการพัฒนาต่อมาเรื่อย ๆ การสร้างคำสั่งก็เพิ่มมากขึ้น เช่น VAX
มีคำสั่งถึงกว่า 300 คำสั่ง นอกจากนี้คำสั่งก็จะดูซับซ้อนมากขึ้น
หากพิจารณาไมโครโปเซสเซอร์ 8080 มีเพียง 78 คำสั่งแต่เมื่อ Z80
ได้รับการพัฒนาขึ้น ชุดคำสั่งก็เพิ่มเป็นซุเปอร์เซต คือมีถึงกว่า 150
คำสั่ง แล้วพัฒนาการต่อมาเป็น 8088, 8086 ก็มีชุดคำสั่งเพิ่มขึ้นอีก
การออกแบบแต่ละะครั้ง
ดูจะพยายามสร้างชิปเดิมให้เป็นชิปย่อยและทำงานได้เหมือนเป็นซับเซต
ดังนั้นคำสั่งที่พัฒนากันต่อมาก็ยิ่งสลับซับซ้อนยิ่งขึ้น นั่นคือ
กลายมาเป็น CISC นั่นเอง อย่างไรก็ตามการพัฒนา CISC
ก็ได้ใช้เทคนิคการเพิ่มประสิทธิภาพโดยรวมหลายอย่าง
ที่ทำให้การพัฒนาในยุคหลัง คือ RISC นำมาใช้เช่น มีการทำ Pipelining
การพรีเฟตซ์ และการใช้แคช
ในราวปี ค.ศ. 1975 มหาวิทยาลัยแคลิฟอเนีย ที่เบร์กเล่ย์
ก็สร้างโครงงานพัฒนาคอมพิวเตอร์ โดยใช้ชื่อโครงการว่า RISC
โครงงานนี้ สร้างเพื่อให้นักเรียนที่เรียนในระดับบัณฑิตศึกษา
ได้ทำการวิทยานิพนธ์เกี่ยวกับโครงสร้างสถาปัตยกรรมของคอมพิวเตอร์เหล่านี้
เพื่อทำให้ประสิทธิภาพดีขึ้น ต่อมาได้เพิ่มโครงงาน SOAR และใช้ CAD
ช่วยในการออกแบบและสร้างชิป RISC I
เป็นซีพียูที่มีชุดคำสั่งที่ทำงานด้วยเวลาสั้น ๆ
ดังนั้นการประมวลผลข้อมูลจะต้องทำกับรีจิสเตอร์
จะมีคำสั่งที่เข้าถึงหน่วยความจำเพียงการโหลดและสตอร์เท่านั้น
การทำงานของคำสั่งส่วนใหญ่เสร็จในหนึ่งไซเกิล คำสั่งที่ใช้มี 31 คำสั่ง
ซึ่งสามารถบรรจุเป็นรหัสเพียงขนาด 32 บิต
การถอดรหัสคำสั่งสามารถทำได้ทันทีด้วยรูปแบบที่แน่นอน ลักษณะพิเศษของ RISC
I คือ มีรีจิสเตอร์ภายในมาก โดยมีรัจิสเตอร์มากกว่าร้อยตัว
รีจิสเตอร์เหล่านั้จัดเรียงตัวกันเป็นกลุ่มและทับซ้อนกัน
เพื่อให้มีการเรียกข้อมูลมาใช้หรือส่งผ่านข้อมูลถึงกันได้
โดยไม่เสียเวลาไปรับจากหน่วยความจำ RISC I
จึงเป็นซีพียูที่ลดการติดต่อระหว่างซีพียูกับหน่วยความจำ จากรายงานของ RISC
I และ RISC II กล่าวว่าความเร็วในการทำงานของ RISC เพิ่มขึ้น 2 ถึง 4
เท่าเมื่อเทียบกับการทำงานแบบ CISC เช่น VAX หรือ 68000
ชุดคำสั่งของ RISC
เพื่อให้เห็นโครงสร้างชุดคำสั่งที่ใช้ใน RISC
ในที่นี้จะขอยกตัวอย่างชุดคำสั่งของ MIPS กระทำกับรีจิสเตอร์ 3 ตัว คือ
scr1,scr2 และ dest กล่าวคือ scr เป็นรีจิสเตอร์ตัวทำงาน dest
เป็นรีจิสเตอร์ผลลัพธ์ คำสั่งส่วนใหญ่ เป็นคำสั่งพื้นฐาน ที่เข้าใจได้ง่าย
การออกแบบคำสั่งเหล่านี้มุ่งไปที่การใช้รีจิสเตอร์ภายใน
ดังนั้นรีจิสเตอร์ภายในมักมีขนาดกว้าง ในที่นี้ใช้ขนาด 32 บิต ( อินเทล
i860 ใช้ชนาด 64บิต ) หากจะพิจารณาคำสั่งที่แสดงจะพบว่าคำสั่งเพียงเท่านี้
ก็เพียงพอต่อการใช้งาน หรือการเขียนโปรแกรมให้ทำงานในสิ่งต่าง ๆ
ตามต้องการได้แล้ว การออกแบบ RISCจึงเป็นสิ่งที่ใช้สถาปัตยกรรมที่แตกต่าง
จาก CISC โดยสิ้นเชิง
ความสามารถอยู่ที่การจัดการหน่วยความจำ เมื่อซีพียู RISC
ทำงานด้วยคำสั่งที่ใช้กับรีจิสเตอร์เป็นหลักมีเพียง RD กับ ST เท่านั้น
ที่ใช้จากหน่วยความจำ LD กับ ST
จึงต้องเกี่ยวกับหน่วยความจำที่ซีพียูต้องติดต่อด้วย อย่างรวดเร็ว
การที่ซีพียูต้องติดต่ออย่างรวดเร็วนี้ จึงต้องอาศัยหน่วยความจำแคช
ดังนั้นประสิทธิภาพของ RISC
จึงขึ้นอยู่กับการจัดโครงสร้างของหน่วยความจำด้วย
โดยที่หน่วยความจำแคชจะต้องมีบทบาทที่ทำให้ซีพียูติดต่อแล้วพบข้อมูลเป็น
ส่วนใหญ่
โครงสร้างของแคชที่ใช้กับ RISC เป็นแบบ direct maped cache ใช้
การติดต่อกับหน่วยความจำนี้จะทำให้หน่วยความจำต่อกับแคชในลักษณะที่มีการ
กำหนดตำแหน่งแน่นอน
แคชแบบนี้จำทำให้การเข้าถึงทำได้เร็วและต้องการพื้นที่น้อยกว่า
โครงสร้างการอินเตอร์รัปต์ยังคงใช้เหมือนเดิม ในซีพียูแบบ
CISC ต้องอาศัยการทำงานในลักษณะโปรแกรมหลายระดับ
โดยการใช้สัญญาณอินเตอร์รัปต์เข้ามาเป็นตัวสวิตซ์การทำงานในแต่ละส่วนของ
โปรแกรม
กรณีของ CISC ก็เช่นกัน การอินเตอร์รัปต์ก็มีกลไกการทำงานคล้ายกัรนจะแตกต่างกันเพียงเล็กน้อยในเรื่องการทำงานภาย
ในซีพียู ใน CISC อาจมีไมโครโค้ดคอยจัดการบางอย่างให้แแต่แนวความคิดของการใช้งานยังคงเหมือนกัน
ไม่มีความคิดเห็น:
แสดงความคิดเห็น