คำสั่ง RISC / CISC ใช้เวลากี่รอบในการประมวลผล


13

ตามการออกแบบดิจิทัลและสถาปัตยกรรมคอมพิวเตอร์โดย Harris และ Harris มีหลายวิธีในการใช้งานตัวประมวลผล MIPS ซึ่ง ได้แก่ :

microarchitecture รอบเดียวดำเนินการเรียนการสอนทั้งในหนึ่งรอบ ( ... )

Multicycle microarchitectureคำแนะนำรันในชุดของรอบสั้น ( ... )

microarchitecture ไปป์ไลน์ใช้ pipelining กับสถาปัตยกรรมรอบเดียว

สถาปัตยกรรมมักถูกจัดเป็น RISC หรือ CISC จากRISC กับ CISC :

โปรเซสเซอร์ RISC ใช้คำแนะนำง่ายๆที่สามารถเรียกใช้งานได้ภายในหนึ่งรอบนาฬิกา

เนื่องจาก MIPS เป็นสถาปัตยกรรม RISC ฉันสับสนเล็กน้อยตามคำนิยามข้างต้นและสงสัยว่าไม่มีความขัดแย้งระหว่างพวกเขาหรือเปล่า โดยเฉพาะอย่างยิ่ง:

  1. หากคำสั่ง RISC สามารถแบ่งออกเป็นรอบที่สั้นลง (Fetch, Decode, ... ) เราจะพูดได้อย่างไรว่าใช้เวลาหนึ่งรอบนาฬิกาในการดำเนินการคำสั่งทั้งหมด ไม่ใช้เวลาหนึ่งรอบในการดำเนินการแต่ละขั้นตอนใช่หรือไม่
  2. มันไม่ได้จริงๆใช้วงจรนาฬิกาหนึ่งในการดำเนินการเรียนการสอน RISC หนึ่ง? เช่นเกิดอะไรขึ้นถ้ามีการพลาดแคชและโปรเซสเซอร์ต้องรอ DRAM ช้า สิ่งนี้ควรยืดอายุการใช้งานของการสอนไม่นานใช่ไหม?
  3. วัฏจักรการเรียนการสอนเดียวคืออะไร? มันเป็นเวลาที่จะใช้เวลาหนึ่งคำสั่งให้เสร็จสิ้น (เช่นหนึ่ง / หลายรอบนาฬิกา)?
  4. การเรียนการสอน CISC หนึ่งครั้งใช้เวลาเท่าไรในนาฬิกา / รอบการสอน

2
มักจะไม่น้อยกว่าหนึ่ง :-)
รัสเซลแม็คมาฮอน

คำตอบ:


22

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

  1. โปรเซสเซอร์ RISC เชิงวิชาการดั้งเดิม (และฉันคิดว่าอาจเป็นเวอร์ชั่นเชิงพาณิชย์รุ่นแรก) ได้ดำเนินการสอนหนึ่งคำสั่งต่อรอบรวมถึงการดึงและถอดรหัส สิ่งนี้เป็นไปได้เพราะดาต้าแคทนั้นสะอาดมากเพราะการทำงานของแต่ละด่านนั้นง่ายและชัดเจน (การแลกเปลี่ยนที่นี่เป็นเพียงคำแนะนำที่ง่ายมากที่สามารถนำมาใช้ด้วยวิธีนี้) เมื่อมันกระทบโลกแห่งความเป็นจริงก็จะเบลอ สิ่งต่างๆเช่น pipelining และสถาปัตยกรรม superscalar ทำให้การแบ่งขั้ว RISC / CISC ง่ายเป็นไปไม่ได้

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

  3. หนึ่งรอบการเรียนการสอนคือเวลาที่ใช้ระหว่างการดึงข้อมูล

  4. ขึ้นอยู่กับการสอนและสถาปัตยกรรมชุดคำสั่งเป็นอย่างมาก แม้ในสถาปัตยกรรม CISC คำแนะนำบางอย่างสามารถดำเนินการได้อย่างรวดเร็ว (เช่นเลื่อนไปทางซ้ายหรือขวาเป็นต้น) บางคนทำงานช้ามาก (10 วินาทีหรือมากกว่า) สถาปัตยกรรม VAX (อาจเป็นจุดสุดยอดของปรัชญา CISC) มีคำแนะนำที่ซับซ้อนจริงๆ อนึ่งสถาปัตยกรรม CISC มักจะง่ายต่อการโปรแกรมในการประกอบกว่าสถาปัตยกรรม RISC เพราะมันเกือบจะเป็นภาษาระดับสูง!


