Windows เคยรองรับสถาปัตยกรรมฮาร์ดแวร์อื่น ๆ ที่ไม่ใช่ x86 หรือไม่?


66

Microsoft Windows Internals รุ่นที่ 4 พูดว่า:

สถาปัตยกรรมของโปรเซสเซอร์ Intel x86 กำหนดสี่ระดับสิทธิ์หรือเสียงกริ่งเพื่อป้องกันรหัสระบบและข้อมูลจากการเขียนทับโดยไม่ตั้งใจหรือโดยประสงค์ร้ายโดยรหัสของสิทธิ์น้อยกว่า Windows ใช้สิทธิ์ระดับ 0 (หรือแหวน 0) สำหรับโหมดเคอร์เนลและระดับสิทธิ์ 3 (หรือแหวน 3) สำหรับโหมดผู้ใช้ เหตุผลที่ Windows ใช้เพียงสองระดับคือสถาปัตยกรรมฮาร์ดแวร์บางอย่างที่ได้รับการสนับสนุนในอดีต (เช่น Compaq Alpha และ Silicon Graphics MIPS) มีการใช้งานสิทธิ์สองระดับเท่านั้น

นี่หมายความว่า Windows เคยสนับสนุน Alpha และ MIPS หรือไม่


49
มันอาจจะยากที่จะเชื่อ แต่ Microsoft เป็นหนึ่งใน บริษัท ที่ "เปิดสถาปัตยกรรม" ที่สุดในโลก MS-DOS ดั้งเดิมเข้ากันได้กับหลายสิบแพลตฟอร์มและระบบปฏิบัติการอื่น ๆและ Windows ได้รับการออกแบบในหลอดเลือดดำเดียวกัน Excel ถูกสร้างขึ้นบนเครื่องเสมือนที่ทำงานบนแพลตฟอร์มที่แตกต่างกัน นี่ไม่ใช่อุบัติเหตุ - นั่นเป็นวิธีที่พีซี IBM (และโคลน) กลายเป็นมาตรฐานโดยพฤตินัยอย่างแพร่หลายและรวดเร็วและ Microsoft เป็นผู้จัดหาซอฟต์แวร์พื้นฐานให้ได้อย่างไร คุณเลือกระบบใดที่สามารถใช้งานแอพพลิเคชั่นทั้งหมดของคุณหรือระบบที่มีผู้ขายล็อคคุณอยู่ :)
Luaan

13
ฉันได้ติดตั้ง Windows ไว้ทั้งบนอัลฟ่าและ MIPS แต่เมื่อนานมาแล้ว เมื่อฉันเป็น Microsoft ฝึกงานหนึ่งในงานของฉันคือการเรียกใช้ชุดทดสอบ Visual Basic บนฮาร์ดแวร์ที่นักพัฒนาไม่ได้อยู่บนโต๊ะทำงานของพวกเขา
Eric Lippert

7
@Luaan - ไม่ใช่แค่ "open architecture" แต่ยังเป็น "open OS" ด้วย! วิธีการอื่นที่คุณสามารถอธิบายว่าครั้งหนึ่ง Unix ตัวแปรอนุญาตอย่างเป็นทางการของพวกเขาเป็นที่พบมากที่สุดที่ติดตั้งระบบปฏิบัติการยูนิกซ์ในโลก - ดูXenix ที่วิกิพีเดีย
davidbak

4
แม้กระทั่งทุกวันนี้ยังมี Windows รุ่นต่างๆที่ทำงานบนสถาปัตยกรรมอื่น ๆ นอกเหนือจาก x86 / x64, viz Windows RT สำหรับอุปกรณ์ ARM
TigerhawkT3

2
@Luaan มันเป็นปัญหาจริงที่ต้องแก้ไขเพราะโดยเฉพาะอย่างยิ่งพีซี IBM รุ่นแรก ๆ ที่เข้ากันไม่ได้กับพีซี IBM ทั้งหมด ย้อนกลับไปในวันนี้ "ความเข้ากันได้ของ IBM 100%" เป็นจุดขายสำหรับผู้จำหน่ายฮาร์ดแวร์ เราทำสิ่งเหล่านี้เพื่อให้ได้รับในวันนี้ แต่ในช่วงครึ่งแรกของปี 1980 หรือมากกว่านั้นพวกเขาไม่ได้รับประกันเลย Microsoft ไม่ได้ย้ายเข้าสู่ตลาดค้าปลีกระบบปฏิบัติการก่อนMS-DOS 5.0ซึ่งเข้าสู่ตลาดในปี 1991 ใช่หนึ่งปีหลังจากเรื่องราวความสำเร็จที่ก้าวล้ำของ Windows 3.0
CVn

คำตอบ:


82

Microsoft เปิดตัวWindows NT 3.1ในปี 1993 เป็น Windows รุ่น 32 บิตรุ่นแรก

