ทำไมทุกคนต้องการ CISC


42

ในการบรรยายระบบคอมพิวเตอร์ของเราเราได้รับการแนะนำให้รู้จักกับโปรเซสเซอร์ MIPS มันถูกพัฒนาขึ้นอีกครั้งในช่วงระยะเวลาและในความเป็นจริงก็ค่อนข้างง่ายที่จะเข้าใจ มันใช้การออกแบบRISCซึ่งเป็นคำสั่งพื้นฐานที่มีการเข้ารหัสเป็นประจำและมีเพียงไม่กี่คำสั่งเพื่อให้สายไฟง่าย

มันถูกกล่าวว่าCISCเป็นไปตามปรัชญาที่แตกต่าง ฉันดูสั้น ๆ ที่ชุดคำสั่ง x86และตกใจ ฉันไม่สามารถนึกภาพได้ว่าทุกคนต้องการสร้างโปรเซสเซอร์ที่ใช้ชุดคำสั่งที่ซับซ้อนมากเพียงใด!

ดังนั้นฉันคิดว่าจะต้องมีข้อโต้แย้งที่ดีว่าทำไมส่วนใหญ่ของตลาดโปรเซสเซอร์ใช้สถาปัตยกรรม CISC พวกเขาคืออะไร


คำตอบ:


47

มีแนวโน้มทางประวัติศาสตร์ทั่วไป

ในสมัยก่อนความทรงจำมีขนาดเล็กและโปรแกรมก็ไม่ซับซ้อน นอกจากนี้คอมไพเลอร์ก็ไม่ได้ฉลาดมากและมีหลายโปรแกรมที่เขียนในแอสเซมเบลอร์ดังนั้นจึงถือว่าเป็นสิ่งที่ดีที่จะสามารถเขียนโปรแกรมโดยใช้คำสั่งเล็กน้อย ไปป์ไลน์คำสั่งนั้นใช้งานง่ายและโปรเซสเซอร์คว้าคำสั่งครั้งละหนึ่งคำสั่งเพื่อเรียกใช้งาน เครื่องจักรภายในโปรเซสเซอร์นั้นค่อนข้างซับซ้อนอยู่ดี คำแนะนำในการถอดรหัสไม่รู้สึกเป็นภาระมากนัก

ในปี 1970 ผู้ออกแบบ CPU และคอมไพเลอร์ตระหนักว่าการมีคำสั่งที่ซับซ้อนนั้นไม่ได้มีประโยชน์อะไรเลย มันยากที่จะออกแบบโปรเซสเซอร์ซึ่งคำแนะนำเหล่านั้นมีประสิทธิภาพมากและเป็นการยากที่จะออกแบบคอมไพเลอร์ที่ใช้ประโยชน์จากคำแนะนำเหล่านี้ พื้นที่ชิปและความซับซ้อนของคอมไพเลอร์ถูกใช้ไปกับการแสวงหาทั่วไปมากกว่าเช่นการลงทะเบียนทั่วไป บทความวิกิพีเดีย RISCอธิบายในรายละเอียดมากขึ้น

MIPSเป็นสถาปัตยกรรม RISC ที่ดีที่สุดซึ่งเป็นเหตุผลว่าทำไมจึงสอนบ่อยครั้ง

x86ครอบครัวที่แตกต่างกันเล็กน้อย เดิมทีมันเป็นสถาปัตยกรรม CISC สำหรับระบบที่มีหน่วยความจำขนาดเล็กมาก (ไม่มีที่ว่างสำหรับคำสั่งขนาดใหญ่) และได้รับรุ่นต่อเนื่องหลายรุ่น ชุดคำสั่ง x86 วันนี้ไม่เพียง แต่ซับซ้อนเพราะเป็น CISC แต่เป็นเพราะ 8088 กับ 80386 กับ Pentium อาจเป็นด้วยโปรเซสเซอร์ x86_64

ในโลกปัจจุบัน RISC และ CISC ไม่แตกต่างจากขาวดำที่พวกเขาอาจเคยเป็นอีกครั้ง สถาปัตยกรรม CPU ส่วนใหญ่มีการพัฒนาให้เป็นเฉดสีเทาที่แตกต่างกัน

ในด้าน RISC ตัวแปร MIPS สมัยใหม่บางรุ่นได้เพิ่มคำแนะนำการคูณและการหารด้วยการเข้ารหัสที่ไม่สม่ำเสมอ หน่วยประมวลผลARMมีความซับซ้อนมากขึ้น: หลายคนมีชุดคำสั่งแบบ 16 บิตที่เรียกว่าThumbนอกเหนือจากคำสั่ง"ดั้งเดิม" 32 บิตไม่ต้องพูดถึงJazelleเพื่อดำเนินการคำสั่ง JVM บน CPU หน่วยประมวลผล ARM สมัยใหม่ยังมีคำแนะนำSIMDสำหรับการใช้งานด้านมัลติมีเดีย: คำแนะนำที่ซับซ้อนบางอย่างจะต้องจ่ายหลังจากทั้งหมด

ในด้าน CISC โปรเซสเซอร์ล่าสุดทั้งหมดมีขอบเขต RISC ภายใน พวกเขามีไมโครโค้ดเพื่อกำหนดคำสั่งแมโครที่ซับซ้อนเหล่านี้ทั้งหมด ความซับซ้อนที่แท้จริงของโปรเซสเซอร์ทำให้การออกแบบของแต่ละรุ่นใช้เวลานานหลายปีแม้จะมีการออกแบบ RISC สิ่งที่มีส่วนประกอบจำนวนมากพร้อมการวางท่อและการดำเนินการทำนายและอะไรก็ตาม

เหตุใดโปรเซสเซอร์ที่เร็วที่สุดจึงยังคงอยู่ CISC ภายนอก ส่วนหนึ่งของมันในกรณีของตระกูล x86 (32- บิตและ 64- บิต) คือความเข้ากันได้ในอดีต แต่นั่นไม่ใช่ทั้งหมดของมัน ในช่วงต้นยุค 2000 Intel พยายามผลักดันสถาปัตยกรรมItanium Itanium เป็นคำสั่งที่ซับซ้อนมาก (ไม่ใช่ CISC จริง ๆ : การออกแบบได้รับการขนานนามว่าEPIC ) มันยังห่างไกลจากแนวคิดสมัยเก่าของการดำเนินการคำสั่งตามลำดับ: คำสั่งทั้งหมดจะถูกดำเนินการในแบบคู่ขนานจนกว่าจะมีสิ่งกีดขวางต่อไป หนึ่งในเหตุผลที่ Itanium ไม่ได้ทำคือไม่มีใครที่ Intel หรือที่อื่น ๆ สามารถเขียนคอมไพเลอร์ที่เหมาะสมได้ ตอนนี้ตัวประมวลผลที่ต่อเนื่องส่วนใหญ่ที่ดีเช่น x86_64 นั่นคือสิ่งที่เราเข้าใจ


