เอกซ์86-64
เอกซ์86-64 (x86-64) เป็นชื่อของสถาปัตยกรรมคอมพิวเตอร์สำหรับไมโครโพรเซสเซอร์แบบ 64 บิต และชุดคำสั่งที่ใช้งานด้วยกัน x86-64 เป็นส่วนขยายของสถาปัตยกรรมแบบ x86 ออกแบบโดยบริษัท AMD และใช้ชื่อทางการค้าว่า AMD64 ในภายหลังบริษัทอินเทลได้นำสถาปัตยกรรมนี้ไปใช้ใต้ชื่อการค้าว่า Intel 64 หรือ EM64T ซึ่งชื่อทั่วไปที่ใช้กันโดยไม่อิงกับชื่อการค้าคือ x86-64 หรือ x64
AMD64
แก้ชุดคำสั่ง AMD64 ถูกนำไปใช้ในไมโครโพรเซสเซอร์ของ AMD ดังนี้ Athlon 64, Athlon 64 FX, Athlon 64 X2, Turion 64, Turion 64 X2, Opteron และ Sempron (เฉพาะรุ่นที่ผลิตในช่วงหลัง)
คุณสมบัติของสถาปัตยกรรม
แก้AMD64 ถูกสร้างมาเพื่อเป็นคู่แข่งกับสถาปัตยกรรม IA64 ของบริษัทอินเทลและเอชพี ข้อแตกต่างที่สำคัญมีดังนี้
- สนับสนุนจำนวนตัวเลข (integer) ขนาด 64 บิต โดยขยายขนาดของเรจิสเตอร์สำหรับงานทั่วไป general-purpose registers (GPRs) จาก 32 บิตเป็น 64 บิต และปรับปรุงส่วนคำสั่งอื่นๆ ให้สนับสนุนตัวเลขแบบ 64 บิตด้วย
- เพิ่มจำนวนเรจิสเตอร์ เพิ่มจำนวนเรจิสเตอร์ทำงานทั่วไปจาก 8 ตัวในสถาปัตยกรรม x86 เดิม เป็น 16 ตัว ซึ่งทำให้เก็บค่าตัวแปรไว้ในเรจิสเตอร์ได้มากขึ้น และส่งผลให้การทำงานของระบบรวดเร็วขึ้น
- เพิ่มเรจิสเตอร์สำหรับ XMM (SSE) เพิ่มจำนวนของเรจิสเตอร์สำหรับงาน XMM จาก 8 ตัวเป็น 16 ตัว
- ขยายขนาดตำแหน่งหน่วยความจำแบบ virtual ตามทฤษฎีแล้วสถาปัตยกรรมแบบ AMD64 สนับสนุนการอ้างตำแหน่งหน่วยความจำแบบ virtual ได้มากถึง 16 exbibyte (264 ไบต์) เมื่อเทียบกับ x86 แบบเดิมที่อ้างได้เพียง 4 gibibyte (ซีพียูแบบ AMD64 ที่วางขายในปัจจุบัน ยังอ้างได้เพียง 256 tebibyte หรือ 248 ไบต์ แต่สามารถปรับเพิ่มได้ในอนาคต)
- ขยายขนาดตำแหน่งหน่วยความจำแบบ physical ตามทฤษฎีแล้วสถาปัตยกรรมแบบ AMD64 สนับสนุนการอ้างตำแหน่งหน่วยความจำแบบ physcial ได้มากถึง 4 petibyte (252 ไบต์) (ซีพียูแบบ AMD64 ที่วางขายในปัจจุบัน ยังอ้างได้เพียง 1 tebibyte หรือ 240 ไบต์ แต่สามารถปรับเพิ่มได้ในอนาคต)
- พอยเตอร์ของชุดคำสั่งสามารถอ้างตำแหน่งข้อมูลแบบสัมพัทธ์ (relative) ทำให้ชุดคำสั่งสามารถเป็นอิสระจากตำแหน่งอ้างอิงแบบคงที่ได้
- สนับสนุนชุดคำสั่ง SSE เดิม AMD64 สนับสนุนเฉพาะ SSE และ SSE2 เท่านั้น ในภายหลังได้สนับสนุนชุดคำสั่ง SSE3 เพิ่มเติม
- No-Execute bit หรือชื่อย่อ NX บิต (บิตที่ 63 ตามตาราง) จะช่วยบอกระบบปฏิบัติการว่าตำแหน่งใดบนหน่วยความจำสามารถทำงาน (execute) ได้ ถ้า NX บิตไม่ทำงาน ตำแหน่งนั้นจะสามารถอ่านได้อย่างเดียว ซึ่งจะช่วยป้องกันการเขียนโปรแกรมที่ทำความเสียหายให้ระบบด้วยวิธี Buffer overflow ได้
โหมดการทำงาน
แก้Operating modes
แก้โหมดการทำงาน | ระบบปฏิบัติการ ที่ต้องการ | แปลงโปรแกรมใหม่ | ขนาดของตำแหน่ง | ขนาดตัว operand | ขยายขนาดเรจิสเตอร์ | ขนาด GPR ปกติ | |
---|---|---|---|---|---|---|---|
Long mode | โหมด 64 บิต | ระบบปํฎิบัติการรุ่นใหม่ที่สนับสนุน 64 บิต | ต้อง | 64 | 32 | ต้อง | 64 |
เข้ากันได้กับระบบเดิม | ไม่ต้อง | 32 | 32 | ไม่ต้อง | 32 | ||
16 | 16 | 16 | |||||
Legacy mode | Protected mode | ระบบปฏิบัติการเดิมแบบ 16 หรือ 32 บิต | ไม่ต้อง | 32 | 32 | ไม่ต้อง | 32 |
16 | 16 | 16 | |||||
จำลอง 8086 | 16 | 16 | 16 | ||||
Real mode | ระบบปฏิบัติการเดิมแบบ 16 บิต |
อธิบายการทำงานของโหมด
แก้โหมดหลักๆ แบ่งเป็น 2 ประเภทดังนี้
- Long mode
- เป็นโหมดการทำงานหลักของสถาปัตยกรรมนี้ โดยแบ่งเป็นโหมดย่อยคือ 64 บิตล้วน และสนับสนุนทั้ง 32/64 บิต โหมดนี้จะใช้ในระบบปฏิบัติการแบบ 64 บิต
- เนื่องจากว่าชุดคำสั่งพื้นฐานของ x86 กับ x86-64 ไม่ต่างกัน ดังนั้นโปรแกรมที่เป็น x86 เดิมจะไม่เสียประสิทธิภาพในการทำงานไป ซึ่งต่างจากสถาปัตยกรรมแบบ IA-64 ที่การรันโปรแกรม 32 บิตจะเทียบเท่าการทำงานบนโพรเซสเซอร์ตัวอื่น
- Legacy mode
- โหมดนี้จะใช้สำหรับระบบปฏิบัติการแบบ 16 และ 32 บิตเดิม ซึ่งโพรเซสเซอร์จะทำงานเสมือนโพรเซสเซอร์แบบ 32 บิต และไม่สามารถนำโปรแกรมที่เป็น 64 บิตมาใช้งานได้ สนับสนุนเฉพาะโปรแกรมที่เป็น 16 หรือ 32 บิตเท่านั้น
Intel 64
แก้ส่วนนี้รอเพิ่มเติมข้อมูล คุณสามารถช่วยเพิ่มข้อมูลส่วนนี้ได้ |
ความแตกต่างของ AMD64 กับ Intel 64
แก้ระบบปฏิบัติการที่สนับสนุน
แก้- DOS สามารถทำงานใน long mode ได้ผ่าน DOS extender
- BSD
- ลินุกซ์ เป็นระบบปฏิบัติการตัวแรกที่สนับสนุน AMD64 โดยเริ่มในรุ่น Kernel 2.4 ก่อนที่โพรเซสเซอร์จริงจะวางจำหน่าย
- Mac OS X บริษัทแอปเปิลระบุว่า Mac OS X v10.5 จะสนับสนุนสถาปัตยกรรม Intel 64
- MenuetOS MenuetOS เริ่มสนับสนุนปี 2005
- Solaris สนับสนุนตั้งแต่ Solaris 10 เป็นต้นมา
- วินโดวส์ เริ่มสนับสนุนใน Windows XP Professional x64 Edition และ Windows Server 2003 SP1 x64 Edition ซึ่งวางจำหน่ายในปี 2005 วินโดวส์วิสตา x64 ทุก Edition ยกเว้น รุ่น Starter และ Windows Server 2008
อ้างอิง
แก้- เทคโนโลยี AMD64 เก็บถาวร 2007-06-18 ที่ เวย์แบ็กแมชชีน
- เทคโนโลยี Intel 64