Windows NT ได้รับการพัฒนาเป็นระบบปฏิบัติการหลายสถาปัตยกรรม เริ่มแรกสนับสนุนสถาปัตยกรรม CPU ที่แตกต่างกันรวมถึง IA-32, DEC Alpha, MIPS และ PowerPC

แนวคิดดั้งเดิมคือการมีรหัสพื้นฐานร่วมกับ Hardware Abstraction Layer (HAL) ที่กำหนดเองสำหรับแต่ละแพลตฟอร์ม อย่างไรก็ตามการสนับสนุนสำหรับ MIPS, อัลฟาและ PowerPC ต่อมาก็ลดลงในWindows 2000


7
IIRC หน้าWikipediaมีไพรเมอร์ที่เหมาะสมกับรายละเอียดของสถาปัตยกรรมที่ทำและทำไมพวกเขาจึงไม่ออกสู่ตลาด
Geek

13
ฉันเชื่อว่าแพลตฟอร์มการพัฒนาดั้งเดิมคือ i860 นี่เป็นตัวเลือกโดยเจตนาที่จะหยุด '386-isms' ในการออกแบบ ครั้งหนึ่ง Microsoft ยังได้เปิดตัวแอปพลิเคชั่นสำหรับสถาปัตยกรรมที่แตกต่างกัน ฉันมีแผ่นซีดี Word สำหรับ Windows 6 ที่สร้างขึ้นสำหรับ Windows NT ใน i386, Alpha, MIPS และ PowerPC
Ed Avis

4
ฉันจำได้ว่าพยายามซื้อซอฟต์แวร์จาก Microsoft ที่ทำงานบนระบบ Alpha NT ของเราพนักงานขายของ Microsoft ในสหราชอาณาจักรไม่ทราบว่า Alpha CPU คืออะไร DEC ทำให้เรามีเครื่องราคาถูกมากในฐานะผู้ให้บริการอินเทอร์เน็ตในท้ายที่สุดเราเพิ่งวางยูนิกซ์ไว้บนพวกเขาและใช้พวกเขาเป็น X-Terms แทนที่จะเป็นโครงการสำหรับพอร์ตไปยัง NT
Ian Ringrose

4
"แนวคิดดั้งเดิมคือการมีฐานรหัสทั่วไปพร้อมด้วย Hardware Abstraction Layer (HAL) ที่กำหนดเองสำหรับแต่ละแพลตฟอร์ม" ทำให้ดูเหมือนว่าจะไม่มี HAL จริงในช่วงนี้ซึ่งจะไม่ถูกต้อง สำหรับ Windows NT วันนี้ยังรองรับ ARM ในทุกวันนี้และแม้ว่าคุณจะรองรับ x86 เท่านั้นก็มีการแก้ไขที่หลากหลายสำหรับ x86 (หนึ่งที่ใหญ่ที่สุดคือ x64) และการแก้ไขข้อผิดพลาดสำหรับโปรเซสเซอร์ที่แตกต่างกัน, เมนบอร์ดและสิ่งอื่น ๆ
Voo

4
นอกจากนี้ยังมีพอร์ตบุคคลที่สามไปยัง Sparc หลังจากนั้นการสนับสนุน PowerPC ได้รับการคืนค่าสำหรับ XBox360 ก่อนหน้านั้นไม่นานมีการเพิ่มการรองรับ IA64 หลังจากนั้นรองรับ AMD64 ถูกเพิ่มเข้ามา การเพิ่มล่าสุดคือการรองรับ ARM เดิมแพลตฟอร์มการพัฒนาเป็น i860; มันไม่เคยตั้งใจจะปล่อยให้แพลตฟอร์มนั้นมันทำอย่างหมดจดเพราะมันเป็น "แปลก" และแตกต่างมากที่สุดจาก x86, PowerPC, MIPS และ Co เพื่อให้แน่ใจว่าพกพาได้
Jörg W Mittag

46

เท่าที่ฉันรู้มี 8 สถาปัตยกรรมพื้นฐาน (และจำนวนย่อยย่อย) ซึ่งเพียง 2 ยังคงได้รับการสนับสนุนในวันนี้กับ Windows 10

Windows 1.0 ถึง 3.11, Windows 95, 98 และ Millenium Edition

x86 (รุ่น 16 บิตและ 32 บิตรวมถึง 8086, 80186, 80286, 80386, 80486, Pentium, Pentium Pro, Pentium II, Pentium II, Pentium III, P4, Core, Core Duo, Core-I และ Celeron และ Atom หลายแบบ) ยังรวมถึงซีพียู AMD และ NEC ที่ใช้ร่วมกันได้หลากหลาย

Windows CE

MIPS, x86, ARM (ขอบคุณ @ pjc50)
(ไม่แน่ใจว่า CE ใช้กับ Alpha, PowerPC หรือไม่)

