ทุกสิ่งที่คุณต้องการรู้เกี่ยวกับ Rosetta 2 บน Apple Silicon Macs

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

Rosetta 2 คืออะไร?

Rosetta 2 เป็นอีมูเลเตอร์ที่ออกแบบมาเพื่ออำนวยความสะดวกในการเปลี่ยนระหว่างโปรเซสเซอร์ Intel และ Apple. แปลแอปพลิเคชันที่ออกแบบมาสำหรับ Intel เพื่อทำงานบน Apple Silicon บางแอปพลิเคชัน (รวมถึงแอปพลิเคชัน Microsoft Office) จะถูกแปลด้วยในครั้งแรกที่คุณเรียกใช้ ความต้องการการแปลเมื่อเรียกใช้ครั้งแรกหมายความว่าแอปพลิเคชันอาจเริ่มทำงานช้ากว่าปกติเล็กน้อย (สูงสุด 20 วินาทีในบางกรณี) แต่คุณจะไม่พบความล่าช้าเท่าเดิมในครั้งต่อไปที่คุณเรียกใช้แอปพลิเคชัน 'แอปพลิเคชัน. กระบวนการทั้งหมดเกิดขึ้นในเบื้องหลัง และแม้ว่าอาจมีผลกระทบเล็กน้อยต่อประสิทธิภาพของแอปพลิเคชัน รายงานก่อนหน้านี้แนะนำว่าการปรับปรุงประสิทธิภาพสำหรับการเปลี่ยนไปใช้ชิป M1 นั้นมากกว่าที่คิดไว้

สิ่งที่ Apple พูด

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

ขั้นตอนการแปลเป็นอย่างไร?

“หากไฟล์สั่งการประกอบด้วยคำสั่งของ Intel เท่านั้น macOS จะเริ่ม Rosetta โดยอัตโนมัติและเริ่มกระบวนการแปล หลังจากการแปลเสร็จสิ้น ระบบจะเริ่มปฏิบัติการที่แปลแล้วแทนต้นฉบับ อย่างไรก็ตาม กระบวนการแปลต้องใช้เวลา ดังนั้นผู้ใช้อาจรู้สึกว่าแอปพลิเคชั่นที่แปลแล้วเริ่มหรือทำงานช้าลง” Apple กล่าว Rosetta ยังสามารถแปลโค้ดไดนามิกหรือ JavaScript ในความคืบหน้า

ฉันสามารถเรียกใช้ปลั๊กอิน x86 กับแอปพลิเคชันของฉันได้หรือไม่

เมื่อใช้ Mac M1 คุณจะพบว่าต้องการเรียกใช้คำสั่ง arm64 บนซิลิคอนของ Apple เสมอ แต่ถึงอย่างไร, บางครั้งแอปพลิเคชันอาจมีคำสั่ง ARM และ X86และถ้าเป็นเช่นนั้น ผู้ใช้สามารถรีสตาร์ทแอปพลิเคชันโดยใช้การแปล Rosetta จากหน้าต่างรับข้อมูล 'แอพใน Finder เลือกแอป กด Command-I และทำเครื่องหมายที่ช่อง Open using Rosetta สิ่งนี้มีประโยชน์จริง ๆ เฉพาะในกรณีที่คุณต้องการเรียกใช้ปลั๊กอินเก่าในแอปที่ทำงานแบบเนทีฟบน M1 เป็นต้น

ใครสนับสนุน Rosetta 2?

แอปพลิเคชันทั้งหมดของ Apple และแอปพลิเคชันเชิงพาณิชย์ทั้งหมดเข้ากันได้กับชิป M1 อยู่แล้ว นักพัฒนายังสร้างแอพสากลที่จะทำงานแบบเนทีฟบน Intel และ M1 Macs แอพที่ยังไม่พร้อมใช้งานแบบเนทีฟหรือแบบสากลอาจต้องมีการอัปเดตเล็กน้อยเพื่อให้รองรับ Rosetta 2 แต่จะทำงานได้ดี แอปพลิเคชันสำคัญอย่าง Word กำลังทำงานบน M1 อยู่แล้ว และ Adobe สัญญาว่า Photoshop เวอร์ชันเนทีฟ M1 จะเปิดตัวในต้นปีหน้า ส่วน Lightroom จะมา "เร็วๆ นี้" แน่นอน คุณยังสามารถรันแอพ iOS ทั้งหมดบนชิป M1 ได้หากนักพัฒนาอนุญาต

Rosetta 2 แปลอะไรไม่ได้

Rosetta ไม่สามารถแปลส่วนขยายเคอร์เนลหรือแอปพลิเคชันเครื่องเสมือนได้ ที่จำลองแพลตฟอร์มการคำนวณ x86_64 นักพัฒนาควรทราบด้วยว่า Rosetta ยังไม่สามารถแปลคำสั่งเวกเตอร์ AVX, AVX2 และ AVX512 ได้

