กลับไปหน้าบทความ

อ่าน 18 นาที

เดค อัลฟ่า

Alpha (เดิมชื่อ Alpha AXP ) เป็น สถาปัตยกรรมชุด คำสั่ง (ISA) คอมพิวเตอร์แบบลด ชุดคำสั่ง ( RISC ) ขนาด 64 บิต ที่พัฒนาโดย Digital Equipment Corporation (DEC) Alpha...

เดค อัลฟ่า

อัลฟ่า
โลโก้ "Alpha Generation" ที่ใช้โดย Digital
นักออกแบบบริษัท ดิจิทัล อีสเทิร์น คอร์ปอเรชั่น
บิต64 บิต
แนะนำ1992 ( 1992 )
ออกแบบRISC
พิมพ์โหลด-จัดเก็บ
การเข้ารหัสที่ตายตัว
เอ็นเดียนเนสบิ
ส่วนขยายส่วนขยายไบต์/เวิร์ด (BWX), ส่วนขยายการแปลงรากที่สองและจุดลอยตัว (FIX), ส่วนขยายการนับ (CIX), คำสั่งวิดีโอเคลื่อนไหว (MVI)
เปิดเลขที่
ทะเบียน
อเนกประสงค์31 บวกศูนย์เสมอ R31
จุดลอยตัว31 บวกเสมอ-0.0 F31
ไมโครโปรเซสเซอร์อัลฟ่า
ภาพถ่ายแม่พิมพ์ DEC AXP 21064
แพ็คเกจ DEC AXP 21064
แสตมป์ DEC AXP 21064 แบบไม่มีแม่พิมพ์ ติดตั้งบนนามบัตร พร้อมข้อมูลสถิติบางส่วน
คอมแพค 21264ซี

Alpha (เดิมชื่อAlpha AXP ) เป็นสถาปัตยกรรมชุดคำสั่ง (ISA) คอมพิวเตอร์แบบลด ชุดคำสั่ง ( RISC ) ขนาด 64 บิต ที่พัฒนาโดยDigital Equipment Corporation (DEC) Alpha ได้รับการออกแบบมาเพื่อทดแทนคอมพิวเตอร์แบบชุดคำสั่งซับซ้อน (CISC) ขนาด 32 บิตVAXและเพื่อเป็นโปรเซสเซอร์ RISC ที่มีประสิทธิภาพสูงสำหรับเวิร์กสเตชัน Unixและตลาดที่คล้ายคลึงกัน

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

ระบบปฏิบัติการที่รองรับ Alpha ได้แก่OpenVMS (เดิมชื่อ OpenVMS AXP), Tru64 UNIX (เดิมชื่อ DEC OSF/1 AXP และ Digital UNIX), Windows NT (เลิกใช้หลังจากNT 4.0และWindows 2000 RC2 รุ่นก่อนวางจำหน่าย ), [ 1 ] Linux ( Debian , SUSE , [ 2 ] GentooและRed Hat ), BSD UNIX ( NetBSD , OpenBSDและFreeBSDจนถึง 6.x), Plan 9 จาก Bell Labsและ เคอร์เนล L4Ka::Pistachioการพอร์ตUltrixไปยัง Alpha ได้ดำเนินการในระหว่างการพัฒนาสถาปัตยกรรม Alpha ในช่วงเริ่มต้น แต่ไม่เคยวางจำหน่ายเป็นผลิตภัณฑ์[ 3 ]

สถาปัตยกรรม Alpha ถูกขายพร้อมกับส่วนใหญ่ของ DEC ให้กับCompaqในปี 1998 [ 4 ] Compaq ซึ่งเป็น ลูกค้า ของ Intel x86 อยู่แล้ว ประกาศว่าจะทยอยเลิกใช้ Alpha เพื่อสนับสนุน สถาปัตยกรรม Itanium ของ Hewlett-Packard /Intel ที่กำลังจะมาถึง และขายทรัพย์สินทางปัญญา ของ Alpha ทั้งหมด ให้กับ Intel ในปี 2001 [ 5 ]ซึ่งเป็นการยุติผลิตภัณฑ์อย่างมีประสิทธิภาพ Hewlett-Packard ซื้อ Compaq ในปี 2002 และดำเนินการพัฒนาผลิตภัณฑ์ที่มีอยู่ต่อไปจนถึงปี 2004 และขายระบบที่ใช้ Alpha ส่วนใหญ่ให้กับฐานลูกค้าเดิมจนถึงเดือนเมษายน 2007 [ 6 ]

ประวัติศาสตร์

ปริซึม

ในช่วงทศวรรษ 1980 Digital Equipment Corporation (DEC) ประสบความสำเร็จอย่างมากกับคอมพิวเตอร์VAX ที่ ใช้สถาปัตยกรรมCISC 32 บิต ซึ่งทำงานบน ระบบปฏิบัติการ VMSอย่างไรก็ตาม ในช่วงกลางทศวรรษ 1980 บริษัทได้เห็นด้วยกับฉันทามติของอุตสาหกรรมว่า เทคโนโลยี RISC ใหม่ มีประสิทธิภาพมากกว่า CISC มาก โครงการภายในที่แข่งขันกันหลายโครงการจึงเริ่มต้นขึ้นเพื่อตอบสนองต่อเรื่องนี้ ทำให้เกิดความล่าช้าและความไม่แน่นอน[ 7 ]

Alpha เกิดขึ้นจากโครงการ RISC ก่อนหน้านี้ชื่อ Parallel Reduced Instruction Set Machine ( PRISM ) ซึ่งเป็นผลผลิตจากโครงการก่อนหน้านี้หลายโครงการ PRISM มีจุดประสงค์เพื่อเป็นการออกแบบที่ยืดหยุ่น รองรับแอปพลิเคชันแบบ Unix และซอฟต์แวร์ VAX/VMS ที่มีอยู่ของ Digital หลังจากการแปลงเล็กน้อยระบบปฏิบัติการ ใหม่ ชื่อMICAจะรองรับทั้ง อินเทอร์เฟซ ULTRIX และ VAX/VMS บน เคอร์เนลทั่วไปทำให้ซอฟต์แวร์สำหรับทั้งสองแพลตฟอร์มสามารถพอร์ตไปยังสถาปัตยกรรม PRISM ได้อย่างง่ายดาย[ 8 ]

การออกแบบ PRISM เริ่มต้นในปี 1985 และมีการเปลี่ยนแปลงอย่างต่อเนื่องในระหว่างการพัฒนาเพื่อตอบสนองต่อการเปลี่ยนแปลงในตลาดคอมพิวเตอร์ ส่งผลให้การเปิดตัวล่าช้าเป็นเวลานาน จนกระทั่งถึงฤดูร้อนปี 1987 จึงได้ตัดสินใจว่าจะเป็นการ ออกแบบ 64 บิตซึ่งเป็นหนึ่งในการออกแบบไมโครโปรเซสเซอร์ รุ่นแรกๆ ในเดือนตุลาคมปี 1987 Sun Microsystemsได้เปิดตัวSun-4 ซึ่ง เป็นเวิร์กสเตชันเครื่องแรก ที่ใช้โปรเซสเซอร์ SPARCใหม่ของ พวกเขา โดยทำงานได้เร็วกว่า การออกแบบ Sun-3 รุ่นก่อนหน้าที่ ใช้Motorola 68020 ประมาณสามถึงสี่เท่า และมีข้อได้เปรียบเหนือกว่าระบบปฏิบัติการ Unix ใดๆ จาก DEC แผนการจึงเปลี่ยนไปอีกครั้ง PRISM ถูกปรับเปลี่ยนอีกครั้งให้เป็นชิ้นส่วน 32 บิตและมุ่งเป้าไปที่ตลาด Unix โดยตรง ซึ่งทำให้การออกแบบล่าช้าออกไปอีก[ 9 ]