วินโดวส์เอ็นที

x86, x64 (หรือ amd64, ใช้ชื่อทั้งสอง), MIPS, Alpha, IA32, IA64, PowerPC
การสนับสนุน MIPS, Alpha และ PowerPC ถูกปล่อยใน Windows 2000 Itanium เป็นเซิร์ฟเวอร์ที่เริ่มต้นด้วย Windows 2000 และ 32 บิต (IA32) เท่านั้นที่ปล่อยสำหรับ 2008 และ 64- บิต (IA64) กับ Server 2012 ถ้าฉันจำได้ถูกต้อง เฉพาะ x86 (จำกัด เฉพาะอุปกรณ์เน็ตบุ๊ก / แท็บเล็ตบางรุ่น) และ x64 ในปัจจุบันยังคงใช้งานได้สำหรับ Windows 10

Windows Phone

แขน (อาจเป็น MIPS ด้วย?)

Windows 10 สำหรับ IoT

x64, ARM


2
Windows NT เนื่องจาก Windows 10 สำหรับโทรศัพท์รองรับ ARM
Tamoghna Chowdhury

16
"IA-32" หมายถึง "32-bit x86" ซึ่งเป็นรุ่นเดียวของ x86 ที่รองรับโดย Windows NT จนกว่า x64 / AMD64 จะมาพร้อมกัน เนื้อหาที่ว่า x64 / AMD64 นั้นเป็นเพียงแค่รุ่น x86 เท่านั้นถึงแม้ว่า Windows จะมีเครื่องมือมากมายสำหรับการจัดการความแตกต่างโดยเฉพาะ "IA-64" เป็นสถาปัตยกรรม 64 บิตใหม่ที่ใช้ชิป Itanium ไม่เคยมีสิ่งใด ๆ เช่น Itanium 32 บิต
IMSoP

9
Windows CE ไม่ใช่ตัวแปร NT หรือพอร์ตของ NT มันมีเคอร์เนลที่แตกต่างและแปลกใหม่ของตัวเองรวมถึงสถาปัตยกรรมกระบวนการที่แตกต่างกันมากและการแมปหน่วยความจำ จำนวนมากรหัส NT ถูกรังเพลิงไปจากระบบปฏิบัติการเช่นกองเครือข่ายทั้งหมดและมากอื่น ๆ และแน่นอนในระดับ userland ที่สนับสนุน Windows API ที่ ..
davidbak

7
Windows CE ก็วิ่งไปที่ pocessors ของ Hitachi Super-H บางรุ่น ตัวอย่างที่มีชื่อเสียงคือ Sega Dreamcast (SH4) แต่ฉันก็คิดว่ามีพีดีเอบางตัวที่ใช้ SH3 ที่ใช้ Windows CE
Michael

3
Windows Phone เป็นชื่อทางการตลาด ถึง WP7 มันเป็นส่วนหนึ่งของสาย CE, WP8 เป็นอนุพันธ์ NT ในทำนองเดียวกัน Windows 10 IOT ยังเป็นเคอร์เนล NT ที่ได้รับการปรับแต่งเช่นเดียวกับ XBoxen รุ่นที่ 3
MSalters


15

แท็บเล็ต Windows Surface ที่วางจำหน่ายในปี 2012 ใช้สถาปัตยกรรม ARM แบบ 32 บิตรุ่นเฉพาะนี้มีชื่อว่าWindows RT :

เป็นรุ่นของ Windows 8.x ที่สร้างขึ้นสำหรับสถาปัตยกรรม ARM แบบ 32 บิต (ARMv7)

[ ... ]

เนื่องจากสถาปัตยกรรมที่แตกต่างกันของอุปกรณ์ที่ใช้ ARM เมื่อเทียบกับอุปกรณ์ x86 ทำให้ Windows RT มีข้อ จำกัด ด้านความเข้ากันได้ของซอฟต์แวร์

Windows RT ถูกยกเลิกแล้ว

ที่มา: วิกิพีเดีย



3

สายwindows NTรองรับสถาปัตยกรรมหลากหลายในช่วงหลายปีที่ผ่านมา

MIPS และAlphaได้รับการสนับสนุนตั้งแต่ 3.1 ถึง 4.0 (Alpha ทำให้จริงเท่าที่ผู้สมัครเปิดตัวสำหรับWindows 2000แต่ไม่ได้ทำให้เป็นรุ่นสุดท้าย) PowerPC มีให้เห็นใน 4.0 เท่านั้น

รองรับ IA64 (Itanium) ใน Windows XP มันยังได้รับการสนับสนุนในสายเซิร์ฟเวอร์จาก Server 2003 ถึง Server 2008 R2