4
หนึ่งในเหตุผลก็คือว่า CISC ออกมาจากความทรงจำ จำกัด (ทำให้คำแนะนำที่มีขนาดกะทัดรัดต้อง) ซีพียูในปัจจุบันมีมากเร็วกว่าหน่วยความจำ ( หนึ่งหน่วยความจำที่สามารถดึงข้อมูลต้องใช้เวลามากพอที่จะดำเนินการหลายร้อยคำแนะนำและช่องว่างที่จะได้รับที่กว้างขึ้น) ดังนั้น คำแนะนำแบบย่ออยู่ที่ระดับพรีเมียมเพื่อใช้แคชอย่างมีประสิทธิภาพ
vonbrand

โอ้และหนึ่งในแรงผลักดันที่อยู่เบื้องหลัง RISC คือการวิเคราะห์คำสั่งที่ดำเนินการบนเครื่อง CISC ของวันนั้น พวกเขาหันมาใช้คำแนะนำง่ายๆอย่างท่วมท้นดังนั้นความพยายามพิเศษ (วงจร - และเวลา) ของการถอดรหัสคำสั่งที่ซับซ้อนส่วนใหญ่จะสูญเปล่า
vonbrand

2
@vonbrand: ในการประมวลผลที่มีคำแนะนำชอบdec [address]พวกเขามีแนวโน้มที่จะถูกนำมาใช้ไม่น้อยและมีข้อได้เปรียบที่สำคัญกว่าในสถาปัตยกรรมที่สามารถดำเนินการได้อย่างมีประสิทธิภาพldr r0,[address] / sub r0,#1 / str r0,[address] การเกิดขึ้นของ RISC นั้นเกิดจากข้อเท็จจริงที่ว่าในขณะที่เครื่องที่ไม่ได้วางท่ออาจใช้decความเร็วมากกว่าสองเท่าของload/sub/storeลำดับการวางท่อสามารถปรับปรุงความเร็วของลำดับหลังมากกว่าที่จะปรับปรุงความเร็วของการอ่าน - แก้ไข - เขียน คำแนะนำ.
supercat

@ vonbrand ถูกต้องใน RAM นั้นไม่ได้มีค่าเกือบเท่าเดิม แต่เป็นแคช Huffman เขียนโค้ดชุดคำสั่ง (ซึ่งเป็นชนิดของ CISC ในสมัยนี้) ยังคงมีคุณค่าในแง่นั้น
นามแฝง

นั่นคือสิ่งที่ฉันไม่เคยรู้เกี่ยวกับ Itanium! ขอบคุณ (และหวังว่าจะมีใครบางคนยังคงผลิต MIPS CPU ระดับสูงขึ้นไป - พวกเขาดูเหมือนว่าพวกเขาจะมีเสน่ห์ในการเขียนโปรแกรมฉันรู้ว่ามีการออกแบบอยู่ แต่ไม่มีใครทำให้พวกเขาออกจาก FPGAs -_-)
Wyatt8740

15

ชุดคำสั่ง x86 นั้นเป็นกรณีพิเศษเล็กน้อย ฉันคิดว่า VAX ของ 68K และ DEC ของ Motorola เป็นตัวอย่างที่ดีกว่าของ CISC ในสมัยที่มีภาษาแอสเซมบลีมากมายคนคิดว่า ISA ที่ปกติและครอบคลุมมาก ๆ นั้นดีกว่า: ฉันเชื่อว่าพวกเขาเรียกความแตกต่างระหว่างรหัสแอสเซมบลีกับวิธีที่ผู้คนคิดว่า " Semantic Gap " ในทางทฤษฎีคุณต้องการชุดคำสั่งที่ตรงกับที่คุณคิด

โปรแกรมควบคุมการออกแบบขนาดใหญ่อื่น ๆ สำหรับ CISC ดูเหมือนจะเป็น "orthogonality": คำสั่งทุกคำสั่งจะทำงานกับทุกโหมดการกำหนดแอดเดรส (การลงทะเบียนที่อยู่ที่แน่นอนการชดเชยเชิงสัมพัทธ์ ฯลฯ ฯลฯ ) คุณสามารถเห็นชายปิศาจแห่ง orthogonality ปรากฏในการออกแบบ API ใน Distributed Computing Environment (DCE) และใน CORBA ความคิดนั้นไม่ได้ จำกัด อยู่ที่การออกแบบชุดคำสั่ง


5
Funny วิธีตั้งฉากในทางปฏิบัติจะเปิดออกจะหมายถึงสหภาพของตัวเลือกทั้งหมด
Dave Clarke

ความเป็นไปได้นั้นอาจนำไปสู่การใช้งานที่ไกลเกินไป แต่เป็นผู้ช่วยที่มีประโยชน์สำหรับหน่วยความจำ ฉันชอบโมโตโรล่า 6502 แต่มันมีทุกอย่างที่ทำให้โมโห "คำสั่งนี้ใช้ X ซึ่งคล้ายกันแค่ Y, อันที่สามไม่มีเลย" ในการ จำกัด การใช้ การได้พบกับ VAX ได้ปลดปล่อย ...
vonbrand

@ vonbrand: 6502 ไม่ใช่โมโตโรล่า - เป็นเทคโนโลยี MOS ซึ่งผลิตเป็นคู่แข่งของโมโตโรล่า 6800 บางครั้งฉันสงสัยว่า 6502 นั้นจะง่ายกว่าหรือซับซ้อนกว่านี้หากคำสั่งที่ไม่ใช่สาขาทั้งหมด ตัวถูกดำเนินการเอามาใช้การเข้ารหัสเดียวกัน (24 คำแนะนำครั้งแปดโหมดที่อยู่สามารถถอดรหัสได้ง่ายมาก) ฉันพบว่ามันน่าประหลาดใจเป็นพิเศษที่ CMP ใช้งานกับแปดโหมดการกำหนดแอดเดรสและ DEC มีเพียงสี่โหมดเท่านั้น แต่ (สำหรับ NMOS รุ่น 6502) หากหนึ่ง "หรือ" opcodes ร่วมกันสำหรับคำแนะนำเหล่านั้นไม่เพียง แต่จะได้รับ "DCP" คำสั่ง ...
supercat