หลังจากที่เฝ้าดูกำหนดส่งมอบ PRISM เลื่อนออกไปเรื่อยๆ และเผชิญกับความเป็นไปได้ที่จะเกิดความล่าช้ามากขึ้น ทีมงานในสำนักงาน Palo Alto จึงตัดสินใจออกแบบเวิร์กสเตชันของตนเองโดยใช้โปรเซสเซอร์ RISC ตัวอื่น พวกเขาเลือกMIPS R2000และสร้างDECstation เครื่องแรก ที่ใช้ Ultrix ภายในระยะเวลา 90 วัน[ 10 ]สิ่งนี้ก่อให้เกิดการถกเถียงอย่างรุนแรงภายในบริษัท ซึ่งถึงจุดสูงสุดในการประชุมผู้บริหารในเดือนกรกฎาคม พ.ศ. 2531 PRISM ดูเหมือนจะเร็วกว่า R2000 แต่เครื่อง R2000 สามารถวางจำหน่ายในตลาดได้ภายในเดือนมกราคม พ.ศ. 2532 ซึ่งเร็วกว่า PRISM หนึ่งปี เมื่อข้อเสนอนี้ได้รับการยอมรับ บทบาทเดิมหนึ่งในสองบทบาทของ PRISM ก็หายไป การตัดสินใจที่จะสร้าง VMS PRISM ได้สิ้นสุดลงแล้ว ณ จุดนี้ ดังนั้นจึงไม่มีบทบาทใดเหลืออยู่ PRISM จึงถูกยกเลิกในการประชุมครั้งนั้น[ 11 ]

RISCy VAX

เมื่อการประชุมเลิก บ็อบ ซุปนิกถูกเคน โอลเซน เข้ามาหา ซึ่งระบุว่าชิป RISC ดูเหมือนจะเป็นภัยคุกคามในอนาคตต่อสายผลิตภัณฑ์ VAX ของพวกเขา เขาขอให้ซุปนิกพิจารณาว่าควรทำอย่างไรกับ VAX เพื่อให้สามารถแข่งขันกับระบบ RISC ในอนาคตได้[ 9 ]

สิ่งนี้นำไปสู่การก่อตั้งทีม "RISCy VAX" พวกเขาพิจารณาแนวคิดสามประการในเบื้องต้น ประการแรกคือสถาปัตยกรรมชุดคำสั่ง (ISA) ของ VAX เวอร์ชันย่อที่จะทำงานบนระบบที่คล้าย RISC และปล่อยให้คำสั่ง VAX ที่ซับซ้อนกว่าอยู่ในซับรูทีนของระบบ อีกแนวคิดหนึ่งคือระบบ RISC บริสุทธิ์ที่จะแปลงโค้ด VAX ที่มีอยู่เป็น ISA ของตัวเองแบบเรียลไทม์และจัดเก็บไว้ในแคชของ CPUสุดท้าย ยังมีความเป็นไปได้ที่จะใช้โปรเซสเซอร์ CISC ที่เร็วกว่ามากซึ่งทำงาน ISA ของ VAX อย่างสมบูรณ์ น่าเสียดายที่วิธีการทั้งหมดนี้ทำให้เกิดค่าใช้จ่ายเพิ่มเติมและจะไม่สามารถแข่งขันกับเครื่อง RISC บริสุทธิ์ที่ทำงานด้วยโค้ด RISC ดั้งเดิมได้[ 12 ]

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

ซุปนิกนำรายงานที่ได้ไปเสนอต่อคณะทำงานเชิงกลยุทธ์ในเดือนกุมภาพันธ์ พ.ศ. 2532 มีคำถามสองข้อที่ถูกยกขึ้นมา คือ การออกแบบ RISC ที่ได้นั้นจะสามารถเป็นผู้นำด้านประสิทธิภาพในตลาด Unix ได้หรือไม่ และเครื่องนั้นควรจะเป็นมาตรฐานแบบเปิดหรือไม่ และด้วยเหตุนี้ จึงมีการตัดสินใจที่จะนำสถาปัตยกรรม PRISM มาใช้ร่วมกับการปรับเปลี่ยนที่เหมาะสม ซึ่งต่อมาได้กลายเป็นแนวคิด "EVAX" ซึ่งเป็นการต่อยอดจากการใช้งาน CMOS CVAX ที่ประสบความสำเร็จ เมื่อฝ่ายบริหารยอมรับผลการค้นพบ พวกเขาจึงตัดสินใจตั้งชื่อโครงการให้เป็นกลางมากขึ้น โดยตัด "VAX" ออกไป และในที่สุดก็เลือกใช้ชื่อ Alpha [ 13 ]ชื่อนี้ได้รับแรงบันดาลใจจากการใช้ "Omega" เป็นชื่อรหัสของ รุ่น VAX 4000ที่ใช้NVAX ; "Alpha" มีจุดประสงค์เพื่อสื่อถึงการเริ่มต้นของสายผลิตภัณฑ์ใหม่ (โดยอ้างอิงถึงAlpha และ Omega ) [ 14 ]หลังจากนั้นไม่นาน งานก็เริ่มต้นขึ้นในการพอร์ต VMS ไปยังสถาปัตยกรรมใหม่[ 15 ]

อัลฟ่า

Alpha ได้รับการออกแบบมาเพื่อประสิทธิภาพสูงและความสามารถในการทำงานทั้ง VMS และ Unix การแปลงไบนารีช่วยให้สามารถใช้งานร่วมกับแอปพลิเคชัน VAX VMS และ Ultrix MIPS ได้[ 7 ]มันใช้แนวคิดพื้นฐานส่วนใหญ่ของ PRISM แต่ได้รับการปรับแต่งใหม่เพื่อให้โปรแกรม VMS และ VMS สามารถทำงานได้ด้วยความเร็วที่เหมาะสมโดยไม่ต้องแปลงเลย สถาปนิกชุดคำสั่งหลักของ Alpha คือ Richard L. Sites และ Richard T. Witek [ 16 ] Epicode ของ PRISM ได้รับการพัฒนาเป็น PALcodeของ Alpha ซึ่งเป็นอินเทอร์เฟซแบบนามธรรมสำหรับคุณสมบัติเฉพาะของการใช้งานแพลตฟอร์มและโปรเซสเซอร์

การมีส่วนร่วมหลักของ Alpha ต่ออุตสาหกรรมไมโครโปรเซสเซอร์ และเหตุผลหลักสำหรับประสิทธิภาพของมัน ไม่ได้อยู่ที่สถาปัตยกรรมมากนัก แต่อยู่ที่การนำไปใช้งาน[ 17 ]ในเวลานั้น (เช่นเดียวกับในปัจจุบัน) อุตสาหกรรมไมโครชิปถูกครอบงำโดยเครื่องมือออกแบบและวางผังอัตโนมัติ นักออกแบบชิปที่ Digital ยังคงดำเนินการออกแบบวงจรด้วยตนเองที่ซับซ้อนต่อไปเพื่อรับมือกับสถาปัตยกรรม VAX ที่ซับซ้อน ชิป Alpha แสดงให้เห็นว่าการออกแบบวงจรด้วยตนเองที่ใช้กับสถาปัตยกรรมที่เรียบง่ายและสะอาดกว่า ช่วยให้สามารถทำงานที่ความถี่สูงกว่าที่ทำได้ด้วยระบบออกแบบอัตโนมัติมากขึ้น ชิปเหล่านี้ทำให้เกิดการฟื้นฟูการออกแบบวงจรแบบกำหนดเองภายในชุมชนการออกแบบไมโครโปรเซสเซอร์

เดิมทีโปรเซสเซอร์ Alpha ได้รับการกำหนดให้เป็นซีรี่ส์DECchip 21x64 [ 18 ]โดย "DECchip" ถูกแทนที่ด้วย "Alpha" ในช่วงกลางทศวรรษ 1990 ตัวเลขสองหลักแรก "21" หมายถึงศตวรรษที่ 21 และตัวเลขสองหลักสุดท้าย "64" หมายถึง 64 บิต[ 18 ] Alpha ได้รับการออกแบบให้เป็น 64 บิตตั้งแต่เริ่มต้น และไม่มีเวอร์ชัน 32 บิต ตัวเลขตรงกลางสอดคล้องกับรุ่นของสถาปัตยกรรม Alpha ภายใน โปรเซสเซอร์ Alpha ยังถูกระบุด้วย หมายเลข EVซึ่ง EV ย่อมาจาก "Extended VAX" อย่างเป็นทางการ แต่มีความหมายเชิงล้อเลียนอีกอย่างหนึ่งว่า "Electric Vlasic " ซึ่งเป็นการให้เกียรติแก่ การทดลอง Electric Pickleที่ Western Research Lab [ 19 ]ตัวเลขในการกำหนด EV บ่งบอกถึงกระบวนการผลิตเซมิคอนดักเตอร์ที่ชิปได้รับการออกแบบ ตัวอย่างเช่น โปรเซสเซอร์ EV4 ใช้กระบวนการ CMOS-4 ของ DEC [ 12 ]