5

คำตอบสั้น ๆ

  1. ขั้นตอนในการถอดรหัสและการดำเนินการคำสั่งจะถูกดำเนินการควบคู่ไปกับขั้นตอนถัดไปของคำสั่งก่อนหน้า เทคนิคนี้เรียกว่า pipelining ดูที่ RISC โปรเซสเซอร์ด้านล่าง

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

  3. วงจรการสอนคือระยะเวลาที่ต้องใช้ในการดำเนินการคำสั่ง สิ่งนี้จะแตกต่างกันไปตามสถาปัตยกรรมและคำแนะนำ (ในบางกรณี) ตัวอย่างเช่นคำแนะนำส่วนใหญ่เกี่ยวกับบางสิ่งบางอย่างเช่น MIPS R2000 / 3000 ใช้เวลาหนึ่งรอบ คำแนะนำเกี่ยวกับการเข้าถึงหน่วยความจำ (โหลด / เก็บสาขา) ใช้เวลามากกว่าหนึ่งรอบแม้ว่าช่วงเวลาหน่วงหมายถึงคุณสามารถดำเนินการอย่างอื่นได้ (อาจเป็นเพียง NOP) ในช่วงหน่วงเวลา สถาปัตยกรรมที่ไม่ใช่ไปป์ไลน์สามารถมีวงจรการเรียนการสอนของรอบสัญญาณนาฬิกาหลายรอบซึ่งมักแตกต่างกันไปตามโหมดการกำหนดแอดเดรส ดูที่โปรเซสเซอร์ RISC, สถาปัตยกรรมแบบ CISC ดั้งเดิมและสถาปัตยกรรมเดินสายด้านล่าง

    การออกแบบที่มีหลายประเด็นสามารถทำให้เบลอแนวคิดนี้ได้โดยการดำเนินการมากกว่าหนึ่งคำสั่งพร้อมกัน

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

คำตอบอีกต่อไป

สำหรับปัญหา MIPS, SPARC หรือ CPU อื่น ๆ ปัญหาคำแนะนำทั้งหมด (สำหรับการประมาณการครั้งแรก) ในรอบเดียวแม้ว่าพวกเขาจะมีสิ่งที่เรียกว่า 'สล็อตล่าช้า'

บนโปรเซสเซอร์ RISC

ในบริบทนี้ CPU ปัญหาเดียวคือ CPU ที่ไม่ได้ทำการวิเคราะห์การพึ่งพาและการออกคำสั่งแบบขนานในวิธีการที่ CPU สมัยใหม่ทำเช่นพวกเขามีหน่วยดำเนินการเพียงหน่วยเดียวที่ดำเนินการตามคำสั่งใน ลำดับที่อ่านจาก memoty เพิ่มเติมเกี่ยวกับเรื่องนี้ในภายหลัง

โปรเซสเซอร์ RISC ที่เก่ากว่าส่วนใหญ่เป็นแบบปัญหาเดียวและประเภทเหล่านี้ยังคงใช้กันอย่างแพร่หลายในระบบฝังตัว แกน RISC จำนวนเต็ม 32 บิตปัญหาเดียวสามารถใช้งานได้ในรอบ 25,000-30,000 ประตูดังนั้นแกนประมวลผลของซีพียูประเภทนี้จึงใช้พลังงานต่ำมากและมีขนาดเล็กมาก สิ่งนี้ทำให้ง่ายและถูกรวมเข้ากับผลิตภัณฑ์ SOC (ระบบบนชิป)

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

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