... ซึ่งทำหน้าที่เหมือน DEC แต่จากนั้นเปรียบเทียบผลลัพธ์ของการลดลงกับค่าในตัวสะสมและตั้งค่าสถานะอย่างเหมาะสม แต่ DCP จะจัดการโหมดการกำหนดแอดเดรสที่ไม่สามารถใช้งานได้กับ DEC อย่างถูกต้อง แปลกที่ฮาร์ดแวร์สามารถจัดการได้อย่างถูกต้อง (ZP), Y ที่อยู่กับคำสั่งการอ่าน - แก้ไขการเขียน แต่ตัวถอดรหัสคำแนะนำจะไม่ยอมให้โหมดนั้นทำงานในคำแนะนำการอ่าน - แก้ไข - เขียนที่มีเอกสารใด ๆ
supercat

1
จากสิ่งที่ฉันอ่าน "R" ใน RISC ไม่ได้หมายความว่าโปรเซสเซอร์มีชุดคำสั่งที่ลดลง แต่เป็นชุดที่มีชุดคำสั่งที่ลดลง สิ่งที่ใหญ่ที่สุดคือข้อกำหนดที่หน่วยความจำโหลดและจัดเก็บไม่รวมกับการดำเนินการอื่น
supercat

7

เหตุผลหนึ่งที่ CISC ต้องมีการเข้ารหัสหนาแน่นสำหรับคำแนะนำ (หน่วยความจำมีราคาแพง) แนวคิดทั้งหมดของ RISC คือเพิ่มความเร็วของ CPU โดยดึงคำแนะนำขนาดเดียวกันตลอดเวลา (ไม่มีขั้นตอนที่ซับซ้อน "คำนวณขนาดคำสั่ง" ที่ซับซ้อนช้า) ให้พวกเขาทำสิ่งที่ง่าย . หน่วยความจำราคาถูก พื้นที่วงจรอิสระบนซีพียูนี้สำหรับสิ่งอื่น ๆ (ลงทะเบียนได้มากขึ้น, หน่วยประมวลผลมากขึ้นดังนั้นคำแนะนำหลายอย่างสามารถทำควบคู่กันหากพวกเขาเป็นอิสระ) เนื่องจากซีพียูช้ากว่าแรมมากนี่จึงจ่ายเงินให้ แต่ CPU เร็วขึ้น (และขนานกันมากขึ้นและ ... ) ในขณะที่ RAM ไม่ได้เร็วขึ้น (อย่างน้อยก็ไม่ได้ในอัตราเดียวกันมากกว่าการบริโภคข้อมูลของ CPU เนื่องจากการขนานที่เพิ่มขึ้น) พบกับหน่วยความจำแคชเร็วเท่ากับซีพียู แต่เล็ก ดังนั้นตอนนี้หน่วยความจำก็อยู่ที่ระดับพรีเมี่ยมอีกครั้งไม่ใช่เพื่อเหตุผลด้านราคา แต่เพื่อความรวดเร็ว เวลาฟื้นฟู CISC ในขณะเดียวกันซีพียูก็มีความซับซ้อนมากขึ้น จนถึงจุดที่ไมโครโปรเซสเซอร์ในปัจจุบันทำในสิ่งที่คอมไพเลอร์ RISC ทำ: แยกการทำงานออกเป็นส่วนพื้นฐานเรียงลำดับคำสั่ง RISCy ภายในใหม่เพื่อให้สามารถทำได้พร้อมกันทุกครั้งที่ทำได้ RISC ถูก badmouthed เป็น "บรรเทาสิ่งที่สำคัญในการรวบรวม" ด้วยเหตุผล ...


1
ความจุของหน่วยความจำยังคงมีความสำคัญในระบบฝังตัวบางตัวโดยเฉพาะไมโครคอนโทรลเลอร์ที่หน่วยความจำ / ที่เก็บข้อมูลทั้งหมดอยู่บนชิปตัวประมวลผล นี่อาจเป็นปัจจัยที่สำคัญสำหรับการเปิดตัว CISC ISA - RX-- ของ Renesas นั่นคือไม่ใช่แค่ความหนาแน่นของรหัสสำหรับประสิทธิภาพการทำงาน
Paul A. Clayton

จากสิ่งที่ฉันเข้าใจ "R" ของ RISC ที่อ้างถึงไม่ใช่ชุดคำสั่งที่ลดลง แต่เป็นการลดคำแนะนำลง ที่โดดเด่นที่สุดในโปรเซสเซอร์ CISC เช่น 8086 สามารถเพิ่มค่าโดยตรงไปยังหน่วยความจำ แต่ใน RISC โหลดเพิ่มและจัดเก็บจะต้องดำเนินการเป็นขั้นตอนที่แยกต่างหาก ในหลายกรณีเครื่อง CISC มีชุดคำสั่งที่มีความยาวผันแปรได้และชุดคำสั่งที่หนาแน่นกว่าเครื่อง RISC แต่โปรเซสเซอร์ ARM รุ่นใหม่ใช้คำแนะนำที่มีความยาวผันแปรและยังแยกโหลดและร้านค้า
supercat

@ PaulA.Clayton สิ่งนี้ถูกต้อง แต่ฉันจะอวดและชี้ให้เห็นว่าคุณสามารถเชื่อมต่อ RAM ภายนอก (ทั้ง SRAM หรือ DDR ผ่านตัวควบคุม) และขยายความจุหน่วยความจำของคุณในราคาที่เพิ่มความซับซ้อนและลดการใช้งานจริง
Wyatt8740

3