ในเดือนพฤษภาคม พ.ศ. 2540 DEC ฟ้องIntelในข้อหาละเมิดสิทธิบัตร Alpha ในการออกแบบชิปPentium , Pentium ProและPentium II รุ่นดั้งเดิม [ 20 ]ส่วนหนึ่งของการประนีประนอม ธุรกิจการออกแบบและผลิตชิปส่วนใหญ่ของ DEC ถูกขายให้กับ Intel ซึ่งรวมถึง การใช้งาน StrongARMของสถาปัตยกรรมคอมพิวเตอร์ ARMซึ่ง Intel ทำการตลาดในชื่อ โปรเซสเซอร์ XScaleที่ใช้กันทั่วไปในPocket PCส่วนหลักของ Digital Semiconductor คือกลุ่มไมโครโปรเซสเซอร์ Alpha ยังคงอยู่กับ DEC ในขณะที่อาคารสำนักงานที่เกี่ยวข้องตกเป็นของ Intel ในฐานะส่วนหนึ่งของโรงงาน Hudson [ 21 ]

รุ่นปรับปรุง

ชิป Alpha รุ่นแรกๆ นับว่าเป็นชิปที่ล้ำสมัยที่สุดในยุคนั้น

รายงานที่ยืนยันอย่างต่อเนื่องซึ่งอ้างถึงคนวงในของ DEC ชี้ให้เห็นว่าการเลือกใช้ แท็ก AXPสำหรับโปรเซสเซอร์นั้นทำโดยฝ่ายกฎหมายของ DEC ซึ่งยังคงเจ็บปวดจากความล้มเหลวของเครื่องหมายการค้า VAX [ 26 ]หลังจากการค้นหาเป็นเวลานาน พบว่าแท็ก "AXP" นั้นไม่มีภาระผูกพันใดๆ ในวงการคอมพิวเตอร์ จึงเกิดเรื่องตลกขึ้นว่าตัวย่อAXPหมายถึง "Almost eXactly PRISM" [ 27 ]

หลักการออกแบบ

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

รหัสเงื่อนไข

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

ทะเบียน

รีจิสเตอร์ DEC Alpha
6 3... 4 7... 3 1... 1 5... 0 10 0(ตำแหน่งบิต)
ทะเบียนอเนกประสงค์
อาร์0 อาร์0
อาร์1 อาร์1
อาร์2 อาร์2
 
 
 
ร29 ร29
อาร์30 อาร์30
R31 (ศูนย์)R31 เป็นศูนย์เสมอ
รีจิสเตอร์จุดลอยตัว
เอฟ0 เอฟ0
เอฟ1 เอฟ1
เอฟ2 เอฟ2
 
 
 
เอฟ29 เอฟ29
เอฟ30 เอฟ30
F31 (ศูนย์)F31, ศูนย์เสมอ
ตัวนับโปรแกรม
พีซี 0 0 โปรแกรมเคาน์เตอร์​​
รีจิสเตอร์ควบคุม
แอลอาร์0 ล็อกรีจิสเตอร์ 0
แอลอาร์1 ล็อกรีจิสเตอร์ 1
เอฟพีซีอาร์ FP Control Register​​

สถาปัตยกรรมนี้กำหนดชุดรีจิสเตอร์ จำนวนเต็ม 32 ตัว และชุดรีจิสเตอร์เลขทศนิยม 32 ตัว นอกเหนือจากตัวนับโปรแกรม รีจิ สเตอร์ล็อกสองตัว และรีจิสเตอร์ควบคุมเลขทศนิยม (FPCR) นอกจากนี้ยังกำหนดรีจิสเตอร์ที่เป็นตัวเลือก ซึ่งจะถูกใช้งานก็ต่อเมื่อการใช้งานนั้นต้องการเท่านั้น สุดท้ายนี้ ยัง มีการกำหนด รีจิสเตอร์สำหรับPALcode ด้วย

รีจิสเตอร์จำนวนเต็มใช้สัญลักษณ์ R0 ถึง R31 และรีจิสเตอร์จำนวนทศนิยมใช้สัญลักษณ์ F0 ถึง F31 รีจิสเตอร์ R31 และ F31 ถูกกำหนดค่าตายตัวเป็นศูนย์ และการเขียนข้อมูลลงในรีจิสเตอร์เหล่านี้โดยคำสั่งต่างๆ จะถูกละเลย บริษัทดิจิทัลพิจารณาใช้ไฟล์รีจิสเตอร์แบบรวม แต่พบว่าไฟล์รีจิสเตอร์แบบแยกส่วนดีกว่า เนื่องจากช่วยให้การใช้งานแบบสองชิปมีไฟล์รีจิสเตอร์อยู่บนแต่ละชิป และการใช้งานเฉพาะจำนวนเต็มสามารถละเว้นไฟล์รีจิสเตอร์จำนวนทศนิยมที่มีรีจิสเตอร์จำนวนทศนิยมได้ นอกจากนี้ ไฟล์รีจิสเตอร์แบบแยกส่วนยังเหมาะสมกว่าสำหรับการออกคำสั่งหลายคำสั่งพร้อมกัน เนื่องจากจำนวนพอร์ตอ่านและเขียนลดลง จำนวนรีจิสเตอร์ต่อไฟล์รีจิสเตอร์ก็ได้รับการพิจารณาเช่นกัน โดยมี 32 และ 64 ตัวเป็นตัวเลือก บริษัทดิจิทัลสรุปว่า 32 รีจิสเตอร์เหมาะสมกว่า เนื่องจากใช้ พื้นที่ บนชิป น้อยกว่า ซึ่งช่วยปรับปรุงความถี่สัญญาณนาฬิกา จำนวนรีจิสเตอร์นี้ไม่ถือเป็นปัญหาใหญ่ในแง่ของประสิทธิภาพและการเติบโตในอนาคต เนื่องจากรีจิสเตอร์ 32 ตัวสามารถรองรับการออกคำสั่งอย่างน้อย 8 ทิศทางได้

ตัวนับโปรแกรม (Program Counter หรือ PC ) เป็นรีจิสเตอร์ขนาด 64 บิต ซึ่งประกอบด้วยที่อยู่ไบต์เสมือนที่จัดเรียงตามลองเวิร์ด (longword-aligned virtual byte address) กล่าวคือ บิตสองบิตล่างของตัวนับโปรแกรมจะเป็นศูนย์เสมอ เมื่อถอดรหัสคำสั่งแล้ว ค่า PC จะเพิ่มขึ้นทีละสี่ไปยังที่อยู่ของคำสั่งถัดไป แฟล็กการล็อกและรีจิสเตอร์ที่อยู่ทางกายภาพที่ถูกล็อกจะถูกใช้โดยคำสั่งโหลดล็อก (load-locked) และคำสั่งเงื่อนไขการจัดเก็บ (store-conditional) เพื่อรองรับการทำงานแบบมัลติโปรเซสเซอร์ รีจิสเตอร์ควบคุมจุดลอยตัว (Floating-Point Control Register หรือ FPCR) เป็นรีจิสเตอร์ขนาด 64 บิต ที่กำหนดโดยสถาปัตยกรรมซึ่งมีไว้สำหรับใช้งานโดยระบบ Alpha ที่มีฮาร์ดแวร์จุดลอยตัวที่สอดคล้อง กับมาตรฐาน IEEE 754

ประเภทข้อมูล

ในสถาปัตยกรรม Alpha นั้นไบต์ถูกกำหนดให้เป็นข้อมูล8 บิต (อ็อกเท็ต) เวิร์ดเป็นข้อมูล16 บิตลองเวิร์ดเป็นข้อมูล32 บิตควอดเวิร์ดเป็น ข้อมูล 64 บิตและอ็อกตาเวิร์ดเป็นข้อมูล 128 บิต

สถาปัตยกรรม Alpha เดิมกำหนดประเภทข้อมูลไว้หกประเภท:

  • จำนวนเต็มควอดเวิร์ด (64 บิต)
  • จำนวนเต็มแบบ Longword (32 บิต)
  • ค่าจุดลอยตัว IEEE T (ความแม่นยำสองเท่า, 64 บิต)
  • เลขทศลอย IEEE S (ความแม่นยำเดี่ยว, 32 บิต)