ตัวอย่างเช่นในการออกแบบSPARC V7 / V8การเรียนการสอนต่อไปหลังจากสาขาจะดำเนินการจริงก่อนที่สาขาตัวเองจะเกิดขึ้น โดยทั่วไปแล้วคุณจะใส่ NOP เข้าไปในช่องหลังจากสาขา แต่คุณสามารถใส่คำสั่งอื่นเข้าไปถ้าคุณสามารถหาสิ่งที่มีประโยชน์ได้

สถาปัตยกรรม MIPS R2000 / R3000มีสล็อตการหน่วงเวลาคล้ายกันในคำแนะนำในการโหลด / จัดเก็บ หากคุณโหลดค่าจากหน่วยความจำจริง ๆ แล้วมันจะไม่ปรากฏในการลงทะเบียนสำหรับรอบอื่น คุณสามารถใส่ NOP ในช่องหรือทำอย่างอื่นถ้าคุณพบสิ่งที่มีประโยชน์ในการทำเช่นนั้นไม่ได้ขึ้นอยู่กับการดำเนินการโหลดที่คุณเพิ่งเปิดตัว

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

โปรเซสเซอร์ CISC ดั้งเดิม

โปรเซสเซอร์ CISCเป็นงานออกแบบที่อาจมีคำสั่งที่ใช้ระยะเวลาต่างกัน บ่อยครั้งที่พวกเขามีคำแนะนำที่ซับซ้อนมากขึ้นนำมาใช้โดยตรงในฮาร์ดแวร์ที่จะต้องทำในซอฟต์แวร์บน RISC CPU

สถาปัตยกรรมเมนเฟรมส่วนใหญ่และพีซีเกือบทั้งหมดออกแบบได้ถึง M68K และ intel 386 เป็น CISC แบบ microcoded แบบดั้งเดิม การออกแบบเหล่านี้พิสูจน์แล้วว่าช้าลงต่อนาฬิกาและใช้ประตูมากกว่า RISC CPUs

เฟิร์มแว

ตัวอย่างของการmicrocodedสถาปัตยกรรม (MOS 6502) สามารถเห็นได้ในการแข่งขันที่นี่ ไมโครโค้ดสามารถเห็นได้ที่ด้านบนของภาพ

ไมโครโค้ดควบคุมการไหลของข้อมูลและการดำเนินการที่เปิดใช้งานภายใน CPU เพื่อดำเนินการคำสั่ง ด้วยการวนซ้ำตามขั้นตอนต่าง ๆ ในไมโครโค้ดคุณสามารถเปิดใช้งานส่วนต่าง ๆ ของ CPU ย้ายข้อมูลผ่าน ALU หรือทำตามขั้นตอนอื่น ๆ ส่วนประกอบที่นำกลับมาใช้ใหม่ได้ในซีพียูสามารถประสานกันได้หลายรอบนาฬิกาเพื่อดำเนินการตามคำสั่ง ในกรณีของ 6502 การดำเนินการ pipelined สามารถดำเนินการโดยไมโครโค้ด

การออกแบบ Microcoded ใช้ซิลิกอนน้อยกว่าชิปแบบมีสายที่มีค่าใช้จ่ายในการใช้วงจรนาฬิกาหลายรอบเพื่อการเรียนการสอน ขึ้นอยู่กับการออกแบบซีพียูเหล่านี้อาจใช้ระยะเวลาในการเรียนการสอนต่างกัน

สถาปัตยกรรมเดินสาย

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