ข้อได้เปรียบที่แท้จริงของ CISC คือการลดหน่วยความจำและความดันแคชและทำให้การเรียกใช้แอปพลิเคชั่นประสิทธิภาพสูงดีขึ้นเนื่องจากคอขวดที่สำคัญในระบบดังกล่าวคือแบนด์วิดธ์หน่วยความจำ ด้วยหน่วยความจำแคชที่มีขนาดเท่ากันโปรเซสเซอร์ CISC สามารถอธิบายข้อมูลได้มากกว่า RISC นอกจากนี้เนื่องจากคำแนะนำของ CISC นั้นเกี่ยวข้องกับการปฏิบัติงานหลายอย่างด้วยกันหลายครั้งการปรับปรุงสถาปัตยกรรมอาจเป็นไปได้ซึ่งอาจเป็นเส้นทางการดำเนินการที่เร็วที่สุดสำหรับคำสั่งนั้น กล่าวโดยสรุปตัวประมวลผล CISC นั้นมีประสิทธิภาพมากกว่าในการใช้แบนด์วิดท์หน่วยความจำซึ่งมักจะแปลว่าเพิ่มประสิทธิภาพการทำงานสำหรับแอพพลิเคชั่นที่ใช้หน่วยความจำมาก

ตัวอย่างเช่นในการดำเนินการR1 = R2 + R3 + R4 + R5 + R6และผลักดันผลลัพธ์ลงบนสแต็กบอกว่ารหัส RISC ถูกเขียนออกมาเป็น

ADD  R1, R2, R3 (4-byte)
ADD  R1, R4, R5 (4-byte)
ADD  R1, R6, R0 (4-byte, R0=0)
PUSH R1         (4-byte)

และต้องใช้พื้นที่ 16 ไบต์

มาถึง CISC เนื่องจากความเป็นไปได้ของรูปแบบการเข้ารหัสที่แตกต่างกันข้อมูลเดียวกันอาจแสดงดังต่อไปนี้ ...

ADD R1, R2, R3 (4-byte)
ADD R1, R4, R5 (4-byte)
ADD R1, R6     (2-byte)
PUSH R1        (1-byte) 

ซึ่งใช้หน่วยความจำเพียง 12 ไบต์ ดังนั้นการใช้หน่วยความจำได้รับการปรับปรุงให้โปรเซสเซอร์สามารถดูคำแนะนำเพิ่มเติมและลดรอบการไม่ได้ใช้งาน


1
สิ่งนี้ให้มุมมองที่เป็นประโยชน์ แต่ดูเหมือนว่าอาจมีการใช้คำคุณศัพท์มากเกินไป "ประสิทธิภาพที่เพิ่มขึ้นอย่างมหาศาล" - คุณสนใจที่จะวัดปริมาณนั้นหรือไม่ คุณสามารถปรับส่วนที่ "ใหญ่" ได้ไหม? ในทำนองเดียวกันสำหรับ "ข้อมูลเพิ่มเติม"
DW

ฉันเชื่อว่า Linus Torvalds กล่าวข้อความที่คล้ายกัน ลบคำคุณศัพท์ออกไปแล้ว
Revanth Kamaraj

นี่ไม่เป็นความจริงเลย CISC ไม่ลดแบนด์วิดท์หน่วยความจำ แรงกดดันจากทะเบียนอาจจะ
Jeff

Jeff อ้างถึงสถาปัตยกรรม ARM soc ของ Steve Furber
Revanth Kamaraj

หน้า 27 ระบบ ARM รุ่นที่ 2 บนสถาปัตยกรรมชิป
Revanth Kamaraj

2

สิ่งสำคัญที่ไม่มีใครได้กล่าวถึงคือ CISC CPU เกือบทั้งหมดเป็นสถาปัตยกรรมแบบไมโครโค้ด ตัวเก็บเสียงขนาดใหญ่และที่เก็บข้อมูลใช้พลังงานน้อยกว่าตัวควบคุมแบบเดินสายและชุดคำสั่งสามารถแก้ไขได้โดยไม่ต้องดัดแปลงฮาร์ดแวร์

ไมโครโปรเซสเซอร์เป็นอุปกรณ์ที่แปลกใหม่เมื่อฉันเข้าไปในสนาม การปฏิบัติที่เหมือนกันมากในช่วงอายุเจ็ดสิบและแปดต้นคือการประกอบ CPU โดยใช้บิต - ชิ้น ALUs หน่วยควบคุมไมโครเบสและหน่วยควบคุมที่ชุดคำสั่ง microcoded ถูกโหลดหรือเป่า คอมพิวเตอร์เหล่านี้ยึดตามตรรกะทรานซิสเตอร์ทรานซิสเตอร์ (TTL) 7400 ซีรี่ส์ 78181 4 บิต ALU ถูกใช้เพื่อสร้างตัวประมวลผลจำนวนมากรวมถึง DEC PDP-11 และคอมพิวเตอร์ VAX 11 รุ่นแรก Data Data Nova, Xerox Alto และคอมพิวเตอร์ตั้งโต๊ะ Wang


"สิ่งสำคัญที่ไม่มีใครได้กล่าวถึงคือ CISC CPU เกือบทั้งหมดเป็นสถาปัตยกรรมแบบไมโครโค้ด" ใช่และไม่. สำหรับการตั้งเวลาการเรียนการสอน CISC ที่ทันสมัยมักจะใช้วิธีการควบคุมแบบ microcoded สำหรับคำสั่ง CISC แบบเดิม (เช่น x87 คำแนะนำที่ดีเยี่ยม) ในทางตรงกันข้ามแม้แต่ชิป RISC บางครั้งก็ใช้การควบคุมไมโครโค้ดเป็นทางเลือกแทนเครื่องจักรของรัฐสำหรับระบบย่อยบางระบบ (เช่นเพื่อควบคุมหน่วยเฉพาะ) ที่จริงแล้วเส้นแบ่งระหว่างไมโครโค้ดกับตารางสถานะนั้นอาจคลุมเครือ
นามแฝง

2

คุณจะพบกับคอมพิวเตอร์ตั้งโต๊ะที่ไม่ได้ใช้โปรเซสเซอร์ที่รองรับ x86 ได้ยาก ชุดคำสั่งนั้นทุบตี MIPS มันทุบ Sparc ทุบตีอัลฟ่าทุบไททานิค (ฉันอาจสะกดชื่อผิด) MIPS ในทางกลับกันแทบจะไม่มีอยู่ในปัจจุบัน ไม่ว่าคุณจะคิดอย่างไรวันนี้คนฉลาดคิดว่าชุดคำสั่ง x86 นั้นเป็นความคิดที่ดีจริงๆและพวกเขาก็ทำเงินได้มากมาย

