รู้หรือไม่ AArch64 เป็นชื่อสถาปัตยกรรมที่เป็นพื้นฐานของหน่วยประมวลผลหลายตัวในท้องตลาด และคุณเองนั้นก็ใช้มันอยู่ด้วย มาดูกันดีกว่าว่า AArch64 นั้นมีดีมากแค่ไหน
- ความแตกต่างระหว่าง x86_64 และ AArch64 คืออะไร?
- AArch64 เป็น 32 บิตหรือ 64 บิต
- คุณเป็นคนหนึ่งที่ใช้งาน AARCH64 อยู่รึเปล่า
- คอมพิวเตอร์ของคุณเป็น x86_64 หรือ aarch64
- ARM64 หมายถึง 64 บิตรึเปล่า
ความแตกต่างระหว่าง x86_64 และ AArch64 คืออะไร?
x86_64 เป็นสถาปัตยกรรมของซีพียู 64 บิตของ Intel ซึ่งบางครั้งเรียกง่ายๆ ว่า x86 กับ x64 ทั้ง 2 นี้เป็นสถาปัตยกรรมสำหรับ Intel และ Mac ทั้งหมดที่มีการจัดส่งหลังจากเปิดตัวในช่วงระหว่างปี 2005 ถึง 2021 arm64 เป็นสถาปัตยกรรมที่ใช้โดย Mac รุ่นใหม่ที่สร้างบน Apple Silicon ซึ่งวางจำหน่ายในปลายปี 2020 เป็นต้นมาภายใต้ชื่อ Apple M1
สถาปัตยกรรม ARM รุ่น 64 บิตมีชื่ออย่างเป็นทางการว่า AArch64 เป็นเวอร์ชัน 64 บิตของ ARM 32 บิตแบบคลาสสิกซึ่งได้รับการเปลี่ยนชื่อย้อนหลังเป็น AArch32 แม้ว่าสถาปัตยกรรมจะใช้ชื่อ AArch64 อย่างเป็นทางการ แต่หลายคน (รวมถึง Microsoft เอง) ก็ยังนิยมเรียกชื่อสถาปัตยกรรมนี้ว่า arm64 อยู่ดี
AArch64 ใช้สำหรับอะไร
AArch64 เป็นสถาปัตยกรรมที่ถูกออกแบบมาให้มีความเข้ากันได้ของพื้นที่ผู้ใช้กับสถาปัตยกรรม 32 บิตที่มีอยู่ (หรือนั่นก็คือ “AArch32” หรืออีกชื่อหนึ่งก็คือ ARMv7-A) และชุดคำสั่ง (“A32”) ชุดคำสั่ง Thumb 16-32 บิตเรียกว่า “T32” ซึ่งทั้งหมดทั้งมวลนั้นมีข้อเสียก็คือไม่มีชุดคำสั่ง 64 บิต
AArch64 เป็นอีกชื่อหนึ่งของ ARM64 ดังนั้นจึงเป็นสถาปัตยกรรมของ ARM โดยเฉพาะ
ในส่วนของสถาปัตยกรรม AMD64 นั้นก็คือชื่อที่เอาไว้ใช้เรียกสถาปัตยกรรม x86_64, x64 เนื่องจากทั้งหมดนี้นั้นมีชุดคำสั่งภายในที่คล้ายๆ กัน แม้แต่ Intel 64 บิต เองก็จะถูกเรียกรวมว่า amd64 เช่นเดียวกัน ซึ่งจุดนี้นั้นเป็นสิ่งที่คุณมักจะเห็นใน Mac รุ่นเก่าก่อนที่จะมีการเปิดตัว Apple Silicon อย่าง Apple M1 ออกมา
หมายเหตุ – AMD ย่อมาจาก Advanced Micro Devices
AArch64 เป็น 32 บิตหรือ 64 บิต
AArch64 เป็นชื่อที่ใช้อธิบายสถานะการดำเนินการ 64 บิตของสถาปัตยกรรม ARMv8 สถานะการดำเนินการ AArch64 เป็นส่วนขยายของสถานะ AArch32 ซึ่งเป็นส่วนขยายของสถานะ ARMv7 อย่างไรก็ตามสถานะ AArch64 ไม่สามารถที่จะเข้ากันได้กับสถานะ ARMv7 แต่ทว่ามันเข้ากันได้กับสถานะอย่าง AArch32 ที่เป็นสถาปัตยกรรม 32 บิต
ARM64 เป็นส่วนขยาย 64 บิตของสถาปัตยกรรม ARM เปิดตัวโดย Raspberry Pi ในช่วงกลางปี 2020 และค่อยๆ แพร่หลายมากขึ้นจนกลายเป็นเรื่องธรรมดาหรือมาตรฐานของหน่วยประมวลผลบางรุ่นไปเป็นที่เรียบร้อยแล้ว
คุณเป็นคนหนึ่งที่ใช้งาน AARCH64 อยู่รึเปล่า
คุณสามารถตรวจสอบว่าโปรเซสเซอร์ของคุณเป็น x64 หรือ ARM64 ได้จาก Command Prompt ในการดำเนินการนี้ ให้ค้นหา Command Prompt แล้วคลิกผลการค้นหาด้านบนเพื่อเปิดแอป จากนั้นตรวจสอบข้อมูล “System Type” หากอ่านว่า “x64-based PC,” แสดงว่าคุณมีโปรเซสเซอร์ 64 บิต หากอ่านว่า “ARM-based PC,” แสดงว่าคุณมีโปรเซสเซอร์ที่ใช้ ARM64
ARM64 หมายถึงสถาปัตยกรรม RISC ที่ทำงานบนโปรเซสเซอร์ของสมาร์ทโฟนอย่างเช่น iphone ของคุณ Apple ได้รับอนุญาตให้ใช้สถาปัตยกรรมชิปจากบริษัท “ARM” เพื่อใช้ในโปรเซสเซอร์อุปกรณ์ iOS ของตนในการผลิตหน่วยประมวลผลได้ สถาปัตยกรรม ARM รองรับการประมวลผลทั้ง 32 บิตและ 64 บิต ซึ่งต้องไม่ลืมนะว่า ARM64 หมายถึงชุดคำสั่ง 64 บิตโดยเฉพาะ
จะรู้ได้อย่างไรว่ามี ARM64 หรือไม่
สถาปัตยกรรม CPU เป็นเพียงสถาปัตยกรรมชิปที่ใช้ในอุปกรณ์เฉพาะ ประเภทที่พบบ่อยที่สุดคือ ARM, MIPS และ x86 ชุดคำสั่งหมายถึงชุดคำสั่งเฉพาะที่ CPU สามารถดำเนินการได้ ชุดคำสั่งทั่วไปประกอบด้วย ARMv7, x86 และ MIPS
ด้วยฟีเจอร์ของคำสั่ง qemu-user-static ทำให้ตอนนี้เราสามารถเรียกใช้ไบนารี aarch64 ที่เชื่อมโยงแบบคงที่บนโฮสต์ x86_64 ของคอมพิวเตอร์เราได้ แต่สิ่งที่เกี่ยวกับ Arm executable ที่เชื่อมโยงแบบไดนามิกนั้นเรายังสามารถเรียกใช้ได้(หรือจริงๆ จะว่าไปก็มีแล้วเช่น Emulator Android บนคอมพิวเตอร์เป็นต้น)
และใช่ เรายังคงสามารถใช้ qemu-user-static เพื่อรัน Arm executable ที่เชื่อมโยงแบบไดนามิกบนโฮสต์ x86_64 ของเรา สิ่งที่เราต้องทำคือระบุ -L ตัวเลือกเมื่อรัน qemu-user-static เช่น
qemu-user-static -L /path/to/arm-linux-gnueabihf/libc /path/to/arm-executable
สิ่งนี้จะบอก qemu-user-static ให้ใช้ไฟล์ไลบรารี Arm ซึ่งอยู่ที่ /path/to/arm-linux-gnueabihf/libc เมื่อรันไฟล์ปฏิบัติการ Arm ด้วยวิธีนี้ ตอนนี้เราสามารถเรียกใช้ไฟล์ปฏิบัติการ Arm บนโฮสต์ x86_64 ของคุณได้โดยที่เรามีไฟล์ไลบรารี Arm ที่จำเป็นให้พร้อมใช้งานแล้ว
คอมพิวเตอร์ของคุณเป็น x86_64 หรือ aarch64
หากต้องการค้นหาประเภทสถาปัตยกรรม CPU ในพรอมต์คำสั่ง ให้เปิดพรอมต์คำสั่งใหม่แล้วพิมพ์ “echo %PROCESSOR_ARCHITECTURE%” เอาต์พุตจะรวมหนึ่งในค่าต่อไปนี้:
- x86 สำหรับ CPU 32 บิต
- AMD64 สำหรับ CPU 64 บิต
- ARM64 สำหรับ CPU 64 บิตของ ARM หรือ AARCH64
ขั้นตอนการติดตั้ง Arch Linux ARM จะเหมือนกับการติดตั้ง Arch Linux ทั่วไป โดยมีข้อยกเว้นบางประการโดยเฉพาะที่สำคัญมากๆ เลยนั้นก็อย่างเช่นข้อยกเว้นที่คุณจะต้องใช้ bootloader อื่น หรือจะเป็นข้อยกเว้นประการที่สองกับการกำหนดค่าเริ่มต้นที่บางครั้งดันไม่เหมาะสำหรับอุปกรณ์ ARM เสมอไป
คุณสามารถค้นหาข้อมูลเพิ่มเติมได้จากเว็บไซต์ Arch Linux ARM
หากลองพิจารณาดูแล้ว แบ็กเอนด์(สถาปัตยกรรมพื้นหลังหรือแบบพิมพ์เขียว) ของ Apple สำหรับ aarch64 เรียกว่า arm64 ในขณะที่แบ็กเอนด์ที่พัฒนาโดยชุมชน LLVM เรียกว่า aarch64 (เนื่องจากเป็นชื่อมาตรฐานสำหรับ ISA 64 บิต) ต่อมาทั้งสองถูกรวมเข้าด้วยกันและตอนนี้แบ็กเอนด์ถูกเรียกว่า aarch64 ดังนั้น aarch64 และ arm64 จึงอ้างอิงถึงสิ่งเดียวกันได้(ไม่ว่าคุณจะพูดอันไหนก็ไม่ผิดนั่นเอง)
ความเคลื่อนไหวล่าสุดของ AMD ในการเป็นพันธมิตรกับทั้ง Arm และ Nvidia นั้นน่าสนใจไม่น้อย ในขณะที่ใช้สถาปัตยกรรม x86 ที่ผลิตโดย Intel สำหรับโปรเซสเซอร์ Ryzen อยู่แล้ว การทำงานร่วมกับ Arm และ Nvidia สามารถเปิดโอกาสใหม่ๆ ให้กับบริษัท AMD ได้มากขึ้น แน่นอนว่าไม่น่าเป็นไปได้ที่เราจะได้เห็นชิป AMD ที่ใช้ Arm ในคอมพิวเตอร์เดสก์ท็อปพีซีหรือโน๊ตบุ๊คในเร็วๆ นี้ แต่ก็น่าสนใจที่จะรอคอยดูว่า AMD จะทำอย่างไรในอนาคต
ARM64 หมายถึง 64 บิตรึเปล่า
Arm Holdings เปิดตัว ARM64 หรือที่เรียกว่า ARMv8-A ในปี 2554 เพื่อขยายการรองรับการประมวลผลแบบ 64 บิต ซึ่งแตกต่างจาก ARM32 ที่มีการลงทะเบียน 15 วัตถุประสงค์ทั่วไปเอาไว้ สถาปัตยกรรม ARM64 ใช้มาพร้อมกับการลงทะเบียน 31 วัตถุประสงค์โดยแต่ละ 64 บิตมีความกว้างซึ่งทำให้โปรเซสเซอร์มีประสิทธิภาพและยืดหยุ่นมากขึ้น นอกไปจากนั้นมันยังสามารถจัดการงานที่ซับซ้อนได้มากขึ้น สถาปัตยกรรม ARM64 ได้รับการออกแบบให้มีความปลอดภัยมากขึ้นด้วยคุณสมบัติเช่น Address Space Layout Randomization (ASLR) ที่ทำให้ผู้โจมตีใช้ประโยชน์จากช่องโหว่ได้ยากขึ้น
RaspberryPi 3 Model B+ เป็นรุ่นแรกของ RaspberryPi ที่รองรับสถาปัตยกรรม arm64 ประกอบด้วยซีพียู ARM Cortex-A53 ความเร็ว 12 GHz ซึ่งถือว่าทำให้มันเป็นแพลตฟอร์มที่ทรงพลังสำหรับนักพัฒนาและผู้ที่ชื่นชอบการเล่นแร่แปรธาตุเอามากๆ
AArch64 มีกี่คำสั่ง
Armv8-A รองรับชุดคำสั่งสามชุดคือ A32, T32 และ A64 ชุดคำสั่ง A64 ใช้เมื่อเรียกใช้งานในสถานะ AArch64 Execution เป็นชุดคำสั่ง 32 บิตที่มีความยาวคงที่บนโปรเซสเซอร์ สำหรับโปรเซสเซอร์อย่าง ARM นั้นให้ความสำคัญกับประสิทธิภาพด้านการประหยัดพลังงานมากกว่าและมักจะมีประสิทธิภาพต่ำกว่าโปรเซสเซอร์ x86 นั่นทำให้คุณมักจะได้เห็นหน่วยประมวลผลสถาปัตยกรรม ARM64 หรือ AArch64 ถูกใช้งานบนสมาร์ทโฟน, แท็บเล็ตและอุปกรณ์อัจฉริยะต่างๆ นั่นเอว
สถาปัตยกรรม AArch64 เป็นสถาปัตยกรรม 64 บิตที่ใช้ในโปรเซสเซอร์ ARMv8-A รองรับโหมดการประมวลผลทั้งแบบ 32 บิตและ 64 บิต และมีคุณสมบัติมากมายที่ออกแบบมาเพื่อปรับปรุงประสิทธิภาพโดยเฉพาะประสิทธิภาพด้านการใช้พลังงานและเรื่องของความปลอดภัย
Aarch64 เป็นสถาปัตยกรรม RISC machine (ARM) ขั้นสูงแบบ 64 บิต ซึ่งแสดงให้เห็นถึงความทุ่มเทของสถาปัตยกรรม ARM เพื่อความสามารถในการปรับขนาดนั้นต้องใช้ระยะเวลานานแค่ไหน การเปิดตัวสถาปัตยกรรม Aarch64 แบบ 64 บิตช่วยให้เกิดแอปพลิเคชันรุ่นต่อไปในโครงสร้างพื้นฐานสมาร์ทโฟน, อุปกรณ์เครือข่ายและและอุปกรณ์อัจฉริยะในองค์กร ด้วยประสิทธิภาพการใช้พลังงานที่ยอดเยี่ยมและประสิทธิภาพที่คุ้มค่ากับราคา สถาปัตยกรรม Aarch64 เป็นตัวเลือกที่ดีสำหรับแอปพลิเคชันที่มีความต้องการในการทำงานไม่มากไม่น้อยจนเกินไปในปัจจุบัน
ที่มา : architecturemaker, wikipedia, developer.arm.com