ตัวอย่างที่มีชื่อเสียงของเรื่องนี้คือซีพียู Amdahl 470/6ดั้งเดิมซึ่งเป็นการแทนที่สำหรับ CPU ในรุ่น IBM System / 370 บางรุ่น ซีพียู Amdahl เป็นการออกแบบเดินสายในเวลาที่ 370 ซีพียูของไอบีเอ็มมีพื้นฐานมาจากไมโครโค้ด ซีพียู Amdahl เร็วกว่าซีพียู IBM ประมาณ 3 เท่า

ไม่จำเป็นต้องพูดว่าไอบีเอ็มไม่ได้สนุกและสิ่งนี้ส่งผลให้มีการต่อสู้ในศาลที่บังคับให้ไอบีเอ็มเปิดสถาปัตยกรรมเมนเฟรมจนกว่าพระราชกฤษฎีกาจะหมดอายุเมื่อไม่กี่ปีที่ผ่านมา

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

การออกแบบหลายปัญหา

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

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

Intel รุ่นใหม่และซีพียู ISA x86 / X64 อื่น ๆ มีชั้นที่ตีความคำสั่ง CISC ของโรงเรียนเก่าเป็นชุดคำสั่งขนาดเล็กที่สามารถป้อนผ่านแกนปัญหา RISC หลายรูปแบบตามแนวท่อ สิ่งนี้จะเพิ่มโอเวอร์เฮดที่ไม่ได้อยู่ในซีพียูด้วย ISAs ที่ออกแบบมาสำหรับการวางท่อ (เช่นสถาปัตยกรรม RISC เช่น ARM หรือ PowerPC)

การออกแบบ VLIW

การออกแบบ VLIW ซึ่งIntel Itaniumอาจเป็นที่รู้จักดีที่สุดไม่เคยถูกถอดออกจากสถาปัตยกรรมหลัก แต่ IIRC มีสถาปัตยกรรม DSP จำนวนมากที่ใช้การออกแบบประเภทนี้ การออกแบบ VLIW ทำให้หลายประเด็นชัดเจนด้วยคำแนะนำที่มีมากกว่าหนึ่งคำสั่งที่ออกในแบบคู่ขนาน

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

สถาปัตยกรรม VLIW ทำงานได้ค่อนข้างดีสำหรับการใช้งานเชิงตัวเลขเนื่องจาก matrix / array ops มีแนวโน้มที่จะเสนอโอกาสสำหรับการขนานอย่างกว้างขวาง Itanium มีตลาดเฉพาะด้านในแอพพลิเคชั่นการประมวลผลเร็ว ๆ และมีสถาปัตยกรรมซูเปอร์คอมพิวเตอร์อย่างน้อยหนึ่งตัวคือMultiflow TRACEซึ่งผลิตโดยใช้ ISA ประเภทนี้

หน่วยความจำและแคช

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

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

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


3

มันเป็นเรื่องง่ายสำหรับนักเรียน

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

อย่างที่คุณพูดจะเกิดอะไรขึ้นถ้ามีการหน่วงเวลาการพลาดแคช Intel Hyperthreading เป็นโซลูชั่นที่แปลกใหม่สำหรับเรื่องนี้: การลงทะเบียนสถานะ CPU สองล็อต, ลอจิกควบคุมจำนวนมากและยูนิตปัญหา ทันทีที่ซีพียูเสมือนตัวหนึ่งหยุดทำงานให้เปลี่ยนเป็นสถานะของอีกฝ่าย (นี่คือการอนุมานรวมขั้นต้นเอง)

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

(คำตอบเฉพาะสำหรับ "คำสั่ง CISC หนึ่งคำสั่งใช้เวลาในวงจรนาฬิกา / คำแนะนำนานแค่ไหน" คือ "ดูในคู่มืออ้างอิงของผู้ผลิตและจะมีการกำหนดเวลาตามคำแนะนำ")


0