เพื่อรักษาความเข้ากันได้กับVAXซึ่งเป็นสถาปัตยกรรม 32 บิตที่มาก่อน Alpha จึงได้รวมชนิดข้อมูลจุดลอยตัวอีกสองชนิดไว้ด้วย:

  • VAX G-จุดลอยตัว (ความแม่นยำสองเท่า, 64 บิต)
  • VAX F - เลขทศนิยม (ความแม่นยำเดี่ยว, 32 บิต)

VAX H-floating point (ความแม่นยำควอด 128 บิต) ไม่ได้รับการสนับสนุน[ 31 ]แต่มีตัวเลือกจุดลอยตัว 128 บิตอีกแบบหนึ่งคือ X-floating point ซึ่งมีให้ใช้งานบน Alpha แต่ไม่มีใน VAX [ 32 ] H และ X ได้รับการอธิบายว่าคล้ายกัน แต่ไม่เหมือนกัน การจำลองซอฟต์แวร์สำหรับ H-floating มีให้ใช้งานจาก DEC เช่นเดียวกับตัวแปลงระดับซอร์สโค้ดชื่อ DECmigrate

หน่วยความจำ

โปรเซสเซอร์ Alpha มีพื้นที่ แอดเดรสเสมือนเชิงเส้น 64 บิตโดยไม่มีการแบ่งส่วนหน่วยความจำ การใช้งานจริงสามารถสร้างพื้นที่แอดเดรสเสมือนที่เล็กกว่าได้ โดยมีขนาดขั้นต่ำ 43 บิต แม้ว่าบิตที่ไม่ได้ใช้งานจะไม่ได้ถูกนำไปใช้ในฮาร์ดแวร์ เช่นTLB ( Third-Level Load Balancer) แต่สถาปัตยกรรมนี้กำหนดให้การใช้งานจริงต้องตรวจสอบว่าบิตเหล่านั้นเป็นศูนย์หรือไม่ เพื่อให้มั่นใจได้ถึงความเข้ากันได้ของซอฟต์แวร์กับการใช้งานที่มีพื้นที่แอดเดรสเสมือนขนาดใหญ่กว่า (หรือเต็ม)

รูปแบบคำแนะนำ

สถาปัตยกรรมคำสั่ง Alpha ISA มีความยาวคำสั่งคงที่ที่ 32 บิต และมีรูปแบบคำสั่งหกแบบ

พิมพ์31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ดำเนินการจำนวนเต็ม รหัสปฏิบัติการ รา อาร์บี ยังไม่ได้ใช้งาน 0 การทำงาน อาร์ซี
การดำเนินการจำนวนเต็ม, ค่าคงที่ รหัสปฏิบัติการ รา อย่างแท้จริง 1 การทำงาน อาร์ซี
การดำเนินการจุดลอยตัว รหัสปฏิบัติการ รา อาร์บี การทำงาน อาร์ซี
รูปแบบหน่วยความจำ รหัสปฏิบัติการ รา อาร์บี การเคลื่อนย้าย
รูปแบบสาขา รหัสปฏิบัติการ รา การเคลื่อนย้าย
รูปแบบ CALL_PAL รหัสปฏิบัติการ การทำงาน

รูปแบบการดำเนินการจำนวนเต็มถูกใช้โดยคำสั่งจำนวนเต็ม ประกอบด้วยฟิลด์โอเปอเรเตอร์โค้ด 6 บิต ตามด้วยฟิลด์ Ra ซึ่งระบุรีจิสเตอร์ที่เก็บตัวถูกดำเนินการตัวแรก และฟิลด์ Rb ซึ่งระบุรีจิสเตอร์ที่เก็บตัวถูกดำเนินการตัวที่สอง ถัดไปเป็นฟิลด์ 3 บิตที่ไม่ได้ใช้งานและสงวนไว้ ฟิลด์ 1 บิตเก็บค่า "0" ซึ่งใช้แยกความแตกต่างระหว่างรูปแบบนี้กับรูปแบบตัวเลขจำนวนเต็ม ฟิลด์ฟังก์ชัน 7 บิตถัดไป ซึ่งใช้ร่วมกับโอเปอเรเตอร์โค้ดเพื่อระบุการดำเนินการ ฟิลด์สุดท้ายคือฟิลด์ Rc ซึ่งระบุรีจิสเตอร์ที่จะเขียนผลลัพธ์ของการคำนวณลงไป ฟิลด์รีจิสเตอร์ทั้งหมดมีความยาว 5 บิต ซึ่งจำเป็นสำหรับการระบุตำแหน่งที่ไม่ซ้ำกัน 32 ตำแหน่ง คือ รีจิสเตอร์จำนวนเต็ม 32 ตัว

รูปแบบค่าคงที่จำนวนเต็มใช้สำหรับคำสั่งจำนวนเต็มที่ใช้ค่าคงที่เป็นหนึ่งในตัวถูกดำเนินการ รูปแบบจะเหมือนกับรูปแบบการดำเนินการจำนวนเต็ม ยกเว้นการแทนที่ฟิลด์ Rb 5 บิตและพื้นที่ว่าง 3 บิตด้วยฟิลด์ค่าคงที่ 8 บิตซึ่งขยายด้วยศูนย์เพื่อให้ได้ตัวถูกดำเนินการ 64 บิต

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

รูปแบบหน่วยความจำนี้ส่วนใหญ่ใช้สำหรับคำสั่งโหลดและจัดเก็บ โดยมีฟิลด์โอเปอเรชันโค้ด 6 บิต ฟิลด์ Ra 5 บิต ฟิลด์ Rb 5 บิต และฟิลด์การเลื่อนตำแหน่ง 16 บิต

คำสั่งกระโดด (Branch instruction) มีฟิลด์โอเปอเรเตอร์โค้ด 6 บิต ฟิลด์ Ra 5 บิต และฟิลด์ค่าชดเชย (displacement field) 21 บิต ฟิลด์ Ra ระบุรีจิสเตอร์ที่จะทดสอบโดยคำสั่งกระโดดแบบมีเงื่อนไข และหากตรงตามเงื่อนไข ตัวนับโปรแกรม (Program counter) จะได้รับการอัปเดตโดยการบวกเนื้อหาของฟิลด์ค่าชดเชยเข้ากับตัวนับโปรแกรม ฟิลด์ค่าชดเชยประกอบด้วยจำนวนเต็มที่มีเครื่องหมาย และหากค่าของจำนวนเต็มเป็นบวก หากมีการกระโดด ตัวนับโปรแกรมจะเพิ่มขึ้น หากค่าของจำนวนเต็มเป็นลบ ตัวนับโปรแกรมจะลดลงหากมีการกระโดด ดังนั้นช่วงของการกระโดดจึงอยู่ที่ ±1 Mi คำสั่ง หรือ ±4 MiB สถาปัตยกรรม Alpha ได้รับการออกแบบให้มีช่วงกว้างเช่นนี้ ซึ่งเป็นส่วนหนึ่งของเป้าหมายที่มองไปข้างหน้าของสถาปัตยกรรม

รูปแบบ CALL_PAL ถูกใช้โดยCALL_PALคำสั่งที่ใช้เรียก ซับรูทีน PALcodeรูปแบบนี้ยังคงรักษาฟิลด์ opcode ไว้ แต่แทนที่ฟิลด์อื่นๆ ด้วยฟิลด์ฟังก์ชัน 26 บิต ซึ่งประกอบด้วยจำนวนเต็มที่ระบุซับรูทีน PAL

ชุดคำสั่ง

คำแนะนำในการควบคุม

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

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

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

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

เลขคณิตจำนวนเต็ม

