Thai Chat



# คำสั่งการใช้งาน irc.narak.com:6667 || ChanServ || NickServ || MemoServ || Mode #

สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)

Instruction set computer (รูปแบบชุดคำสั่งในคอมพิวเตอร์)

บทความนี้ขอแนะนำสถาปัตยกรรมคอมพิวเตอร์ ในที่นี้จะไม่กล่าวถึง 386, 486 ,Pentium , Mini หรือ Supercomputer แต่อย่างใด แต่ขอพูดถึงภาพการจัดกลุ่มทางสถาปัตยกรรมทางคอมพิวเตอร์ออกเป็นสองหมวดใหญ่ๆ คือ CISC (Complex Instruction Set Computer) การสร้างสถาปัตยกรรมของคอมพิวเตอร์โดยใช้ชุดคำสั่งที่ซับซ้อน และ RISC (Reduce Instruction Set Computer) การสร้างสถาปัตยกรรมของคอมพิวเตอร์โดยการลดชุดของคำสั่ง อาจเป็นการยากในการอธิบายว่า CISC และ RISC นั้น คือ อะไร ดังนั้นในการนำเสนอของบทความนี้ขอจำแนกความแตกต่างโดยการเปรียบเทียบข้อดีและข้อเสีย ของ สถาปัตยกรรมทั้งสองแบบดังต่อไปนี้