คนอื่นเขียนเนื้อหาที่ดีมากมายดังนั้นฉันจะตอบสั้น ๆ : ในวันเก่า (ปี 1980 ที่นี่) ตัวประมวลผล 8 บิตของวัน (6800, 6502, Z80, 6809 และอื่น ๆ ) ได้รับการพิจารณา CISC คำแนะนำบางอย่างสามารถทำงานได้ใน 2 นาฬิกา cyles แต่สิ่งเหล่านี้เป็น inst inst ง่าย ๆ เช่นการตั้งค่า / การล้างบิตตั้งค่าสถานะในการลงทะเบียนสถานะโปรเซสเซอร์ คำแนะนำอื่น ๆ สามารถทำได้ทุกที่ตั้งแต่ 2-6 และถึง 9 รอบนาฬิกาเพื่อดำเนินการ โปรเซสเซอร์เหล่านี้มีคำแนะนำที่ทรงพลังพอสมควร Z80 มีคำแนะนำในการล้างบล็อกหน่วยความจำบางส่วนซึ่งจะเขียนค่าเดียวกันลงในชุดไบต์ในหน่วยความจำการล้างบล็อกขนาดใหญ่ได้อย่างมีประสิทธิภาพในการเรียนการสอนเพียงครั้งเดียว คำแนะนำ LDIR (โหลดการเพิ่มและการทำซ้ำ)

โปรเซสเซอร์ 6502 (จากหน่วยความจำ) มี 56 คำสั่ง แต่ 13 โหมดการกำหนดที่อยู่สร้างชุดคำสั่งที่มีประสิทธิภาพ

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

หากฉันจำได้ถูกต้องความพยายามครั้งแรกที่สถาปัตยกรรม RISC นั้นเป็นทั้งโปรเซสเซอร์ transputer หรือ Acorn Risc?


อาจกล่าวได้ว่าสถาปัตยกรรมประเภท RISC แบบไปป์ไลน์แรกคือ CDC 6600 ที่ออกแบบโดย Seymour Cray นั่นคือสองสามทศวรรษก่อนที่คำ RISC จะนำไปใช้อย่างแพร่หลาย MIPS, ARM และการออกแบบไมโครโปรเซสเซอร์ RISC อื่น ๆ อีกสองสามตัวกลับไปสู่ยุค 1980-1985 ด้วยฮาร์ดแวร์เชิงพาณิชย์ตัวแรกที่ใช้ชิปเหล่านี้ที่ออกมาในช่วงกลางทศวรรษ 1980
ConcOfOfTunbridgeWells

ชิป transputer ส่วนบุคคลนั้นค่อนข้างเร็ว แต่ไม่ใช่สถาปัตยกรรมประเภทเดียวกันกับที่ปกติเชื่อมโยงกับชิป RISC en.wikipedia.org/wiki/Transputer#Ar Architecture
ConcernedOfTunbridgeWells

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

@ConcernedOfTunbridgeWells ฉันเพิ่งดูชุดคำสั่ง CDC 6600 ในขณะที่การออกแบบดูเหมือนจะรวบรวม (และคาดการณ์) หลักการบางอย่างของ RISC คำสั่งการแบ่งจุดลอยตัวใช้เวลา 29 รอบในการดำเนินการ! และการรวมกันของการเรียนการสอนที่แบ่งเป็นขัดกับหลักการ RISC ทั่วไป แต่ขอบคุณสำหรับความคิดเห็นที่น่าสนใจมาก!
crgrace

แอ็ตทริบิวต์ RISC-ish หลักคือกลไกการดึง / ถอดรหัส / เรียกใช้คำสั่ง pipelined และสถาปัตยกรรมของโหลดเก็บ (เช่นไม่มีโหมดการกำหนดแอดเดรสด้วยการเข้าถึงหน่วยความจำโดยนัยเพื่อคำนวณที่อยู่) ในความเป็นจริงชุดคำสั่ง RISC บางชุด (เช่น IBM POWER) มีขนาดค่อนข้างใหญ่ แต่ยังคงใช้วิธีโหลด / ที่จัดเก็บเพื่อให้แน่ใจว่าเวลาดำเนินการที่สอดคล้องกัน
เกี่ยวข้องกับ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.