คำสั่งคำนวณเลขจำนวนเต็มจะทำการบวก คูณ และลบเลขจำนวนเต็มแบบ longword และ quadword รวมถึงการเปรียบเทียบเลขจำนวนเต็มแบบ quadword ไม่มีคำสั่งสำหรับการหาร เนื่องจากผู้พัฒนาเห็นว่าการนำการหารมาใช้ในฮาร์ดแวร์นั้นขัดกับความเรียบง่าย นอกจากคำสั่งบวกและลบมาตรฐานแล้ว ยังมี เวอร์ชัน ที่ปรับขนาดแล้ว ด้วย เวอร์ชันเหล่านี้จะเลื่อนตัวถูกดำเนินการตัวที่สองไปทางซ้ายสองหรือสามบิตก่อนที่จะทำการบวกหรือลบ คำสั่ง Multiply LongwordและMultiply Quadwordจะเขียนบิตที่มีค่าต่ำสุด 32 หรือ 64 บิตของผลลัพธ์ 64 หรือ 128 บิตไปยังรีจิสเตอร์ปลายทางตามลำดับ เนื่องจากเป็นประโยชน์ที่จะได้รับครึ่งค่าที่มีค่าสูงสุด จึง มีคำสั่ง Unsigned Multiply Quadword High (UMULH) UMULH ใช้สำหรับการใช้งานอัลกอริทึมการคำนวณเลขหลายความแม่นยำและการหาร แนวคิดของคำสั่งแยกต่างหากสำหรับการคูณที่ส่งคืนครึ่งค่าที่มีค่าสูงสุดของผลลัพธ์นั้นได้มาจาก PRISM

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

คำสั่งเปรียบเทียบจะเปรียบเทียบรีจิสเตอร์สองตัวหรือรีจิสเตอร์กับค่าคงที่ และเขียนค่า '1' ไปยังรีจิสเตอร์ปลายทางหากเงื่อนไขที่ระบุเป็นจริง หรือเขียนค่า '0' หากไม่เป็นจริง เงื่อนไขได้แก่ เท่ากัน ไม่เท่ากัน น้อยกว่าหรือเท่ากับ และน้อยกว่า ยกเว้นคำสั่งที่ระบุเงื่อนไขสองข้อแรกแล้ว ยังมีเวอร์ชันที่ทำการเปรียบเทียบแบบมีเครื่องหมายและไม่มีเครื่องหมายด้วย

คำสั่งคำนวณเลขจำนวนเต็มใช้รูปแบบคำสั่งการดำเนินการกับจำนวนเต็ม

ตรรกะและการเปลี่ยนแปลง

คำสั่งเชิงตรรกะประกอบด้วยคำสั่งสำหรับการดำเนิน การเชิงตรรกะ แบบบิตและคำสั่งย้ายแบบมีเงื่อนไขบนรีจิสเตอร์จำนวนเต็ม คำสั่งเชิงตรรกะแบบบิตจะดำเนินการAND , NAND , NOR , OR , XNORและXORระหว่างรีจิสเตอร์สองตัวหรือรีจิสเตอร์กับค่าคงที่ คำสั่งย้ายแบบมีเงื่อนไขจะทดสอบรีจิสเตอร์ว่าเป็นควอดเวิร์ดแบบมีเครื่องหมายหรือไม่ และจะย้ายค่าหากเงื่อนไขที่ระบุเป็นจริง เงื่อนไขที่ระบุได้แก่ ความเท่ากัน ความไม่เท่ากัน น้อยกว่าหรือเท่ากับ น้อยกว่า มากกว่าหรือเท่ากับ และมากกว่า คำสั่งเลื่อนจะทำการเลื่อนขวาทางเลขคณิตและการเลื่อนซ้ายและขวาเชิงตรรกะปริมาณการเลื่อนจะกำหนดโดยรีจิสเตอร์หรือค่าคงที่ คำสั่งเชิงตรรกะและคำสั่งเลื่อนใช้รูปแบบคำสั่งการดำเนินการจำนวนเต็ม

ส่วนขยาย

ส่วนขยายไบต์เวิร์ด (BWX)

Alpha รุ่นหลังๆ มีส่วนขยายไบต์เวิร์ด ซึ่งเป็นชุดคำสั่งสำหรับจัดการข้อมูลประเภท 8 บิตและ 16 บิต คำสั่งเหล่านี้ถูกนำมาใช้ครั้งแรกใน ไมโครโปรเซสเซอร์ 21164A (EV56) และมีอยู่ในทุกการใช้งานในภายหลัง คำสั่งเหล่านี้ดำเนินการที่ก่อนหน้านี้ต้องใช้คำสั่งหลายคำสั่งในการดำเนินการ ซึ่งช่วยปรับปรุงความหนาแน่นของโค้ดและประสิทธิภาพของแอปพลิเคชันบางอย่าง BWX ยังทำให้การจำลองโค้ดเครื่อง x86 และการเขียนไดรเวอร์อุปกรณ์ง่ายขึ้น อีกด้วย [ 33 ]

ตัวช่วยจำ คำแนะนำ
LDBUโหลดไบต์ที่ขยายเป็นศูนย์จากหน่วยความจำไปยังรีจิสเตอร์
LDWUโหลดคำที่ขยายเป็นศูนย์จากหน่วยความจำไปยังรีจิสเตอร์
SEXTBลงชื่อขยายไบต์
SEXTWลงชื่อ ขยายคำ
STBบันทึกไบต์จากรีจิสเตอร์ไปยังหน่วยความจำ
STWบันทึกคำจากรีจิสทรีไปยังหน่วยความจำ

คำแนะนำวิดีโอเคลื่อนไหว (MVI)

คำสั่ง Motion Video Instructions (MVI) เป็นส่วนขยายชุดคำสั่งของ Alpha ISA ที่เพิ่มคำสั่งสำหรับ การดำเนินการ แบบคำสั่งเดียว ข้อมูลหลายชุด (SIMD) [ 34 ]การใช้งาน Alpha ที่ใช้ MVI เรียงตามลำดับเวลา ได้แก่Alpha 21164PC (PCA56 และ PCA57), Alpha 21264 (EV6) และAlpha 21364 (EV7) MVI แตกต่างจากชุดคำสั่ง SIMD อื่นๆ ส่วนใหญ่ในช่วงเวลาเดียวกัน เช่นMDMXของMIPSหรือVisual Instruction SetของSPARCแต่คล้ายกับMultimedia Acceleration eXtensions (MAX-1, MAX-2) ของPA-RISC MVI เป็นชุดคำสั่งที่เรียบง่าย ประกอบด้วยคำสั่งเพียงไม่กี่คำสั่งที่ทำงานกับชนิดข้อมูลจำนวนเต็มที่เก็บไว้ในรีจิสเตอร์จำนวนเต็มที่มีอยู่

ความเรียบง่ายของ MVI เกิดจากสองสาเหตุ ประการแรก Digital พบว่าAlpha 21164สามารถ ถอดรหัส DVDผ่านซอฟต์แวร์ได้อยู่แล้ว จึงไม่จำเป็นต้องมีฮาร์ดแวร์เพิ่มเติม แต่ไม่มีประสิทธิภาพใน การเข้ารหัส MPEG-2ประการที่สองคือความต้องการรักษาเวลาการทำงานที่รวดเร็ว การเพิ่มคำสั่งจำนวนมากจะทำให้ตรรกะการถอดรหัสคำสั่งซับซ้อนและใหญ่ขึ้น ลดความถี่สัญญาณนาฬิกาของระบบลง

MVI ประกอบด้วยคำสั่ง 13 ข้อ:

ตัวช่วยจำ คำแนะนำ
MAXSB8เวกเตอร์ไบต์ที่มีเครื่องหมายสูงสุด
MAXSW4เวกเตอร์คำลงนามสูงสุด
MAXUB8เวกเตอร์ไบต์ไม่ระบุเครื่องหมายสูงสุด
MAXUW4เวกเตอร์คำที่ไม่มีเครื่องหมายสูงสุด
MINSB8เวกเตอร์ไบต์ลงนามขั้นต่ำ
MINSW4เวกเตอร์คำที่ลงนามขั้นต่ำ
MINUB8เวกเตอร์ไบต์ไม่ระบุเครื่องหมายขั้นต่ำ
MINUW4เวกเตอร์คำที่ไม่มีเครื่องหมายขั้นต่ำ
PERRข้อผิดพลาดพิกเซล
PKLBแปลงคำยาวเป็นไบต์
PKWBแปลงคำเป็นไบต์
UNPKBLแปลงไบต์เป็นลองเวิร์ด
UNPKBWแปลงไบต์เป็นเวิร์ด

ส่วนขยายจุดลอยตัว (แก้ไข)