CISC (Complex Instruction Set Computer) RISC (Reduce Instruction Set Computer)
Memory Usage
ข้อดี
ในการใช้ของถาปัตกรรมแบบ CISC นั้น ชุดของคำสั่งจะมีมากมายหลายคำสั่งที่ ซับซ้อนและยุ่งยาก แต่นั่นไม่ได้หมายความว่า ทุกชุดคำสั่งจะมีการ FIX CODE กล่าว คือ ถ้ามีการใช้ชุดคำสั่งที่มีความซับซ้อนมากก็จะใช้จำนวน BIT มาก แต่ถ้าใช้งานชุดคำสั่งที่มีความซับซ้อนน้อยก็จะใช้งานจำนวน BIT น้อยเช่นกัน ในการเก็บชุดคำสั่งของ CISC นั้นจะเก็บเท่ากับจำนวนจริงของการใช้งาน จึงประหยัดเนื้อที่ใน Memory
ข้อเสีย
เนื่องจากการเก็บชุดของคำสั่งนั้น เก็บเฉพาะการใช้งานจริง ซึ่งจะใช้งาน Memory น้อย แต่นั่นไม่ได้หมายความว่าจะทำให้เกิดประสิทธิภาพในการทำงานแต่ จะทำให้ประสิทธิภาพการทำงานของเครื่องคอมพิวเตอร์ช้าลง เพราะต้องเสียเวลาในการถอดรหัสอันยุ่งยากของการเข้ารหัสที่มีขนาดไม่เท่ากัน
Memory Usage
ข้อเสีย
สถาปัตยกรรมแบบ RISC นั้นเน้นหลักการของการนำเอาชุดของคำสั่งง่ายๆ เพียงไม่กี่คำสั่ง (โดยทั่วไปไม่เกิน 128 คำสั่ง เช่น บวก,ลบ,คูณ,หาร) มาประกอบรวมเข้าไว้ด้วยกัน 128 คำสั่ง มีค่าเท่ากับ 2 ยกกำลัง 6 หรือกล่าวคือใช้งานแค่ 6 BIT ในการเก็บค่าของชุดคำสั่ง ในการเก็บชุดคำสั่งจึง FIX CODE ไว้แค่ 6 เท่านั้น ซึ่งเกิดข้อเสียคือถ้าหากคำสั่งที่ใช้งานใช้แค่ 1 BIT ก็ยังคงเก็บ 6 BIT เกิด WasteSpace
ข้อดี
เนื่องจากการเก็บข้อมูลของ RISC นี้เป็นลักษณะ FIX CODE จึงส่งผลให้การถอดรหัสรวดเร็ว เพราะชุดคำสั่งเท่ากันทุก Record
Performance
1. เนื่องจาก CISC มีชุดของ Complex Instruction มากกว่า RISC และในคำสั่งพิเศษที่มีอยู่ใน CISC นั้น (หรือคำสั่งยากๆ) เช่น การทำ Polynomial ในการทำงานหนึ่งคำสั่งของ CISC อาจใช้เวลา (CLOCK) มากกว่าการนำเอาคำสั่งที่มีอยู่ใน RISC หลายๆ คำสั่งมารวมกันเสียอีก
2. ประสิทธิภาพอาจลดลงเนื่องจากเสียเวลาในการ DECODE เพราะชุดคำสั่งของ CISC ไม่แน่นอน มีทั้งสั้นและยาว อีกทั้งวงจรมีความสลับซับซ้อนมาก และใช้ CLOCK CYCLE นาน จึงทำให้เสียค่าใช้จ่ายสูง และ ใช้เวลานานกว่าในการประมวลผล
Performance
1. การทำงานจะทำได้เร็วกว่า CISC เพราะ RISC ประกอบด้วยคำสั่งง่ายๆ เช่น LOAD/STORE ใช้ในการ LOAD ข้อมูลเก็บไว้ใน REGISTER โดยตรงและให้ REGISTER ทำการประมวลผลจากนั้นค่อย STORE เก็บไว้ใน MEMORY (โดยทั่วไปการทำงานของ Computer เรียงลำดับความเร็ว มีดังต่อไปนี้ CPU , REGISTER , MEMORY , DISK)
2. เนื่องจากการเข้ารหัสของชุดคำสั่งเป็นลักษณะ FIX-ENCODING จึงง่ายต่อการ DECODE หรือถอดรหัส
3. ในสถาปัตยกรรมแบบ RISC มี REGISTER จำนวนมากจึงทำให้การทำงานโดยรวมรวดเร็ว
4. การใช้งานคำสั่งง่ายๆ ของ RISC นี้ บางคำสั่งใช้เวลา (CLOCK CYCLE) ไม่ถึง 1 CLOCK จึงส่งผลให้ทำงานได้รวดเร็ว
Compiler Support
ใน CISC มีชุดคำสั่งที่ซับซ้อนซึ่งติดมากับตัว CPU อยู่แล้ว แต่เมื่อมาทำการ CODE หรือเขียนโปรแกรมแล้วผ่านตัว Compiler หรือตัวแปลงจากโปรแกรมเป็นภาษาเครื่อง จะพบว่าคำสั่งยากๆ ที่มีอยู่ใน CPU นั้น ตัว Compiler กลับแปลงให้อยู่ในรูปของคำสั่งง่ายๆ หรือ กล่าวคือ Software ไม่ Support กับ Hardware ซึ่งใน CPU หรือ Hardware นั้นมีการรองรับการทำงานของชุดคำสั่งนี้ แต่ตัว Software ไม่ได้มีการใช้คุณสมบัติจากชุดของคำสั่งที่ติดมากับตัว CPU แต่อย่างใด ดังนั้นชุดคำสั่งที่บรรจุเอา Complex Instruction ไว้ใน CISC นั้น จะไม่ค่อยมีประโยชน์มากนัก ถ้าหากว่าตัว Compiler นั้นไม่รองรับ และยิ่งไปกว่านั้นตัว Compiler บางตัวยังมีชุดคำสั่งยากๆ อยู่ในตัวมันแล้ว กลับยิ่งหมายความว่าจะไม่ได้ใช้งานจากสถาปัตยกรรมที่สร้างขึ้นมาใน CISC นี้เลย
Compiler Support
ใน RISC นั้นมีคำสั่งประมาณ 128 คำสั่ง แนบมากับ CPU และอนุญาตให้ใช้งานคำสั่งประเภท LOAD/STORE ที่นำข้อมูลจาก MEMORY ไปกระทำกับ REGISTER โดยตรงซึ่งทำให้การทำงานโดยรวมเร็วกว่า จากจุดนี้เองในการใช้งานในส่วนของคำสั่งที่ซับซ้อน อาจต้องใช้คำสั่งในตัว Compiler มาใช้งานมากกว่า RISC เพราะ RISC เน้นหลักการทำงานของชุดคำสั่งที่ง่ายๆ แต่เร็ว ดังนั้นคำสั่งยากๆ จึงโยนให้เป็นหน้าที่ของตัว Compiler แทนครับ

จากที่กล่าวมาทั้งหมด สามารถสรุปง่ายๆ ได้ว่า สถาปัตยกรรมที่ออกแบบมาทาง RISC จะทำงานเร็วกว่า CISC อย่างเห็นได้ชัดดังนั้น การที่จะเลือกใช้งาน CPU ตัวนึงควรตรวจสอบดูว่าเป็น RISC หรือไม่ซึ่งจริงๆแล้ว Pentium ที่ใช้ๆ กันอยู่ก็ยังคงเป็นแค่ CISC อยู่ดีแหละครับ

โดย ภัสร์พล เจียมพานทอง

Thai Chat



# คำสั่งการใช้งาน irc.narak.com:6667 || ChanServ || NickServ || MemoServ || Mode #

Copyright © 1999-2001 Thaiirc.in.th. All rights reserved by Narak Team.
Credit : Contents by Moha.