คอมพิวเตอร์เริ่มเป็น RISC เพราะชุดคำสั่งที่ซับซ้อนนั้นเกินความสามารถของผู้ใช้งาน หากคุณต้องการดูชุดคำสั่ง RISC ให้ดูชุดคำสั่ง CDC 6400-6600 และ CDC Cyber ​​170-175 นั่นคือ RISC ที่เหมาะสม ประมาณ 10 ปีที่แล้วฉันถามนักออกแบบชิปว่าต้องใช้พื้นที่เท่าใด (ในมุมของชิป GPU ขั้นสูงที่เหมาะสม) พวกเขาบอกฉันเกี่ยวกับ 1mm2 - รวมถึง RAM ของเครื่องซึ่งจะใช้พื้นที่ 99%

เมื่อผู้คนสามารถสร้างเครื่องจักร CISC พวกเขาได้เปรียบจริง โปรดจำไว้ว่า x86 เปิดตัวมานานก่อน MIPS, 1978 และ 1985 ในเวลานั้นคุณจำเป็นต้องใช้ตัวประมวลผลรอบสำหรับการอ่านคำแนะนำ MIPS ในปี 1978 จะมีสี่รอบต่อการเรียนการสอนและต่อการดำเนินงาน หากคุณใช้คำสั่ง x86 เช่น "เพิ่มการลงทะเบียนในหน่วยความจำ" นั่นอาจใช้เวลาประมาณ 7 รอบในการเรียนการสอน แต่ดำเนินการ 3 ครั้ง นั่นเป็นข้อได้เปรียบที่สำคัญ และยิ่งคุณมีคำแนะนำที่ต่างกันมากเท่าใดและยิ่งคำแนะนำแต่ละอันทรงพลังมากเท่าไหร่ก็ยิ่งได้เปรียบมากเท่านั้น

และเมื่อชุดคำสั่ง x86 64 บิตพร้อมรหัสนำหน้าฝันร้ายได้รับการพัฒนาความซับซ้อนของชุดคำสั่งไม่สำคัญอีกต่อไป ทุกวันนี้ CISC เพิ่งแปลเป็น RISC และธุรกิจการแปลทั้งหมดอาจจะเป็นหนึ่งเปอร์เซ็นต์ของชิป


1

คำถามนี้มีจำนวนมากจะทำอย่างไรกับแนวโน้มล่าสุดในการคำนวณที่เห็นชอบให้มีการเปลี่ยนแปลงขนาดใหญ่เพื่อโทรศัพท์มือถือและแท็บเล็ตคอมพิวเตอร์จึงนิยม RISC ซีพียูและได้จับ Intel (อาจโลกส่งอาหาร CISC ใหญ่ที่สุด) ที่เสียเปรียบในที่เรียกว่า"โรคติดเชื้อ ชี้ "เหมือนกับชนิดที่โกรฟดึงดูดและเตือน เรื่องสั้นคือ CISC ดูเหมือนว่าจะเริ่มละลายไปภายใต้การเปลี่ยนแปลงกระบวนทัศน์ขนาดใหญ่/ การเล่นเกมการเปลี่ยนแปลงของการใช้คอมพิวเตอร์มือถือเนื่องจากเห็นได้ชัดว่าการใช้พลังงานสูงมาก

CISC จะอยู่บนเดสก์ท็อปเสมอ แต่มือถือได้รับการยอมรับอย่างกว้างขวางว่าเป็นอนาคตใหม่ของการคำนวณ ประเทศกำลังพัฒนาหลายแห่ง (ที่มีประชากรจำนวนมากใช้คอมพิวเตอร์) จะข้ามระยะเดสก์ท็อปไปส่วนใหญ่ ดูตัวอย่างการเพิ่มและลดลงของการประมวลผลเดสก์ท็อป

กรณีศึกษาที่ยอดเยี่ยมของคำถามนี้คือการอ่านเกี่ยวกับ Mike Bell ที่ทำงานให้กับ Intel ในตำแหน่งใหม่ที่พยายามวางตำแหน่ง Intel ให้ดีขึ้นในตลาดอุปกรณ์พกพาผ่าน Atom CPU ผ่านทางโครงการ / ความคิดริเริ่ม skunkworks ที่มีผู้บริหารที่แข็งแกร่งมาก สนับสนุน. ตลาดมือถือมีการเชื่อมโยงอย่างแน่นหนากับสถาปัตยกรรม RISC และส่วนใหญ่เป็นโปรเซสเซอร์ ARM เนื่องจากประสิทธิภาพการใช้พลังงานสูง (การใช้พลังงาน) ซึ่งเป็นเกณฑ์สำคัญใหม่สำหรับการคำนวณซึ่งคำถามนั้นไม่มีคำตอบอื่นใด ต่อไปนี้เป็นสองบทความล่าสุดในบรรทัดเหล่านี้ที่เปิดเผยความคิดภายในองค์กรจำนวนมาก (และการแย่งชิงกันในภายหลัง) ในเรื่อง:


ภาคผนวก หมายถึงการอ้างถึงบทความเกี่ยวกับประเด็นโรคติดเชื้อทางธุรกิจซึ่งสัมพันธ์กับแนวคิดทางคณิตศาสตร์อย่างหลวม ๆ ดูตัวอย่างเช่นAndy Grove และความลึกลับของจุดโรคติดเชื้อ
vzn

0

ปัจจัยที่ไม่ได้กล่าวถึงในคำตอบอื่น ๆ คือเศรษฐกิจ มันเป็นเรื่องเกี่ยวกับ Intel สถาปัตยกรรม CISC นั้นส่วนใหญ่แสดงโดยตระกูล x86 และ x64 สิ่งเหล่านี้สืบทอดมาจากยุค 8088 ที่ต่ำต้อยที่ใช้ในพีซี IBM ดั้งเดิม การครองตลาดในช่วงแรกของชุดคอมพิวเตอร์นั้นหมายความว่า Intel มีรายได้ที่มั่นคงสำหรับการวิจัยและพัฒนา ประกอบกับข้อเท็จจริงที่ว่า Intel สามารถควบคุมการแข่งขันได้โดยการตกลง / ยกเลิกข้อตกลงแหล่งที่สองหมายความว่าราคาของ CPU อาจสูงขึ้นถึงระดับมากทำให้มั่นใจได้ว่ากำไรขั้นต้นจะสูงมาก

ดังนั้นในขณะที่ผู้ผลิตซีพียูรายอื่น ๆ พยายามดิ้นรนเพื่อให้ก้าวทันเวลาอินเทลสามารถที่จะทุ่มเงินหลายพันล้านดอลลาร์เพื่อพัฒนาผลิตภัณฑ์ใหม่ที่เร็วกว่าเดิม การแข่งขัน RISC ไม่สามารถใช้เงินเกือบได้เท่าไหร่ โปรเซสเซอร์ RISC จำนวนมากออกสู่ตลาด บางคน:

DEC อัลฟ่า, Fairchild Clipper, AMD 29000, SPARC, MIPS, POWER (สำหรับการใช้พีซี), Hitachi SuperH ...

ฉันจำได้ว่าผู้เชี่ยวชาญในยุคนั้นประกาศว่าสงคราม RISC กับ CISC สิ้นสุดลงและ CISC ชนะแล้ว มันไม่ได้ มันเกินคนอื่นทุกคน

ไดนามิกนี้สามารถเปลี่ยนแปลงได้หรือไม่? มันเป็นอยู่แล้ว ไม่มีข้อได้เปรียบทางเศรษฐกิจแน่นอน

ส้น Achilles หนึ่งเดียวของ x86 คือความกระหายพลังงาน สิ่งนี้ทำให้คู่แข่งที่เล็กและคล่องแคล่วว่องไวยิ่งขึ้น (ARM) สามารถเติบโตได้ในตลาด

วิดีโอที่ยอดเยี่ยมเกี่ยวกับเรื่องนี้จากสมาชิกของทีมARMคือARM Processor - การหว่านเมล็ดแห่งความสำเร็จ - Computerphileเมื่อเวลาประมาณ 8:30 น.

ปัญหาที่สองสำหรับ x86 คือความสำเร็จของกลยุทธ์ของ Intel พวกเขาพยายามกำจัดคู่แข่งเกือบทั้งหมด พวกเขาชะลอตัวลง เป็นเวลาหลายปีแล้วที่โปรเซสเซอร์ใหม่ของ Intel ได้มอบการปรับปรุงในระดับเล็กน้อยเท่านั้น ยิ่งไปกว่านั้นอัตรากำไรขั้นต้นที่สูงมากเป็นอาหารที่ยากที่จะยอมแพ้เพื่อ บริษัท ใด ๆ

ปัจจุบันระบบที่ใช้ ARM บนชิป (SOC) และชิป x64 ที่แข่งขันกันจาก AMD นั้นทำให้ตลาดซีพียูน่าสนใจอีกครั้ง (IMHO)


0

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

ความหนาแน่นของรหัสอาจเป็นเหตุผลสำคัญอันดับสองสำหรับการเลือก CISC Renesas RX ได้รับการออกแบบให้เป็น CISC โดยเฉพาะสำหรับความหนาแน่นของรหัสเนื่องจากมีเป้าหมายเป็นไมโครคอนโทรลเลอร์ที่ขนาดหน่วยความจำรหัสเป็นปัจจัยด้านต้นทุนที่สำคัญ คำแนะนำความยาวผันแปรคำแนะนำที่ซับซ้อน (ส่วนใหญ่โหมดการกำหนดแอดเดรส) ตัวถูกดำเนินการทางอ้อมและการลงทะเบียนต่ำกว่าจะนับความหนาแน่นของรหัสผลประโยชน์ทั้งหมด

เหตุผลทางประวัติศาสตร์ (และในความคิดของฉันเข้าใจผิด) เหตุผลในการเลือก CISC คือการปิดช่องว่างความหมายระหว่างโปรแกรมเมอร์โดยใช้ภาษาระดับสูงและโปรเซสเซอร์ เนื่องจากโดยทั่วไปคำสั่งที่ซับซ้อนสามารถถูกแทนที่ด้วยลำดับของคำสั่งที่ง่ายกว่าความซับซ้อนของคอมไพเลอร์ภาษาระดับสูงสำหรับ RISC จึงไม่จำเป็นต้องมีความซับซ้อนมากไปกว่า CISC ที่ตรงกันกับภาษา RISC หลีกเลี่ยง "semantic clash" (โดยที่คำสั่งตัวประมวลผลทำงานได้มากกว่าหรือน้อยกว่าคำสั่งภาษาที่เกี่ยวข้อง) และช่วยลดความแรงและกำหนดเวลาการปรับให้เหมาะสม (ดู"อะไรคือข้อแลกเปลี่ยนในความพยายามพัฒนาคอมไพเลอร์ที่เกี่ยวข้องกับ CISC กับ RISC?"สำหรับรายละเอียดเพิ่มเติม)

อาจมีค่าใช้จ่ายคงที่สำคัญที่เกี่ยวข้องกับการดำเนินการคำสั่ง สิ่งนี้สนับสนุนให้ใช้คำสั่งที่ค่อนข้างซับซ้อนเพื่อกระจายค่าใช้จ่ายนี้ไปยังงานจริงมากขึ้น การลดจำนวนคำสั่งแบบไดนามิกสามารถปรับปรุงประสิทธิภาพได้ เมื่อค่าใช้จ่ายของลอจิกและ RAM สูงกว่าค่า ROM มากแรงจูงใจสำหรับคำสั่งที่ซับซ้อนนั้นมีความสำคัญเนื่องจากคำสั่งนั้นถูกถอดรหัสโดยการค้นหาไมโครโค้ด

เหตุผลในการใช้ CISC ที่อาจขัดแย้งกับหลักฐานทางประวัติศาสตร์คือไมโครโค้ดสามารถปรับให้เหมาะสมสำหรับแต่ละไมโครอาร์คิเทคเจอร์ในขณะที่ไลบรารี่มาตรฐานอาจช้าในการใช้ประโยชน์จากคุณสมบัติของการใช้งานใหม่ ระดับการปรับให้เหมาะสมของการใช้งานซอฟต์แวร์ของ memcopy กับไมโครโค้ดสำหรับ REP MOVSB ​​หมายความว่าห้องสมุดสามารถได้รับความสนใจมากกว่าไมโครโค้ด ส่วนหนึ่งอาจมาจากผู้จำหน่ายหน่วยประมวลผลที่กำหนดเป้าหมายฐานผู้ใช้ที่กว้างขึ้นดังนั้นการให้เหตุผลของความพยายามอาจยากขึ้นเมื่อเทียบกับโอเพนซอร์ซหรือซอฟต์แวร์ภายในซึ่งผลประโยชน์ของผู้พัฒนาหรือผู้ใช้