Microsoft ได้ส่งพอร์ต Windows ไปที่ ARM แต่หลังจากนั้นก็ทำให้ระบบที่เกิดขึ้นผิดเพี้ยนไปในรูปแบบต่างๆ ด้วย windows RT (รุ่น ARM ของ Windows 8) ระบบนั้นค่อนข้างสมบูรณ์ แต่แอพเดสก์ท็อปของบุคคลที่สามถูกล็อคไว้ ด้วย ARM ARM ที่หลากหลายของ Windows 10 เดสก์ท็อปดูเหมือนจะหายไปอย่างสมบูรณ์


1

Windows NT (เป็นเคอร์เนลใน Windows RT, WP8, WP8.1 และ Windows 10 สำหรับโทรศัพท์) รองรับ ARM v7-A (32 บิต) และ ARM v8-A (64- บิต) (Windows 10 สำหรับโทรศัพท์ที่อยู่ใน Lumia 950 / 950XL พร้อมสถาปัตยกรรมชิปเซ็ต Qualcomm Snapdragon 810) นอกเหนือไปจาก x86 (รวมถึง x86-64 (Windows AMD64), i386 / i586 / i686 (Windows x86)) นี่คือนอกเหนือไปจากสถาปัตยกรรมที่ได้รับการสนับสนุนในอดีตกล่าวถึงในคำตอบอื่น ๆ เช่นอัลฟา, MIPS, Itanium และ PowerPC

ดังที่ระบุไว้ในคำตอบอื่นแอปพลิเคชัน Win32 บนเดสก์ท็อป Win32 จะไม่สามารถทำงานบน Windows NT บน ARM (เช่นไม่มี x86 ในการจำลอง ARM) หากมีการคอมไพล์สำหรับสถาปัตยกรรม x86 (เนื่องจากเป็นส่วนใหญ่) อย่างไรก็ตามตามที่ระบุไว้โดย @user 2284570 เอ็กซีคิวต์เนทีฟ ARM หรือไลบรารีแบบไดนามิกสามารถทำงานใน Windows NT สำหรับ ARM เฉพาะเมื่อพวกเขา (ไบนารีการกระจาย) มีการเซ็นชื่อแบบดิจิทัลโดย Microsoft ซึ่งสำนักงาน p ขัดขวางการกระจายผู้พัฒนา (ไม่เหมือนกับนโยบายที่มี x86 หรือสถาปัตยกรรมอื่น ๆ ที่สนับสนุนก่อนหน้านี้) Microsoft เลือกที่จะไม่สนับสนุนแอป Win32 ที่กำหนดเป้าหมายแบบ x86 (ซอฟต์แวร์เดสก์ท็อป Windows) ในระดับไบนารีผ่านการจำลองบน Windows สำหรับ ARM เนื่องจากการปรับประสิทธิภาพสำหรับการจำลองจะมีขนาดใหญ่และสมบูรณ์ต่อ ARM ในอุดมคติของประสิทธิภาพในงบประมาณที่ จำกัด )

หมายเหตุ: Windows API ที่ฉันอ้างถึงที่นี่คือ Win32 ดั้งเดิม API ไม่ใช่เวอร์ชันNET WINAPI (ที่มีการจัดการ ) ความเข้ากันได้ของแอปหมายถึงความเข้ากันได้ระดับไบนารีที่นี่ไม่ใช่ความเข้ากันได้ระดับแหล่งที่มาหากไม่ชัดเจน

อย่างไรก็ตามด้วยการถือกำเนิดของแพลตฟอร์ม Windows RT และตอนนี้แพลตฟอร์ม Universal Windows (UWP) การสร้างซอฟต์แวร์ที่ไม่เชื่อเรื่องพระเจ้าสถาปัตยกรรมสำหรับ Windows ได้กลายเป็นความเป็นไปได้ (ซอฟต์แวร์ก่อนหน้านี้จะต้องมีการจำลองหรือคอมไพล์ใหม่ .


MS ปฏิเสธที่จะอนุญาตให้แอปเดสก์ท็อปของบุคคลที่สามใช้งานได้แม้ว่าจะถูกคอมไพล์ใหม่ก็ตาม นี่เป็นข้อ จำกัด ที่บริสุทธิ์อย่างแท้จริง (เห็นได้จากความจริงที่ว่ามีคนพบวิธีที่จะข้ามมัน)
plugwash

@plugwash จริง ๆ แล้วฉันได้กล่าวถึงข้อ จำกัด ของการเรียกใช้แอพพลิเคชั่นบนเดสก์ท็อปที่คอมไพล์ด้วย ARM ในย่อหน้าที่สอง โปรดอ่านมัน
Tamoghna Chowdhury

-1

Windows NT เคยใช้กับชิป MIPS และ Alpha ฉันใช้ NT4 ใน Alpha คุณต้องแฟลชเฟิร์มแวร์ตัวอื่นเพื่อบู๊ต NT แทน VMS

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.