Microoperations ใน CPU คืออะไรและทำงานอย่างไร

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

A ซีพียู ทุกวันนี้สามารถรันคำสั่งต่าง ๆ ได้มากมาย และมันทำได้ที่ความถี่ที่สูงกว่าคอมพิวเตอร์ส่วนบุคคลยุคแรกถึง 5,000 เท่า เรามักจะคิดอย่างผิดๆ ว่าจำนวน MHz หรือ GHz ที่มากกว่านั้นเกิดจากการผลิตใหม่ ความเป็นจริงแตกต่างกันมาก และนี่คือที่มาของการดำเนินการไมโคร ซึ่งเป็นกุญแจสำคัญในการบรรลุพลังการประมวลผลมหาศาลของไมโครโปรเซสเซอร์ในปัจจุบัน

ไมโครปฏิบัติการในซีพียู

microoperation คืออะไร?

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

Flujo Microoperaciones

คำสั่งของ CPU สามารถแบ่งออกเป็นคำสั่งย่อยๆ ที่เราเรียกว่า microoperations และทำไมไม่เป็น microinstructions? เนื่องจากความจริงที่ว่าคำสั่งเพียงแค่แบ่งมันออกเป็นหลายรอบสำหรับการดำเนินการนั้นต้องใช้เวลาหลายรอบสัญญาณนาฬิกาในการแก้ไข ในทางกลับกัน microoperation ใช้วงจรนาฬิกาเดียว

คำแนะนำท่อ Tiempo

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

อันที่จริง สิ่งเหล่านี้ถือกำเนิดขึ้นพร้อมกับลักษณะการทำงานของสถาปัตยกรรม Intel P6 และซีพียูที่เป็นอนุพันธ์ เช่น Pentium II และ III เหตุผลก็คือการแบ่งส่วน P5 หรือ Pentium อนุญาตให้เข้าถึงได้เพียง 200 MHz เพียงเล็กน้อยเท่านั้น ด้วย microoperations โดยการขยายจำนวนขั้นตอนของแต่ละคำสั่งให้ยาวขึ้น พวกมันจึงทะลุกำแพง GHz ด้วย Pentium 3 และสามารถมีความเร็วสัญญาณนาฬิกาสูงขึ้น 16 เท่าด้วย Pentium 4 ตั้งแต่นั้นมาก็ถูกใช้ในซีพียูทั้งหมดด้วย การดำเนินการที่ไม่เป็นไปตามคำสั่งโดยไม่คำนึงถึงยี่ห้อและการลงทะเบียนและชุดคำสั่ง

CPU ของคุณไม่ใช่ x86 หรือ RISC-V หรือ ARM

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

ไมโครโอเปร่า CPU

การสลายตัวของคำสั่งเป็น microoperations และการแปลงโปรแกรมที่เก็บไว้ใน แรม ลงในไมโครโค้ดได้แล้ววันนี้ในโปรเซสเซอร์ทั้งหมด ดังนั้นเมื่อโทรศัพท์ ISA . ของคุณ ARM CPU หรือ CPU x86 ของพีซีของคุณกำลังรันโปรแกรม หน่วยดำเนินการจะไม่แก้ไขคำสั่งด้วยชุดการลงทะเบียนและคำสั่งเหล่านั้น

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

ไมโครออปแคชคืออะไร?

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

ไมโครสโคปี้แคช

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

แคชการทำงานแบบไมโครจึงเป็นวิวัฒนาการของแคชการติดตาม แต่ไม่ได้เป็นส่วนหนึ่งของแคชคำสั่ง แต่เป็นเอนทิตีที่ไม่ขึ้นกับฮาร์ดแวร์ ใน microoperation cache ขนาดของแต่ละรายการจะคงที่ในแง่ของจำนวนไบต์ ตัวอย่างเช่น CPU ที่มี ISA x86 ทำงานใกล้เคียงกับประเภท RISC มากที่สุด และลดความซับซ้อนของชุดควบคุมและด้วย การบริโภค. ความแตกต่างจากพล็อตแคช Pentium 4 คือไมโครออปแคชปัจจุบันเก็บไมโครออปทั้งหมดที่เป็นของคำสั่งในบรรทัดเดียว

มันทำงานอย่างไร?

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

แคช microoperaciones como funciona

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

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