ความสามารถในการจัดส่งไลบรารี่มาตรฐานที่ปรับให้เหมาะสมกับโปรเซสเซอร์นั้นมีจุดสนใจที่สำคัญ การจัดเก็บและการดำเนินการของไลบรารีมาตรฐานของแพลตฟอร์มสามารถปรับให้เหมาะสมโดยการใช้รหัสฮาร์ดแวร์ซอฟต์แวร์ ความแตกต่างระหว่างคำสั่งที่ซับซ้อนและการเรียก Platform Abstraction Layer นั้นอาจจะบอบบาง (หรือไม่มีอยู่จริง) การออกแบบ RISC สามารถใช้เทคนิคการนำไปปฏิบัติแบบเดียวกันสำหรับการจัดการการโทร PAL เหมือนกับ CISC สำหรับคำสั่งที่ซับซ้อนรวมถึงการใช้งานที่ไม่ได้ระบุไว้ในชุดคำสั่งทั่วไปกับฮาร์ดแวร์พิเศษโดยใช้การแคชและถอดรหัสที่ชาญฉลาดและระบุตัวถูกลงทะเบียน มักใช้รีจิสเตอร์เฉพาะที่คล้ายกับฟังก์ชันต่อ ABI) แบบจำลองทางจิตที่เกี่ยวข้องกับ CISC สามารถส่งเสริมการปรับให้เหมาะสมดังกล่าว นอกจากนี้ผู้ใช้อาจถูกทำให้ขุ่นเคืองน้อยลงด้วยการรวมการบังคับของ "

การถอดรหัสคำสั่งที่ค่อนข้างซับซ้อนอาจมีค่าใช้จ่ายน้อยกว่า (และอาจเป็นไปได้ที่จะถูกต้องในเจตนาที่ฉลาด) กว่าเทคนิค RISC ที่เปรียบเทียบได้ของการรับรู้สำนวนซึ่งลำดับของคำสั่งนั้นได้รับการยอมรับว่าเป็นหน่วยความหมาย ความแตกต่างของค่าใช้จ่ายนี้จะเห็นได้ชัดเจนที่สุดในการติดตั้งใช้งานที่น้อยลง แต่ค่าใช้จ่ายในการใช้ข้อมูลนี้จะลดความสำคัญของการประหยัดการถอดรหัส

ข้อมูลบริบทเพิ่มเติมสามารถอำนวยความสะดวกในการปรับแต่งฮาร์ดแวร์ ตัวอย่างเช่นเมื่อการเพิ่มค่าในหน่วยความจำฮาร์ดแวร์สามารถรับรู้ว่าที่อยู่หน่วยความจำถูกใช้สองครั้ง (สำหรับการโหลดและที่เก็บ) ให้โอกาสในการบันทึกวิธีการบันทึกและแคชแคช คำแนะนำที่ซับซ้อนสามารถให้ข้อมูลดังกล่าวได้อย่างชัดเจน ในการเรียนการสอนที่ซับซ้อนค่ากลางมีอายุการใช้งานที่ชัดเจน (ที่ของการเรียนการสอน); ด้วยค่าการลงทะเบียน RISC แบบดั้งเดิมจะต้องถูกเขียนทับอย่างชัดเจนเพื่อบ่งบอกถึงจุดสิ้นสุดของชีวิต (หมายเหตุ: RISC สามารถระบุการลงทะเบียนซึ่งจะเป็นศูนย์เสมอหลังการใช้งานแต่ละครั้งโดยมีวิธีการระบุค่าชั่วคราวแบบใช้ครั้งเดียวคำแนะนำดังกล่าวจะซับซ้อนกว่าปานกลาง)

หากรายละเอียดการใช้งานไม่ได้ซ่อนอยู่หลังเลเยอร์นามธรรมมันก็ยิ่งยากที่จะใช้สถาปัตยกรรมขนาดเล็กที่แตกต่างกันเพื่อปรับให้เหมาะสมสำหรับการแลกเปลี่ยนที่แตกต่างกัน การเปิดเผยรายละเอียดทางสถาปัตยกรรมขนาดเล็กในขณะที่การค้ำประกันทางสถาปัตยกรรมเป็นการล็อกสถาปัตยกรรมแบบไมโครในการรับประกันความเข้ากันได้ ในขณะที่ซอฟต์แวร์ PAL สามารถปรับให้เหมาะสมเช่นเดียวกับคำแนะนำที่ซับซ้อนเช่นต้องใช้รหัสซอฟต์แวร์ฮาร์ดแวร์ การแยกองค์กรและความหลากหลายทำให้การลงรหัสทำได้ยากขึ้น

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

ในทำนองเดียวกันคำสั่งที่ซับซ้อนสามารถให้การควบคุมการเข้าถึงและ / หรือการใช้ข้อมูลพิเศษ เนื่องจากการดำเนินการที่ดำเนินการได้มีการควบคุมความหมายการละเมิดสิทธิ์ที่แท้จริงสามารถหลีกเลี่ยงได้ ทางเลือกที่มุ่งเน้น RISC ประกอบด้วยรหัส PAL (ซึ่งโดยทั่วไปจะมีค่าใช้จ่ายสูง) และการเข้าถึงการกำหนดค่ารีจิสเตอร์ (หรือสำเนาเงาของรีจิสเตอร์) ที่มีสถานะสิทธิพิเศษบางอย่าง การให้บริการโซลูชันทั่วไป (RISC) นั้นยากกว่าการจัดหาโซลูชันให้กับกรณีพิเศษหนึ่งหรือสองสามกรณี (CISC) แต่มีประสิทธิภาพมากกว่าและมีความเสี่ยงน้อยกว่าต่อการสะสมกรณีพิเศษ หากใครเชื่อว่ากรณีพิเศษที่สำคัญมีน้อย CISC สามารถดึงดูดได้มากกว่า

คำแนะนำที่ซับซ้อนสามารถซ่อนสถานะจากซอฟต์แวร์ ข้อได้เปรียบที่โดดเด่นอย่างหนึ่งของการทำเช่นนี้คือเพื่อการบันทึกบริบทและการกู้คืน ด้วยคำแนะนำที่บันทึกและกู้คืนสถานะสถาปัตยกรรมจำเป็นต้องสื่อสารขนาดบริบทไปยังระบบปฏิบัติการไม่ใช่กลไกเฉพาะสำหรับการถ่ายโอนสถานะไปยังหน่วยความจำ สิ่งนี้อนุญาตให้แอปพลิเคชันที่ทำงานบนระบบปฏิบัติการรุ่นเก่าใช้ส่วนขยาย ISA ซึ่งเพิ่มสถานะไว้ (อีกครั้งซอฟต์แวร์ PAL สามารถให้ฟังก์ชันการทำงานเดียวกันได้)