ส่วนขยายจุดลอยตัว (FIX) เป็นส่วนขยายของสถาปัตยกรรมอัลฟา โดยเพิ่มคำสั่งเก้าคำสั่งสำหรับคำนวณรากที่สองของจุดลอยตัว และสำหรับการถ่ายโอนข้อมูลระหว่างรีจิสเตอร์จำนวนเต็มและรีจิสเตอร์จุดลอยตัว ไมโครโปรเซสเซอร์Alpha 21264 (EV6) เป็นไมโครโปรเซสเซอร์ตัวแรกที่นำคำสั่งเหล่านี้ไปใช้

ตัวช่วยจำ คำแนะนำ
FTOISการย้ายค่าจากเลขทศนิยมไปยังรีจิสเตอร์จำนวนเต็ม, S_floating
FTOITการย้ายค่าจุดลอยตัวไปยังรีจิสเตอร์จำนวนเต็ม, T_floating
ITOFFการย้ายค่าจำนวนเต็มไปยังรีจิสเตอร์ทศนิยม, F_floating
ITOFSการย้ายค่าจำนวนเต็มไปยังรีจิสเตอร์ทศนิยม, S_floating
ITOFTการย้ายค่าจำนวนเต็มไปยังรีจิสเตอร์ทศนิยม, T_floating
SQRTFรากที่สอง F_floating
SQRTGรากที่สอง G_floating
SQRTSรากที่สอง S_floating
SQRTTรากที่สอง T_floating

ส่วนขยายการนับ (CIX)

Count Extensions (CIX) เป็นส่วนขยายของสถาปัตยกรรมที่เพิ่มคำสั่งสามคำสั่งสำหรับการนับบิต คำสั่งเหล่านี้จัดอยู่ในหมวดหมู่คำสั่งคำนวณเลขจำนวนเต็ม โดยได้รับการนำไปใช้งานครั้งแรกในAlpha 21264A (EV67)

ตัวช่วยจำ คำแนะนำ
CTLZนับเลขศูนย์นำหน้า
CTPOPนับจำนวนประชากร
CTTZนับเลขศูนย์ต่อท้าย

การนำไปใช้

DEC ได้ทำให้ Alpha เป็นสถาปัตยกรรมคอมพิวเตอร์เพียงแบบเดียวของตน คล้ายกับสิ่งที่เคยทำกับ VAX หลังจากที่การออกแบบนั้นประสบความสำเร็จอย่างมาก[ 7 ]เทคโนโลยีนี้มีความสำคัญต่อบริษัทมากจนนักวิเคราะห์อุตสาหกรรมรายหนึ่งบอกกับComputerworld ว่า "ถ้า Alpha ล้มเหลว DEC ก็จะตาย" [ 35 ]และPC Weekอธิบายว่า DEC กำลังอยู่ใน "การต่อสู้ครั้งสำคัญที่สุดในชีวิต" [ 36 ]มีแอปพลิเคชันประมาณ 30 แอปพลิเคชันที่พร้อมใช้งาน ณ การเปิดตัวระบบ Alpha รุ่นแรกในเดือนพฤศจิกายน 1992; DEC กล่าวว่าจะจัดส่งเพิ่มอีก 500 แอปพลิเคชันภายในเก้าเดือน และอีก 1500 แอปพลิเคชันในภายหลัง[ 37 ]

ในขณะที่ประกาศเปิดตัว Alpha ถูกยกย่องว่าเป็นสถาปัตยกรรมที่จะคงอยู่ไปอีก 25 ปีข้างหน้า แม้ว่าในความเป็นจริงจะไม่เป็นเช่นนั้น แต่ Alpha ก็มีอายุการใช้งานที่ค่อนข้างยาวนาน รุ่นแรกAlpha 21064 (หรือที่รู้จักกันในชื่อEV4 ) เปิดตัวในเดือนพฤศจิกายน 1992 โดยทำงานที่ความเร็วสูงสุด 192 MHz รุ่นที่ลดขนาดชิปเล็กน้อย ( EV4Sลดขนาดจาก 0.75 μm เหลือ 0.675 μm) ทำงานที่ความเร็ว 200 MHz ในอีกไม่กี่เดือนต่อมา โปรเซสเซอร์ 64 บิตนี้เป็น แบบ superpipelinedและsuperscalarเช่นเดียวกับสถาปัตยกรรม RISC อื่นๆ แต่ก็มีประสิทธิภาพเหนือกว่าทั้งหมด และ DEC ยกย่องว่าเป็นโปรเซสเซอร์ที่เร็วที่สุดในโลก การใส่ใจอย่างพิถีพิถันในการออกแบบวงจร ซึ่งเป็นเอกลักษณ์ของทีมออกแบบ Hudson เช่น วงจรนาฬิกาแบบรวมศูนย์ขนาดใหญ่ ช่วยให้พวกเขาสามารถใช้งาน CPU ที่ความเร็วสูงขึ้นได้ แม้ว่าสถาปัตยกรรมไมโครจะค่อนข้างคล้ายกับชิป RISC อื่นๆ ก็ตาม เมื่อเปรียบเทียบกันแล้วโปรเซสเซอร์ Intel Pentium ที่มีราคาถูกกว่า ทำงานที่ความเร็ว 66 MHz เมื่อเปิดตัวในฤดูใบไม้ผลิปีถัดมา

โปรเซสเซอร์Alpha 21164หรือEV5เริ่มวางจำหน่ายในปี 1995 ด้วยความถี่สูงสุดถึง 333 MHz ในเดือนกรกฎาคม 1996 ความเร็วของโปรเซสเซอร์รุ่นนี้เพิ่มขึ้นเป็น 500 MHz และในเดือนมีนาคม 1998 เพิ่มขึ้นเป็น 666 MHz นอกจากนี้ ในปี 1998 ยัง มีการเปิด ตัว Alpha 21264 ( EV6 ) ที่ความเร็ว 450 MHz และในที่สุดก็สามารถเพิ่มความเร็วได้ถึง 1.25 GHz (ในปี 2001 ด้วยรุ่น21264C / EV68CB ) ในปี 2003 โปรเซสเซอร์Alpha 21364หรือEV7 Marvel ได้เปิดตัว ซึ่งโดยพื้นฐานแล้วคือแกน EV68 ที่มี ลิงก์การสื่อสารระหว่างโปรเซสเซอร์1.6 GB/s จำนวน 4 ลิงก์เพื่อเพิ่มประสิทธิภาพ ของระบบ มัลติโปรเซสเซอร์โดยทำงานที่ความเร็ว 1 หรือ 1.15 GHz

ในปี 1996 การผลิตชิป Alpha ได้รับการอนุญาตให้แก่บริษัท Samsung Electronics หลังจากที่ Compaqเข้าซื้อกิจการ Digital ผลิตภัณฑ์ Alpha ส่วนใหญ่จึงตกไปอยู่กับAPI NetWorks , Inc. (เดิมชื่อ Alpha Processor Inc.) ซึ่งเป็นบริษัทเอกชนที่ได้รับการสนับสนุนทางการเงินจาก Samsung และ Compaq ในเดือนตุลาคมปี 2001 Microwayได้กลายเป็นผู้จัดจำหน่ายและให้บริการแต่เพียงผู้เดียวสำหรับผลิตภัณฑ์ Alpha ของ API NetWorks

เมื่อวันที่ 25 มิถุนายน พ.ศ. 2544 คอมแพคประกาศว่าจะยุติการผลิต Alpha ภายในปี พ.ศ. 2547 โดยจะเปลี่ยนไปผลิต ItaniumของIntel แทน ยกเลิก ชิป EV8 ที่วางแผนไว้ และขายทรัพย์สินทางปัญญาของ Alpha ทั้งหมดให้กับIntel [ 5 ] ฮิวเลตต์-แพคการ์ดควบรวมกิจการกับคอมแพคในปี พ.ศ. 2545; HP ประกาศว่าการพัฒนาซีรี่ส์ Alpha จะดำเนินต่อไปอีกไม่กี่ปี รวมถึงการเปิดตัว EV7 รุ่น 1.3 GHz ที่ชื่อว่าEV7z ซึ่งจะเป็นรุ่นสุดท้ายของ Alpha โดย EV79ขนาด 0.13 μm ก็ถูกยกเลิกเช่นกัน