ประวัติเล็กน้อย

Apple เคยใช้ชื่อ Rosetta มาก่อน เมื่อคุณย้าย Mac จาก PowerPC ไปยังชิป Intel คุณใช้บางสิ่งที่มีชื่อเดียวกันเพื่อทำหน้าที่เดียวกันในการเปิดใช้งานแอปพลิเคชัน PowerPC บนชิป Intel แม้ว่าชื่อและวัตถุประสงค์จะยังคงเหมือนเดิม แต่ก็มีความแตกต่างอย่างมากระหว่าง Rosetta รูปแบบนี้กับ Rosetta ที่เราใช้ในปัจจุบัน เนื่องจาก Apple พัฒนาโปรเซสเซอร์เป้าหมาย ซึ่งหมายความว่า Rosetta คำนึงถึงความต้องการของ Rosetta เมื่อออกแบบ M1 ซึ่งหมายความว่าสามารถสร้างองค์ประกอบบางอย่างที่จำเป็นเพื่อให้การสนับสนุนนี้บนตัวชิปได้ นี่คือสาเหตุที่บางแอปพลิเคชันที่ทำงานในการจำลอง Rosetta บน Apple Silicon Mac ทำงานได้เร็วกว่าบน Intel เพราะแม้จะมีผลกระทบด้านประสิทธิภาพต่ำ แต่ก็ยังได้รับประโยชน์จากประโยชน์ด้านประสิทธิภาพมหาศาลที่ให้การสลับ ไปยังโปรเซสเซอร์ M1

ประสิทธิภาพมีลักษณะอย่างไร?

ตามที่ได้อธิบายไว้ที่นี่ ฉันใช้ Mac mini M1 มาระยะหนึ่งแล้ว จากประสบการณ์ของฉัน แอปพลิเคชันส่วนใหญ่ทำงานได้ดีพอๆ กัน (มักจะเร็วกว่ามาก) เมื่อทำงานบนชิป M1 เช่นเดียวกับที่ทำงานบน Mac ที่ใช้ Intel ซึ่งเทียบเท่ากัน ควรสังเกตว่าโปรเซสเซอร์เหล่านี้มีการจัดการหน่วยความจำที่ยอดเยี่ยม Apple ได้พัฒนาเทคโนโลยีที่เรียกว่า Unified Memory Architecture (UMA) ซึ่งใช้หน่วยความจำร่วมกันระหว่างฟังก์ชันโปรเซสเซอร์ทั้งหมด เนื่องจากหน่วยความจำ โปรเซสเซอร์ และส่วนอื่นๆ ของระบบล้วนอยู่บนชิป คุณจึงคาดหวังประสิทธิภาพที่ยอดเยี่ยมได้ สิ่งนี้จะสังเกตเห็นได้ชัดเจนเป็นพิเศษในแอปพลิเคชันที่ต้องใช้กราฟิกมาก ซึ่งฉันพบว่าทำงานได้เร็วกว่าเมื่อก่อน

Rosetta 2 จะใช้งานได้นานแค่ไหน?

เราไม่รู้ว่า Rosetta 2 จะวางจำหน่ายต่อไปหรือไม่ ในอดีต Rosetta รวมอยู่ใน OS X 10.4.4 Tigerกลายเป็นตัวเลือกที่ดาวน์โหลดได้ใน OS X 10.6 Snow Leopard และในการสนับสนุน แต่หายไปในปีต่อมา แม้ว่าในกรณีนี้การเปลี่ยนแปลงจะเสร็จสิ้นก่อนหน้านี้ เกินคาดเมื่อ Apple หยุดขาย Mac ที่ใช้สถาปัตยกรรมรุ่นเก่า Apple มุ่งมั่นที่จะดำเนินการเปลี่ยนผ่านระหว่างโปรเซสเซอร์ Intel และ Apple Silicon ให้เสร็จสิ้นภายในสองปี ซึ่งบ่งชี้ว่าจะมีการสนับสนุนสิ่งนี้และจะยังคงให้บริการในเวอร์ชันต่อๆ ไป Apple ทราบดีว่าผู้คนมักจะซื้อ Mac เครื่องใหม่ที่ใช้โปรเซสเซอร์ Intel ในช่วงการเปลี่ยนแปลงนี้ ด้วยเหตุนี้ จึงมีความเป็นไปได้ที่ Apple จะให้การสนับสนุน Rosetta 2 ใน macOS เป็นอย่างน้อยจนถึงปี 2023 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Rosetta โปรดดูที่ Apple Developer Note