ความซับซ้อนส่วนใหญ่ของ x86 มาจากความเข้ากันได้กับส่วนขยายจำนวนมาก ด้วยคำแนะนำที่ซับซ้อนและน้อยกว่า orthogonal (มีประโยชน์สำหรับความหนาแน่นของรหัส) การลบงานบางอย่างที่ไม่จำเป็นออกไปโดยทั่วไปหลีกเลี่ยงการพึ่งพาเครือข่ายที่ไม่จำเป็น (เช่นมีเพียงบิตเดียวเท่านั้น ออกมาใช้กันอย่างแพร่หลายและสามารถปรับให้เหมาะสมในการเรียนการสอนที่ซับซ้อน - สิ่งเหล่านี้จะต้องเพิ่มการเรียนการสอนใหม่และทำให้ ISA ที่ชื่นชอบสุนทรียภาพน้อยลง

ในหลายกรณี RISC จะไม่พบปัญหาดังกล่าวเนื่องจากคำแนะนำนั้นมีมุมฉากและดั้งเดิม ในบางกรณี RISC อาจจำเป็นต้องเพิ่ม primitives ใหม่ แต่โดยทั่วไปจะสามารถใช้ได้กับการใช้มากกว่าหนึ่งครั้ง

นอกจากนี้เมื่อโครงสร้างพื้นฐานพร้อมรองรับคำสั่งที่ซับซ้อนอุปสรรคจะลดลงสำหรับคำแนะนำที่ซับซ้อนเพิ่มเติม นั่นคือต้นทุนส่วนใหญ่ของคำแนะนำที่ซับซ้อนในการไม่เกิดซ้ำ ISIS RISC ที่แข็งแกร่งประสบอุปสรรคที่สมบูรณ์เพื่อแนะนำคุณสมบัติ CISCy

ความถี่ของการขยายของ x86 อาจเป็นผลมาจากความนิยมในการใช้งานคอมพิวเตอร์ทั่วไปและโมเดลตัวประมวลผลการค้า RISC ISAs มักถูกผูกติดอยู่กับผู้ขาย sysem ซึ่งมุ่งเน้นไปที่แอพพลิเคชั่นที่แคบลงและขาดการแข่งขันสำหรับการใช้งาน RISC ISA ที่เฉพาะเจาะจงค่อนข้างท้อใจการใช้ส่วนขยายชุดคำสั่งสำหรับการตลาด ความนิยมยังทำให้ค่าใช้จ่ายในการพัฒนาส่วนขยายใหม่ลดลงอย่างมีนัยสำคัญ (ค่าใช้จ่ายที่ไม่เกิดขึ้นประจำมีความสำคัญน้อยกว่าในปริมาณที่สูงขึ้น)

ปรัชญาความเข้ากันได้ของ x86 อาจมีอคติต่อการขยายกลไกที่มีอยู่แทนที่จะให้การหยุดพักที่สะอาดยิ่งขึ้นซึ่งหมายความว่าคุณลักษณะใหม่จะได้รับอิทธิพลจากคุณลักษณะที่มีอยู่ ความถี่ที่สูงขึ้นของการขยายยังส่งเสริมการเปลี่ยนแปลงที่เพิ่มขึ้นซึ่งสนับสนุนกลไกการใช้ซ้ำโดยมีแนวโน้มลดความตั้งฉาก

การเปรียบเทียบการนำเสนอเชิงวิชาการของ MIPS แบบคลาสสิก (ซึ่งเป็นส่วนย่อยของ MIPS รุ่นทันสมัยและไม่รวมส่วนขยาย ISA ที่เป็นตัวเลือก) กับ x86 ที่ทันสมัย ​​(ซึ่งร่องรอยความเข้ากันได้ของไบนารีกลับไปเป็น 16 บิต 8086 และความเข้ากันได้เสมือน ด้วยกระเป๋าสัมภาระประวัติศาสตร์ทั้งหมดไม่ได้นำเสนอกรณีที่ดีที่สุดสำหรับ CISC หรือกรณีที่เป็นจริงสำหรับ RISC


-1

ก่อนที่จะมีการตั้งค่าชุดคำสั่งลดลงมีการตั้งค่าชุดคำสั่ง พวกเขามีแอปพลิเคชันของพวกเขา โดยเฉพาะอย่างยิ่งในการถ่ายโอนบล็อกหน่วยความจำขนาดใหญ่ที่มีชิปเซ็ตความจุสูงซึ่งจะต้องเพียง 4-16 ไบต์เพื่อถ่ายโอนหน้าวิดีโอทั้งหมดแทนการวนซ้ำที่ยาวนาน ที่มีการเปลี่ยนแปลงและ RISC กลายเป็นสภาพที่เป็นอยู่ในขณะที่ชุดชิปมีความซับซ้อนมากขึ้นเช่น GPU ที่น่าทึ่งที่พบในการ์ดแสดงผลระดับสูง


-2

CISC cpu มีข้อได้เปรียบมากกว่า RISC เพราะ CISC ใช้ฮาร์ดแวร์ลงทะเบียนน้อยกว่าและประตู XNOR / XOR น้อยกว่า RISC หลายครั้ง !!!! ลองนึกภาพว่าไบต์การสอนใน CISC จะถูกดำเนินการตามลำดับมีเพียงหนึ่งตรรกะเกทและใช้การลงทะเบียน ถ้า 1 bilion transistor สามารถผลิตลอจิกเกทได้ประมาณ 300 ล้านประตูดังนั้นคุณสามารถประมวลผลตัวดำเนินการหรือกระบวนการ 300 milion (IF, เท่าเทียมกัน, คณิตศาสตร์, ตัวแปร, การกำหนดแอดเดรส ... ฯลฯ ) และโปรแกรมอื่น ๆ สามารถทำงานใน CISC แต่ใน RISC มันต้องใช้เวลาหลายสิบครั้งของตรรกะประตูสำหรับการเรียกใช้โปรแกรมในการออกแบบท่อ 300 milion x 50 ครั้ง (50 คำสั่ง) + 15000000000 บิตเคาน์เตอร์ !!! ใน RISC ที่เรียกว่า CISC ใช้ฮาร์ดแวร์มากขึ้นเพื่อลดซอฟต์แวร์ algothrim ซึ่งทำให้ซีพียูช้าลง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.