Alpha ยังถูกนำไปใช้ในPiranhaซึ่งเป็นต้นแบบการวิจัยที่พัฒนาโดยกลุ่มวิจัยองค์กรและกลุ่มพัฒนาฮาร์ดแวร์แบบไม่หยุดทำงานของ Compaq ที่ห้องปฏิบัติการวิจัยตะวันตกและศูนย์วิจัยระบบPiranhaเป็นการ ออกแบบ มัลติคอร์สำหรับ ภาระงาน ประมวลผลธุรกรรมที่มีคอร์แบบง่ายแปดคอร์ ได้รับการอธิบายในการประชุมวิชาการนานาชาติด้านสถาปัตยกรรมคอมพิวเตอร์ประจำปีครั้งที่ 27 ในเดือนมิถุนายน พ.ศ. 2543 [ 38 ]

มีการอ้างว่า การแก้ไข สถาปัตยกรรม Sunway ในช่วงแรกนั้น อิงตาม Alpha อย่างไรก็ตาม ตั้งแต่SW26010 เป็นต้น มา Sunway ใช้สถาปัตยกรรมชุดคำสั่งใหม่ที่ไม่เกี่ยวข้องกับ Alpha [ 39 ] [ 40 ]

ประวัติรุ่น

แบบอย่าง หมายเลขรุ่น ปี ความถี่ [MHz] กระบวนการ [μm] ทรานซิสเตอร์ [ล้าน] ขนาดแม่พิมพ์ [มม. ² ] พิน IO พลังงาน [W] แรงดันไฟฟ้า แคช [KB] [ b ]ไอแคช [KB] สแคช บีแคช ISA
อีวี4 210641992100–2000.751.68234290303.388128 KB–16 MB 
อีวี4เอส 21064พ.ศ. 2536100–2000.6751.68186290273.388128 KB–16 MB 
อีวี45 21064Aพ.ศ. 2537200–3000.52.85164333.31616256 KB–16 MB 
แอลซีเอ4 21066พ.ศ. 2536100–1660.6751.75209213.388  
แอลซีเอ4 21068พ.ศ. 2537660.6751.7520993.388  
แอลซีเอ45 21066Aพ.ศ. 2537100–2660.51.8161233.388  
แอลซีเอ45 21068Aพ.ศ. 25371000.51.81613.388  
อีวี5 21164พ.ศ. 2538266–5000.59.3299296563.3/2.58896 KBสูงสุด 64 MBอาร์
อีวี56 21164Aพ.ศ. 2539366–666 [ 41 ]0.359.66 [ 41 ]20931–55 [ 41 ]3.3/2.5 [ 41 ]8896 KBสูงสุด 64 MBอาร์ บี
พีซีเอ56 21164พีซีพ.ศ. 2540400–5330.353.514126426–353.3/2.5816512 KB–4 MBอาร์ บี เอ็ม
พีซีเอ57 21164พีซี 600–6660.285.710128318–232.5/2.01632 [ 41 ]512 KB–4 MBอาร์ บี เอ็ม
อีวี6 212641998450–6000.3515.2314389732.064642–8 MBอาร์ บี เอ็ม เอฟ
อีวี67 21264A1999600–7500.2515.2210389 2.064642–8 MBอาร์ บี เอ็ม เอฟ ซี
อีวี68แอล 21264บี2001800–8330.1815.2125  1.764642–8 MBอาร์ บี เอ็ม เอฟ ซี ที
อีวี68ซีบี 21264C20011000–12500.1815.2125 65–751.6564642–8 MBอาร์ บี เอ็ม เอฟ ซี ที
อีวี68ซีเอ็กซ์ 21264D       1.6564642–8 MBอาร์ บี เอ็ม เอฟ ซี ที
อีวี7 2136420031000–11500.181303971251.564641.75 MBอาร์ บี เอ็ม เอฟ ซี ที
อีวี7ซี 21364200413000.181303971251.564641.75 MBอาร์ บี เอ็ม เอฟ ซี ที
ยกเลิก
อีวี78/อีวี79 21364Aกำหนดไว้สำหรับปี 200417000.131523001201.264641.75 MBอาร์ บี เอ็ม เอฟ ซี ที
อีวี8 21464กำหนดไว้สำหรับปี 20031200–20000.1252504201800??1.264643 MBอาร์ บี เอ็ม เอฟ ซี ที
ส่วนขยาย ISA
  • R – การสนับสนุนฮาร์ดแวร์สำหรับการปัดเศษเป็นอนันต์และอนันต์ลบ[ 42 ]
  • B – BWX หรือ "Byte/Word Extension" เป็นส่วนขยายที่เพิ่มคำสั่งเพื่อให้สามารถดำเนินการกับข้อมูล 8 บิตและ 16 บิตจากหน่วยความจำและอินพุต/เอาต์พุตได้
  • M – MVI, คำแนะนำ "มัลติมีเดีย"
  • F – FIX คำสั่งสำหรับย้ายข้อมูลระหว่างรีจิสเตอร์จำนวนเต็มและรีจิสเตอร์ทศนิยม และสำหรับคำนวณรากที่สอง
  • C – CIX คำแนะนำสำหรับการนับและการค้นหาบิต
  • T – รองรับการดึงข้อมูลล่วงหน้าพร้อมเจตนาแก้ไขเพื่อปรับปรุงประสิทธิภาพของการพยายามล็อกครั้งแรก

ผลงาน

เพื่อแสดงให้เห็นถึงประสิทธิภาพเชิงเปรียบเทียบของระบบที่ใช้สถาปัตยกรรม Alpha ตัวเลขประสิทธิภาพจากStandard Performance Evaluation Corporation (SPEC) (SPECint95, SPECfp95) แสดงอยู่ด้านล่าง โปรดทราบว่าผลลัพธ์ของ SPEC ระบุว่าเป็นการวัดประสิทธิภาพของระบบคอมพิวเตอร์ทั้งหมด (CPU, บัส, หน่วยความจำ, ตัวปรับแต่งคอมไพเลอร์) ไม่ใช่แค่ CPU เท่านั้น และโปรดทราบว่าเกณฑ์มาตรฐานและมาตราส่วนมีการเปลี่ยนแปลงตั้งแต่ปี 1992 ถึง 1995 อย่างไรก็ตาม ตัวเลขเหล่านี้ให้ภาพรวมคร่าวๆ เกี่ยวกับประสิทธิภาพของสถาปัตยกรรม Alpha (64 บิต) เมื่อเทียบกับผลิตภัณฑ์ของ HP (64 บิต) และ Intel (32 บิต) ในยุคเดียวกัน แนวโน้มที่เห็นได้ชัดที่สุดคือ ในขณะที่ Intel สามารถทำประสิทธิภาพการคำนวณจำนวนเต็มได้ใกล้เคียงกับ Alpha เสมอ แต่ในด้านการคำนวณจุดลอยตัวนั้น ความแตกต่างค่อนข้างมาก ในทางกลับกัน HP ( PA-RISC ) ก็ทำประสิทธิภาพได้ใกล้เคียงกับ Alpha เช่นกัน แต่ CPU เหล่านี้ทำงานที่ความเร็วสัญญาณนาฬิกา (MHz) ที่ต่ำกว่ามาก ตารางเหล่านี้ขาดค่าสำคัญสองค่า ได้แก่ การใช้พลังงานและราคาของ CPU

ระบบที่ใช้แอลฟา

ระบบ DEC Alpha รุ่นแรกประกอบด้วยเวิร์กสเตชันและเซิร์ฟเวอร์ระดับล่างDEC 3000 AXP ซีรีส์ เซิร์ฟเวอร์ระดับกลางDEC 4000 AXP ซีรีส์ และ เซิร์ฟเวอร์ระดับสูงDEC 7000 AXP และ 10000 AXP ซีรีส์ ระบบ DEC 3000 AXP ใช้บัส TURBOchannel เดียวกันกับรุ่น DECstation ที่ใช้ MIPSรุ่นก่อนหน้าในขณะที่ 4000 ใช้Futurebus + และ 7000/10000 ใช้สถาปัตยกรรมร่วมกับรุ่น VAX ที่เกี่ยวข้อง

นอกจากนี้ DEC ยังผลิต เวิร์กสเตชัน พีซีรุ่น Alpha ที่ใช้สถาปัตยกรรมมาตรฐานอุตสาหกรรมแบบขยาย (EISA) คือDECpc AXP 150 (ชื่อรหัสJensenหรือเรียกอีกชื่อว่า DEC 2000 AXP) ซึ่งเป็นระบบ Alpha รุ่นแรกที่รองรับWindows NTต่อมา DEC ได้ผลิตพีซีรุ่น Alpha ในตระกูล Celebris XL และDigital Personal Workstation PC โดยใช้โปรเซสเซอร์ 21164

