180 likes | 430 Views
ANGKANA. Chapter 8. สถาปัตยà¸à¸£à¸£à¸¡ CISC à¹à¸¥à¸° RISC. ANGKANA. หัวข้à¸à¸à¸²à¸£à¹€à¸£à¸µà¸¢à¸™à¸£à¸¹à¹‰.  ลัà¸à¸©à¸“ะเฉพาะขà¸à¸‡à¸„à¸à¸¡à¸žà¸´à¸§à¹€à¸•à¸à¸£à¹Œà¹à¸šà¸š RISC  ลัà¸à¸©à¸“ะเฉพาะขà¸à¸‡à¸„à¸à¸¡à¸žà¸´à¸§à¹€à¸•à¸à¸£à¹Œà¹à¸šà¸š CISC  ความà¹à¸•à¸à¸•à¹ˆà¸²à¸‡à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸ªà¸–าปัตยà¸à¸£à¸£à¸¡ CISC à¹à¸¥à¸° RISC  เพิ่มเติม - ไปป์ไลน์ - ซูปเปà¸à¸£à¹Œà¸ªà¹€à¸à¸¥à¸²à¸£à¹Œ. สถาปัตยà¸à¸£à¸£à¸¡ CISC à¹à¸¥à¸° RISC.
E N D
ANGKANA Chapter 8 สถาปัตยกรรม CISC และ RISC
ANGKANA หัวข้อการเรียนรู้ ลักษณะเฉพาะของคอมพิวเตอร์แบบ RISC ลักษณะเฉพาะของคอมพิวเตอร์แบบ CISC ความแตกต่างระหว่างสถาปัตยกรรม CISC และ RISC เพิ่มเติม - ไปป์ไลน์ - ซูปเปอร์สเกลาร์
สถาปัตยกรรม CISC และ RISC การจัดกลุ่มทางสถาปัตยกรรมทางคอมพิวเตอร์ออกเป็นสองหมวดใหญ่ๆ คือ CISC (Complex Instruction Set Computer) การสร้างสถาปัตยกรรมของคอมพิวเตอร์โดยใช้ชุดคำสั่งที่ซับซ้อน และ RISC (Reduce Instruction Set Computer) การสร้างสถาปัตยกรรมของคอมพิวเตอร์โดยการลดชุดของคำสั่ง อาจเป็นการยากในการอธิบายว่า CISC และ RISC นั้น คือ อะไร ดังนั้นในการนำเสนอของบทความนี้ขอจำแนกความแตกต่างโดยการเปรียบเทียบข้อดีและข้อเสีย ของสถาปัตยกรรมทั้งสองแบบ
ลักษณะเฉพาะของคอมพิวเตอร์แบบ RISC การออกแบบสถาปัตยกรรมแบบ RISC โดยทั่วไป จะมีกฎเกณฑ์ดังนี้ 1. คำสั่งต่อรอบสัญญาณนาฬิกา ( One Instruction per Cycle ) นับเป็นสิ่งแรกเลยที่นึกถึงในการออกแบบสถาปัตยกรรมแบบ RISC โดย จะพยายามทำงานให้เสร็จสิ้นภายใน 1 รอบสัญญาณนาฬิกา ( 1 Clock Cycle ) ซึ่งก็มีการใช้ pipeline มาช่วยในการทำงาน ดังนั้น ในการทำงานจริงๆ อาจไม่ใช่ทำงาน 1 คำสั่งเสร็จสิ้นใน 1 รอบสัญญาณนาฬิกา แต่ใช้การนับเวลาในการทำงานของโปรแกรม ซึ่งแน่นอน มีการทำงานหลาย ๆ คำสั่ง หลาย ๆ ขั้นตอน แล้วคิดเป็นเวลาเฉลี่ย ซึ่งก็จะได้ประมาณ 1 คำสั่งต่อ 1 รอบสัญญาณนาฬิกา
ลักษณะเฉพาะของคอมพิวเตอร์แบบ RISC การออกแบบสถาปัตยกรรมแบบ RISC โดยทั่วไป จะมีกฎเกณฑ์ดังนี้ วิธีที่ใช้เพื่อทำให้ได้ 1 คำสั่งต่อรอบสัญญาณนาฬิกา จะทำโดยใช้คำสั่งง่าย ๆ ธรรมดา ๆ ไม่ใช่ เพิ่มรอบสัญญาณนาฬิกาให้นานขึ้น
ลักษณะเฉพาะของคอมพิวเตอร์แบบ RISC การออกแบบสถาปัตยกรรมแบบ RISC โดยทั่วไป จะมีกฎเกณฑ์ดังนี้ กำหนดขนาดของ Instruction ให้มีขนาดที่แน่นอน (Fixed Instruction Length ) ถ้าหากว่าจะทำให้มีการทำงานแต่ละคำสั่งให้เสร็จสิ้นภายใน 1 รอบสัญญาณนาฬิกาได้นั้น ก็แน่นอน ผู้ออกแบบ RISC ก็จะต้องจำกัดขนาดของคำสั่งด้วย ไม่ให้มีขนาดที่ยาวเกินไป ซึ่งโดยปกติแล้วจะใช้ขนาด 1 Word (จะมีขนาดไม่แน่นอน แล้วแต่เครื่อง แต่โดยทั่ว ๆไป CPU แบบ RISC จะมีขนาดของ Word = 32 Bit ) โดยใน 1 Word นั้น ก็จะกำหนดทุกๆอย่างทั้งคำสั่ง, Operation, จะดึง Operand จากที่ไหน, จะให้เก็บผลลัพธ์ ( Result ) ที่ไหน และ คำสั่งถัดไปอยู่ที่ไหน C = A + B : A และ B คือ Operand , + คือ Operation และ C คือ Result
ลักษณะเฉพาะของคอมพิวเตอร์แบบ RISC การออกแบบสถาปัตยกรรมแบบ RISC โดยทั่วไป จะมีกฎเกณฑ์ดังนี้ คำสั่งในการเข้าถึงหน่วยความจำหลัก จะใช้แค่ load (ดึงข้อมูล) และ store (เก็บข้อมูล) เท่านั้น สถาปัตยกรรมแบบ RISC นั้น เมื่อจะทำการจัดการกับคำสั่งต่างๆ ก็จำเป็นจะต้องนำ Operand มาเก็บไว้ใน Register ก่อน และในแต่ละคำสั่งนั้น ก็ถูกจำกัดไว้ที่ 1 Word ซึ่งก็ไม่เพียงพอต่อการเก็บค่าของ Operand ต่างๆ ดังนั้นจึงใช้การอ้างตำแหน่งในหน่วยความจำแทน แต่ การเข้าถึงหน่วยความจำนั้นต้องเสียเวลาอยู่พอสมควร จึงมีการกำหนดให้ใช้เพียงแค่ 2 คำสั่งเท่านั้น คือการ load และ การ store เพื่อลด traffic ระหว่าง หน่วยประมวลผล และ หน่วยความจำ ส่วนเวลาในการ load หรือ store นั้น ก็ขึ้นอยู่กับขนาดของ Operand
ลักษณะเฉพาะของคอมพิวเตอร์แบบ RISC การออกแบบสถาปัตยกรรมแบบ RISC โดยทั่วไป จะมีกฎเกณฑ์ดังนี้ ใช้การอ้างตำแหน่งแบบตรง ๆ ง่าย เพราะการอ้างแบบซับซ้อน ก็แน่นอน ต้องใช้ช่วงเวลานานกว่า ซึ่งการอ้างตำแหน่งแบบ RISC นั้นจะจำกัดอยู่ 2 แบบ คือ แบบอ้างผ่าน Register (Register Indirect) และ Index โดยการอ้างผ่าน Register นั้น Register จะเก็บค่าตำแหน่งไว้ แล้ว ทำการอ้าง ตำแหน่งนั้น ๆผ่าน Register และในแบบ Index จะเป็นการอ้างตำแหน่งจากค่าคงที่ ที่มาในคำสั่งนั้น ๆ เลย ใช้ Operation ที่เรียบง่าย ธรรมดาๆ และ มีไม่กี่ Operation เพื่อจะได้ใช้รอบการทำงานน้อยๆ และรวมไปถึงทรัพยากรของระบบที่ใช้ ก็จะใช้ น้อยด้วย
ลักษณะเฉพาะของคอมพิวเตอร์แบบ CISC ในส่วนของการออกแบบ CISC นั้น ใช้หลักเกณฑ์ที่ตรงข้ามกับแบบของ RISC แทบจะทั้งหมด เพราะในขณะที่ RISC จะพยายามลดคำสั่งให้มีจำนวนน้อย ๆ และไม่ซับซ้อน แต่ CISC จะพยายามให้มีรูปแบบของคำสั่ง ต่าง ๆ มากมาย และดูจะซับซ้อนมากขึ้นเรื่อย ๆ ส่วนในเรื่องของคำสั่งการทำงานของ RISC นั้น ก็จะมีค่าเฉลี่ยเป็น 1 คำสั่งต่อ 1 สัญญาณนาฬิกา แต่ในขณะที่ CISC อาจใช้ถึง 100 สัญญาณนาฬิกา เพื่อให้ทำงานให้เสร็จ เพียง 1 คำสั่ง CISC นั้น ก็จะมีจุดเด่น ในเรื่องของการเขียน Program บน CISC นั้น จะทำได้ง่ายกว่า เพราะโดยตัวของ Processor นั้นรู้จักคำสั่งต่าง ๆ มากมาย ทำให้สะดวกต่อการเขียนโปรแกรมใช้งาน และ Program บน CISC นั้นก็มีขนาดเล็กกว่า บน RISC
ลักษณะเฉพาะของคอมพิวเตอร์แบบ CISC ต่อให้ Processor นั้นดีเพียงใดก็ตามแต่ หากไม่มีโปรแกรมมาสนับสนุน หรือเขียนโปรแกรมมาใช้งานบน Processor นั้น ๆ ยาก ก็คงไม่มีคนเลือกใช้ Processor นั้น ๆ เป็นแน่ หากผู้ออกแบบ CISC นั้น ออกแบบมาดี โปรแกรมบางอย่าง อาจทำได้เร็วกว่า RISC ด้วยซ้ำ เพราะมีการใช้คำสั่งที่น้อยกว่า (เพราะมีการเตรียมคำสั่งต่างๆ ไว้จัดการแล้ว)
ลักษณะเฉพาะของคอมพิวเตอร์แบบ CISC ตัวอย่าง เช่น ผมจะหาผลลัพธ์ของ 7 คูณกับ 9 ถ้า RISC มีเพียงคำสั่ง บวก และ ลบ การจะหาผลลัพธ์ของ 7 คูณ 9 ก็คือ ต้องทำการบวก 7 เข้าด้วยกัน 9 ครั้ง สมมุติว่าแต่ละครั้งของการบวก จะใช้เวลา 1 สัญญาณนาฬิกา ก็จะใช้ถึง 9 สัญญาณนาฬิกา และแม้ว่า Compiler นั้นฉลาด ทำการเอา 9 มาบวกกัน 7 ครั้งแทน ก็จะใช้สัญญาณนาฬิกาที่ 7 สัญญาณนาฬิกา ถ้าเป็น CISC ซึ่งมีคำสั่งคูณไว้ให้แล้ว และ ใช้ 5 สัญญาณนาฬิกาในการคูณแต่ละครั้ง การหาผลลัพธ์ของ 7 คูณกับ 9 ก็จะทำได้ใน 5 สัญญาณนาฬิกาเท่านั้น แต่ในบางกรณี เช่น 4 คูณกับ 3 RISC นั้น จะใช้เวลาเพียง 3 หรือ 4 สัญญาณนาฬิกา แต่ CISC กลับต้องใช้ถึง 5 สัญญาณนาฬิกา
ความแตกต่างระหว่างสถาปัตยกรรม CISC และ RISC โครงสร้างการเอ็กซิคิวต์คำสั่งของซีพียูแบบ CISC และ RISC นั้นการเอ็กซิคิวต์คำสั่งในสถาปัตยกรรมแบบ CISC ในแต่ละคำสั่งจะมีขั้นตอนย่อย ๆ ประกอบอยู่แล้วแต่ประเภทคำสั่งว่าจะมี 2 ขั้นตอน, 3 ขั้นตอนหรือมากกว่านั้น ในขณะที่ในสถาปัตยกรรมแบบ RISC ซึ่งเป็นการลดคำสั่งทำให้แต่ละคำสั่งจะมีเพียงขั้นตอนเดียว
ความแตกต่างระหว่างสถาปัตยกรรม CISC และ RISC
ความแตกต่างระหว่างสถาปัตยกรรม CISC และ RISC
ความแตกต่างระหว่างสถาปัตยกรรม CISC และ RISC
เพิ่มเติม สถาปัตยกรรมแบบ CISC และRISC ไปป์ไลน์ (Pipeline) หน่วยประมวลผลรุ่นใหม่จะมีการประมวลผลแบบไปป์ไลน์ กล่าวคือจะมีการ Fetch decode และexecute คำสั่งเหลื่อมกันดังรูปการประมวลผลเหลื่อมกันนี้ทำให้ประสิทธิภาพของการประมวลผลสูงขึ้นมาก แสดงการทำงานแบบไปป์ไลน์เทียบกับการทำงานแบบปกติ
เพิ่มเติม สถาปัตยกรรมแบบ CISC และRISC ซูเปอร์สเกลาร์ (Superscalar) ในหน่วยประมวลผลที่มีประสิทธิภาพสูงบางรุ่น จะประมวลผลชุดคำสั่งหลายชุดคำสั่งได้พร้อมกัน การที่หน่วยประมวลผลประมวลผลคำสั่งได้หลายชุดพร้อมกันนี้เรียกว่า ซูเปอร์สเกลาร์