นอกจากนี้ Digital ยังผลิตคอมพิวเตอร์แบบบอร์ดเดี่ยวที่ใช้VMEbusสำหรับการใช้งานแบบฝังตัวและในอุตสาหกรรม รุ่นแรกประกอบด้วย AXPvme 64 และ AXPvme 64LC ที่ใช้โปรเซสเซอร์ 21068 และ AXPvme 160 ที่ใช้โปรเซสเซอร์ 21066 ซึ่งเปิดตัวเมื่อวันที่ 1 มีนาคม 1994 รุ่นต่อมา เช่น AXPvme 100, AXPvme 166 และ AXPvme 230 ใช้โปรเซสเซอร์ 21066A ในขณะที่ Alpha VME 4/224 และ Alpha VME 4/288 ใช้โปรเซสเซอร์ 21064A ส่วนรุ่นสุดท้าย Alpha VME 5/352 และ Alpha VME 5/480 ใช้โปรเซสเซอร์ 21164

ชิป 21066 ถูกใช้ใน เวิร์กสเตชันขนาดกะทัดรัด DEC Multia VX40/41/42 และแล็ปท็อป ALPHAbook 1 จาก Tadpole Technology

ในปี 1994 DEC ได้เปิดตัวระบบ AlphaStationและAlphaServerรุ่นใหม่ซึ่งใช้โปรเซสเซอร์ 21064 หรือ 21164 และแนะนำ บัส PCI , เฟรมบัฟเฟอร์ที่เข้ากันได้กับVGAและ คีย์บอร์ดและเมาส์แบบ PS/2ซีรีส์ AlphaServer 8000 มาแทนที่ DEC 7000/10000 AXP และยังใช้บัส XMI และ FutureBus+ อีกด้วย

AlphaStation XP1000 เป็นเวิร์กสเตชันรุ่นแรกที่ใช้โปรเซสเซอร์ 21264 รุ่นต่อมาของAlphaServer / Station ที่ใช้โปรเซสเซอร์ 21264 จะถูกแบ่งออกเป็น ตระกูล DS (เซิร์ฟเวอร์สำหรับแผนก), ES (เซิร์ฟเวอร์สำหรับองค์กร) หรือGS (เซิร์ฟเวอร์ระดับโลก)

ชิป 21364 รุ่นสุดท้ายนี้ใช้ในAlphaServerรุ่น ES47, ES80 และ GS1280 รวมถึงAlphaStation รุ่น ES47 ด้วย

DEC ผลิตเมนบอร์ดOEM จำนวนมาก เช่น AXPpci 33 "NoName" ที่ใช้ชิป 21066 และ 21068 ซึ่งเป็นส่วนหนึ่งของความพยายามครั้งใหญ่ของบริษัทในการเข้าสู่ตลาด OEM [ 43 ] AlphaPC 164 และ AlphaPC 164LX ที่ใช้ชิป 21164, AlphaPC 164SX และ AlphaPC 164RX ที่ใช้ชิป 21164PC และ AlphaPC 264DP ที่ใช้ชิป 21264 นอกจากนี้ บริษัทภายนอกหลายแห่ง เช่น Samsung และ API ยังผลิตเมนบอร์ด OEM เช่น API UP1000 และ UP2000 อีกด้วย

เพื่อช่วยเหลือบุคคลที่สามในการพัฒนาฮาร์ดแวร์และซอฟต์แวร์สำหรับแพลตฟอร์มดังกล่าว DEC ได้ผลิตบอร์ดประเมินผล เช่น EB64+ และ EB164 สำหรับไมโครโปรเซสเซอร์ Alpha 21064A และ 21164 ตามลำดับ

โปรเซสเซอร์ 21164 และ 21264 ถูกใช้โดยNetApp ในระบบ จัดเก็บข้อมูลแบบเชื่อมต่อเครือข่ายต่างๆในขณะที่โปรเซสเซอร์ 21064 และ 21164 ถูกใช้โดยCrayในซูเปอร์คอมพิวเตอร์ แบบขนานขนาดใหญ่T3DและT3E ของพวกเขา

ซูเปอร์คอมพิวเตอร์

ซูเปอร์คอมพิวเตอร์ที่เร็วที่สุดที่ใช้โปรเซสเซอร์ Alpha คือASCI Q ที่ห้องปฏิบัติการแห่งชาติลอสอะลามอส เครื่องนี้สร้างขึ้นเป็นคลัสเตอร์ HP AlphaServer SC45/GS มี CPU Alpha 4096 ตัว (EV-68 21264 ตัวความเร็ว 1.25 GHz) และทำ R max ได้ ถึง 7.727 TFLOPS [ 44 ]

หมายเหตุ

  1. ^ในบริบทของการถ่ายโอนข้อมูล 1 GB หมายถึง 1 พันล้านไบต์
  2. ^ในบริบทของหน่วยความจำแคช 1 KB = 1024ไบต์ ; 1 MB = 1024 KB
  • คู่มือสถาปัตยกรรมอัลฟ่า ฉบับที่ 4
  • คู่มือสถาปัตยกรรมอัลฟ่า ฉบับที่ 3
  • วารสารเทคนิคดิจิทัล เล่มที่ 4 ฉบับที่ 4 ฉบับพิเศษ ปี 1992 สถาปัตยกรรมและระบบ Alpha AXP เก็บถาวรเมื่อวันที่ 23 มกราคม 2023 ที่Wayback Machineฉบับนี้ประกอบด้วยบทความหลายเรื่องจากสถาปนิกของ Alpha
  • คลังเอกสารทางเทคนิคที่เก็บถาวรลิงก์นี้มีคู่มืออ้างอิงฮาร์ดแวร์และเอกสารข้อมูลสำหรับไมโครโปรเซสเซอร์ ชิปเซ็ต และเมนบอร์ด OEM ของ Alpha รวมถึงคู่มือสถาปัตยกรรม Alpha และคู่มือการเขียนโปรแกรมต่างๆ
  • บทสนทนากับแดน ด็อบเบอร์พูล (1 ตุลาคม 2546)
  • บันทึกการบรรยายเรื่องสถาปัตยกรรมคอมพิวเตอร์ของ ดร. บรูซ ฮัตตัน
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=DEC_Alpha&oldid=1350847065 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เดค อัลฟ่า

Alpha (เดิมชื่อ Alpha AXP ) เป็น สถาปัตยกรรมชุด คำสั่ง (ISA) คอมพิวเตอร์แบบลด ชุดคำสั่ง ( RISC ) ขนาด 64 บิต ที่พัฒนาโดย Digital Equipment Corporation (DEC) Alpha...

ปริซึม

ในช่วงทศวรรษ 1980 Digital Equipment Corporation (DEC) ประสบความสำเร็จอย่างมากกับคอมพิวเตอร์ VAX ที่ ใช้สถาปัตยกรรม CISC 32 บิต ซึ่งทำงานบน ระบบปฏิบัติการ VMS อย่างไรก็ตาม ในช่วงกลางทศวรรษ 1980 บริษัทได้เห็นด้วยกับฉันทามติของอุตสาหกรรมว่า เทคโนโลยี RISC ใหม่...

RISCy VAX

เมื่อการประชุมเลิก บ็อบ ซุปนิกถูก เคน โอลเซน เข้ามาหา ซึ่งระบุว่าชิป RISC ดูเหมือนจะเป็นภัยคุกคามในอนาคตต่อสายผลิตภัณฑ์ VAX ของพวกเขา เขาขอให้ซุปนิกพิจารณาว่าควรทำอย่างไรกับ VAX เพื่อให้สามารถแข่งขันกับระบบ RISC ในอนาคตได้ [ 9 ]

อัลฟ่า

Alpha ได้รับการออกแบบมาเพื่อประสิทธิภาพสูงและความสามารถในการทำงานทั้ง VMS และ Unix การแปลงไบนารี ช่วยให้ สามารถใช้งานร่วม กับแอปพลิเคชัน VAX VMS และ Ultrix MIPS ได้ [ 7 ] มันใช้แนวคิดพื้นฐานส่วนใหญ่ของ PRISM แต่ได้รับการปรับแต่งใหม่เพื่อให้โปรแกรม VMS และ VMS...