Mill CPU và x86-64: Sự Thất Bại Của Một Kịch Bản Hoàn Hảo Và Thế Giới Phản Thực Tế Nếu Mill Thống Trị
Sự đối lập giữa Mill CPU và x86-64 là minh chứng kinh điển cho quy luật tiến hóa của công nghệ: một thiết kế tối ưu cục bộ trong phòng thí nghiệm hiếm khi đánh bại được một hệ sinh thái có khả năng thích nghi
Lịch sử kiến trúc vi xử lý hiện đại hiếm khi là câu chuyện về việc thiết kế thanh lịch nhất giành chiến thắng. Thay vào đó, đó là cuộc giằng co khốc liệt giữa tính thuần khiết về mặt kỹ thuật với sức ì khổng lồ của hệ sinh thái phần mềm kế thừa, chi phí thương mại hóa bán dẫn và những giới hạn vật lý của trình biên dịch. Bài phân tích này đối chiếu hai thái cực tiêu biểu của kỷ nguyên điện toán 64-bit: kiến trúc Mill CPU — một bản thiết kế "tờ giấy trắng" táo bạo của Ivan Godard và Mill Computing với x86-64 (AMD64 / Intel 64), kiến trúc thực dụng kế thừa di sản từ thập niên 1970 nhưng lại thống trị toàn bộ thế giới máy chủ và máy tính cá nhân.
1: Mill CPU và x86-64 : Hai triết lý đối nghịch trong lịch sử thiết kế vi xử lý
Để hiểu vì sao Mill CPU được giới kiến trúc sư máy tính đánh giá là một cuộc cách mạng trên lý thuyết trong khi x86-64 lại trở thành chuẩn mực công nghiệp, cần đặt hai kiến trúc này cạnh nhau qua cách chúng giải quyết bài toán cốt lõi: làm thế nào để khai thác tính song song mức lệnh (Instruction-Level Parallelism — ILP) mà không chạm trần điện năng.
1. Kiến trúc Mill CPU: Cỗ máy "Băng chuyền" (Belt Machine) lập lịch tĩnh
Khởi nguồn từ tháng 2 năm 2003 dưới tên gọi ban đầu là Out-of-the-Box Computing (sau đổi tên thành Mill Computing, Inc. vào năm 2014), kiến trúc Mill được nhà sáng lập kiêm Giám đốc Công nghệ Ivan Godard thiết kế nhằm khắc phục sự lãng phí năng lượng của các bộ vi xử lý siêu vô hướng thực thi ngoài thứ tự (Out-of-Order superscalar). Theo tài liệu giới thiệu chính thức của Mill Computing, Inc.:
"In February 2003, the original founders saw that key problems with general purpose processor architectures simply were not being addressed adequately by any contemporary CPU, and so rethinking CPU architecture was something that “just needed doing.”"
Thay vì sử dụng tập thanh ghi đa năng (General-Purpose Registers — GPR) kết hợp với cơ chế đổi tên thanh ghi (register renaming) phức tạp như các CPU truyền thống, Mill loại bỏ hoàn toàn thanh ghi đa năng và thay bằng một cấu trúc hàng đợi dịch chuyển theo thời gian gọi là Belt (Băng chuyền). Trên Introduction to the Mill CPU Programming Model, kiến trúc này được định nghĩa nguyên văn như sau:
"The Mill is a belt machine. There are no general-purpose registers. Functional units (FUs) can read operands from any belt position. All results are placed on the front of the belt."
Trong cơ chế này, mọi kết quả tính toán mới đều được đẩy vào đầu băng chuyền, đồng thời đẩy các giá trị cũ nhất rơi ra khỏi cuối băng chuyền. Các toán hạng được định địa chỉ theo vị trí tương đối tính từ đầu băng chuyền (temporal addressing) thay vì tên thanh ghi cố định. Bên cạnh đó, Mill sử dụng kiến trúc VLIW (Very Long Instruction Word) cực rộng với đường ống lộ diện (exposed pipeline) và lập lịch tĩnh (static scheduling) do trình biên dịch đảm nhiệm:
Hiệu năng trên mỗi Watt (Power/Performance): Theo tuyên bố kỹ thuật tại Introduction to the Mill CPU Programming Model:
"The Mill has a 10x single-thread power/performance gain over conventional out-of-order (OoO) superscalar architectures, yet runs the same programs without rewrite."
Độ rộng phát hành lệnh và phân pha (Phasing): Một cấu hình tầm trung như Mill "Gold" được thiết kế để phát hành tới 33 thao tác mỗi chu kỳ xung nhịp, kết hợp cơ chế phân pha (phasing) cho phép nối chuỗi tới 6 thao tác phụ thuộc lẫn nhau trong cùng một chu kỳ lệnh duy nhất (chẳng hạn toàn bộ vòng lặp
strcpy27 thao tác có thể chạy trong 1 chu kỳ).Loại bỏ mạng kết nối thanh ghi tốn điện: Bài phân tích kỹ thuật trên Hackaday — The Mill CPU Architecture đã chỉ ra nút thắt vật lý mà kiến trúc Belt nhắm tới:
"Combine this with the fact that connecting hundreds of these temporary registers to places where they'll eventually be used eats up about half the power budget in a CPU, and you'll see why DSPs are so much more efficient than the x86 sitting in your laptop."
2. Kiến trúc x86-64: Chủ nghĩa thực dụng tiến hóa và gánh nặng tương thích ngược
Trái ngược hoàn toàn với tư duy đập đi xây lại của Mill, x86-64 (ban đầu được AMD công bố năm 1999 dưới tên AMD64 và thương mại hóa trên dòng vi xử lý Opteron vào tháng 4 năm 2003) là một bước tiến hóa mang tính thực dụng cao độ. Khi Intel và Hewlett-Packard (HP) hợp tác phát triển kiến trúc 64-bit hoàn toàn mới mang tên IA-64 (Itanium) không tương thích ngược với tập lệnh x86 32-bit, AMD đã chọn con đường mở rộng trực tiếp tập lệnh x86 hiện hữu. Theo ghi chép lịch sử trên Wikipedia — x86-64:
"As AMD was never invited to be a contributing party for the IA-64 architecture and any kind of licensing seemed unlikely, the AMD64 architecture was positioned by AMD from the beginning as an evolutionary way to add 64-bit computing capabilities to the existing x86 architecture while supporting legacy 32-bit x86 code, as opposed to Intel's approach of creating an entirely new, completely x86-incompatible 64-bit architecture with IA-64."
Để duy trì khả năng chạy nguyên bản hàng tỷ dòng mã phần mềm có sẵn mà không cần giả lập, x86-64 chấp nhận mang theo toàn bộ di sản lịch sử từ thời bộ vi xử lý Intel 8086 (năm 1978). Như tài liệu kỹ thuật trên Wikipedia — x86-64 mô tả:
"Also, processors supporting x86-64 still power on in real mode to maintain backward compatibility with the original 8086 processor, as has been the case with x86 processors since the introduction of protected mode with the 80286."
Về mặt vi kiến trúc, các chip x86-64 hiện đại (như dòng AMD Zen hay Intel Core/Xeon) phải trả một cái giá cực đắt bằng transistor và điện năng để che giấu sự cũ kỹ của tập lệnh CISC:
Bộ giải mã lệnh độ dài biến thiên (Variable-length instruction decoding): Tập lệnh x86 có độ dài từ 1 đến 15 byte với vô số tiền tố kế thừa, buộc phần đầu (front-end) của CPU phải tiêu tốn lượng lớn điện năng và diện tích silicon chỉ để tách và dịch các lệnh CISC thành các vi thao tác (micro-ops) giống RISC.
Đổi tên thanh ghi và thực thi ngoài thứ tự (Register Renaming & OoO Execution): Dù tập lệnh x86-64 chỉ lộ ra 16 thanh ghi đa năng (tăng từ 8 thanh ghi trên x86-32), bên trong lõi vi xử lý thực tế (chẳng hạn lõi AMD Zen) phải duy trì hàng trăm thanh ghi vật lý nội bộ (168 thanh ghi số nguyên và 160 thanh ghi vector) cùng các bộ đệm sắp xếp lại (Reorder Buffer — ROB) và bộ lập lịch động (dynamic scheduler) khổng lồ để tìm kiếm tính song song lúc chạy (runtime).
2: Sự thất bại của một kịch bản quá hoàn hảo — Vì sao kiến trúc "lý tưởng trên giấy" lại gục ngã?
Nếu Mill CPU giải quyết triệt để bài toán hiệu năng trên mỗi Watt, loại bỏ bộ lập lịch ngoài thứ tự tốn điện và sở hữu cơ chế bảo mật phần cứng vượt trội, tại sao sau hơn hai thập kỷ kể từ năm 2003, Mill vẫn chưa thể thương mại hóa thành một con chip phổ thông, trong khi x86-64 (và sau này là ARM64 cùng RISC-V) lại chiếm lĩnh thị trường? Câu trả lời nằm ở sự hội tụ của bốn rào cản lịch sử và kinh tế mang tính quy luật.
1. Bài học lịch sử nhãn tiền từ "Thảm họa Itanic" (Intel IA-64 / EPIC)
Trước Mill CPU một thập kỷ, ngành công nghiệp bán dẫn từng chứng kiến một kịch bản "quá hoàn hảo trên lý thuyết" khác được hậu thuẫn bởi nguồn lực tài chính khổng lồ của Intel và HP: kiến trúc IA-64 (Itanium) dựa trên mô hình EPIC (Explicitly Parallel Instruction Computing) — một biến thể của VLIW. Giống như Mill, IA-64 đặt niềm tin tuyệt đối vào việc chuyển gánh nặng phân tích phụ thuộc dữ liệu và lập lịch lệnh song song từ phần cứng sang trình biên dịch tĩnh.
Tuy nhiên, thực tế triển khai đã bộc lộ những giới hạn chí mạng của lập lịch tĩnh trước các tác vụ đa nhiệm thực tế. Theo ghi chép lịch sử trên Wikipedia — IA-64:
"Since Itanium was the first ever EPIC processor, the development effort encountered more unanticipated problems than the team was accustomed to. In addition, the EPIC concept depended on compiler capabilities that had never been implemented before, so more research was needed."
Nghiêm trọng hơn, các hệ thống máy tính đa nhiệm thực tế có hành vi bộ nhớ đệm (cache) động và ngắt phần cứng (interrupts) không thể dự đoán trước tại thời điểm biên dịch. Tài liệu trên Wikipedia — IA-64 chỉ rõ nguyên nhân kỹ thuật khiến EPIC thất bại trước các bộ xử lý thực thi ngoài thứ tự như x86-64:
"Additional instructions for speculative loads and hints for branches and cache are impractical to generate optimally, because a compiler cannot predict the contents of the different cache levels on a system running multiple processes and taking interrupts."
Hệ quả lịch sử là ngay khi Intel công bố tên thương mại Itanium vào ngày 4 tháng 10 năm 1999, giới kỹ sư đã lập tức đặt biệt danh châm biếm cho nó. Theo Wikipedia — Itanium:
"Intel announced the official name of the processor, Itanium, on October 4, 1999. Within hours, the name Itanic had been coined on a Usenet newsgroup, a reference to the RMS Titanic, the "unsinkable" ocean liner that sank on her maiden voyage in 1912."
Chỉ đúng một ngày sau đó (5/10/1999), AMD công bố kế hoạch mở rộng x86-64 tương thích ngược hoàn toàn. Khi AMD Opteron ra mắt năm 2003, khách hàng doanh nghiệp nhận ra họ có thể chạy phần mềm 32-bit cũ với tốc độ nguyên bản và nâng cấp dần lên 64-bit mà không phải viết lại hay biên dịch lại toàn bộ hệ thống. Đến năm 2019, Intel buộc phải tuyên bố khai tử dòng Itanium cuối cùng (Kittson, ngừng giao hàng tháng 7/2021), khép lại bài học đắt giá về việc đánh đổi tính thực dụng của hệ sinh thái lấy sự hoàn mỹ của kiến trúc.
2. Sự phụ thuộc tuyệt đối vào trình biên dịch và bài toán "con gà — quả trứng" của phần mềm
Mill Computing ý thức rất rõ vết xe đổ của Itanium nên đã thiết kế cơ chế tải trước không gây lỗi (NaR — Not a Result) và trạm thu hồi (retire stations) để khắc phục điểm yếu của VLIW truyền thống khi gặp trượt bộ nhớ đệm (cache miss). Chính tài liệu Memory · Mill Computing, Inc. đã thừa nhận trực diện điểm yếu kinh điển của lập lịch tĩnh VLIW:
"It is well known that exposed-pipe static scheduling yields near-perfect code with minimal power – except when there is a miss in the cache. In a conventional VLIW, a miss stalls the whole machine, whereas an out-of-order architecture can sometimes find other useful operations to execute while waiting on the memory hierarchy."
Tuy nhiên, để khai thác được 33 đơn vị thực thi song song trên một lõi Mill "Gold", toàn bộ gánh nặng vẫn đè nặng lên một trình biên dịch cực kỳ phức tạp. Tạp chí kỹ thuật Electronics360 — Startup Seeks Funds to Realize 'Belt' Processor đã nhận định thẳng thắn về ranh giới giữa lý thuyết và thực tế này:
"The company reckons the Gold dual-core can process a theoretical 79.3-Gips (giga instructions per second) running at 1.2-GHz while consuming 28 watts. Such theoretical performance is only achievable by keeping all functional units busy and not running no-ops and this will depend on the compiler."
Hơn nữa, vì mỗi thành viên trong họ vi xử lý Mill (từ dòng nhúng nhỏ đến dòng máy chủ lớn) có độ dài Belt và số lượng đơn vị thực thi khác nhau, phần mềm không thể phân phối dưới dạng mã máy nhị phân truyền thống mà phải phân phối qua biểu diễn trung gian (Intermediate Representation — IR) và biên dịch chuyên biệt hóa ngay trên máy người dùng. Theo Introduction to the Mill CPU Programming Model:
"Code is compiled to an intermediate representation for distribution, and specialisation for a particular Mill processor model is done by a specialising compiler at software installation time or on-demand as needed."
Cách tiếp cận này đòi hỏi phải xây dựng lại toàn bộ chuỗi công cụ từ đầu: trình biên dịch backend LLVM tùy biến, trình liên kết, BIOS, nhân hệ điều hành (microkernel/Linux port), thư viện chuẩn libc/libc++ và công cụ gỡ lỗi. Một startup quy mô nhỏ không thể tự mình gánh vác khối lượng kỹ thuật phần mềm tương đương hàng chục nghìn năm công (man-years) mà cộng đồng x86 và ARM đã tích lũy suốt nhiều thập kỷ.
3. Nút thắt vốn hóa, mô hình "Sweat Equity" và chi phí sản xuất bán dẫn (Tape-out)
Khác với các tập đoàn bán dẫn tỷ đô, Mill Computing vận hành suốt hơn một thập kỷ đầu tiên (2003–2014) theo mô hình tự nguyện không lương (sweat equity) với đội ngũ phân tán toàn cầu trước khi chính thức thành lập công ty cổ phần vào tháng 3 năm 2014 để huy động vốn thiên thần và nộp bằng sáng chế. Trên trang chủ Mill Computing, Inc., công ty mô tả giai đoạn lịch sử này như sau:
"In March 2014 after a decade of work Out-of-the-Box Computing was incorporated as Mill Computing, Inc. in order to raise funding to begin filing patent applications and move on to the next phase."
Và về cơ chế nhân sự vận hành của dự án, Mill Computing, Inc. ghi rõ:
"In the beginning we were a sweat equity organization; no one received a salary; instead, contributors received units that converted to stock when we incorporated."
Trong ngành bán dẫn hiện đại, việc chuyển từ mô phỏng phần mềm (cycle-accurate simulation) sang bản mẫu FPGA, rồi tiến tới đúc chip ASIC thương mại (tape-out) trên các tiến trình tiên tiến đòi hỏi hàng chục đến hàng trăm triệu USD, chưa kể chi phí bảo vệ bằng sáng chế và hỗ trợ khách hàng doanh nghiệp. Suốt nhiều năm, dự án rơi vào vòng lặp hoàn thiện kiến trúc trên mô phỏng trong khi thiếu nguồn lực tài chính đột phá để đưa silicon thực tế ra thị trường đúng thời điểm vàng.
4. Sự trỗi dậy của RISC-V: Chiến thắng của chuẩn mở giản dị thay vì kiến trúc độc quyền phức tạp
Khi thị trường thực sự tìm kiếm một giải pháp thay thế cho thế độc quyền của x86-64 và phí bản quyền của ARM từ thập niên 2010 trở đi, ngành công nghiệp đã không chọn một kiến trúc VLIW/Belt độc quyền đầy rẫy bằng sáng chế như Mill, mà chọn RISC-V — một tập lệnh mở, miễn phí bản quyền dựa trên các nguyên lý RISC kinh điển đã được kiểm chứng từ thập niên 1980. Theo phân tích lịch sử trên Wikipedia — RISC-V:
"The designers maintain that new principles are becoming rare in instruction set design, as the most successful designs of the last forty years have grown increasingly similar. Of those that failed, most did so because their sponsoring companies were financially unsuccessful, not because the instruction sets were technically poor."
Nhận định này của nhóm tác giả RISC-V tại Đại học California, Berkeley chính là lời tổng kết xác đáng nhất cho số phận của Mill CPU: Mill không thất bại vì ý tưởng kiến trúc kém cỏi, mà vì sự xuất sắc về mặt kỹ thuật của nó đi kèm với tính đóng (độc quyền sáng chế), sự phức tạp cực độ của trình biên dịch và sự thiếu hụt bệ phóng tài chính trong một thị trường ưu tiên tính mở và tốc độ triển khai.
3: Nếu thế giới được dựng trên Mill CPU — Phản thực tế về một kỷ nguyên điện toán khác
Hãy đặt ra một giả thuyết lịch sử (counterfactual): nếu vào giai đoạn 2003–2010, Mill Computing nhận được nguồn vốn đầu tư tương đương Intel/AMD, hoàn thiện thành công trình biên dịch LLVM và đúc thành công các thế hệ chip Mill thương mại để trở thành kiến trúc chuẩn mực thay thế x86-64 trên máy chủ, máy tính cá nhân và thiết bị biên, thế giới công nghệ ngày nay sẽ vận hành khác đi như thế nào?
Dựa trên các đặc tả kỹ thuật đã công bố của Mill Computing, bức tranh công nghệ của thế giới đó sẽ có năm thay đổi mang tính nền tảng:
1. Kỷ nguyên bảo mật phần cứng: Lỗ hổng Spectre, Meltdown và tràn bộ đệm sẽ không tồn tại
Trong thế giới thực do x86-64 và ARM thực thi ngoài thứ tự thống trị, năm 2018 đã chứng kiến cuộc khủng hoảng bảo mật lớn nhất lịch sử phần cứng hiện đại với bộ đôi lỗ hổng Spectre và Meltdown, bắt nguồn trực tiếp từ cơ chế thực thi suy đoán (speculative execution) và bộ nhớ đệm (cache side-channel). Theo mô tả kỹ thuật trên Wikipedia — Spectre (security vulnerability):
"Spectre Variant 1, also called Bounds Check Bypass, is an exploit of CPU speculative execution in conditional branches related to memory access bounds."
Để vá các lỗ hổng này trên x86-64, toàn bộ ngành điện toán đám mây đã phải hy sinh từ 5% đến hơn 25% hiệu năng hệ thống thông qua các bản vá vi mã và cách ly bảng trang nhân (KPTI). Ngược lại, trong một thế giới chạy trên Mill CPU, lớp lỗ hổng này gần như bị triệt tiêu từ gốc nhờ thiết kế không suy đoán phần cứng lưu trạng thái ẩn vào cache. Chính kiến trúc sư trưởng Ivan Godard đã khẳng định trên Mill Computing Forum — Ivan Godard (staff):
"The Mill architecture was designed from the beginning to provide OOO performance on an IO power budget. It does no hardware speculation and so, serendipitously, is immune to Meltdown and Spectre."
Bên cạnh đó, các cuộc tấn công chiếm quyền điều khiển luồng thực thi phổ biến suốt 40 năm qua trên x86 như tràn bộ đệm ngăn xếp (stack buffer overflow) và lập trình hướng trả về (Return-Oriented Programming — ROP) cũng trở nên bất khả thi về mặt vật lý. Tài liệu Security · Mill Computing, Inc. giải thích cơ chế phòng vệ ba lớp tích hợp thẳng vào phần cứng của Mill:
"The Mill CPU architecture addresses software robustness in three basic ways: it makes impossible many errors and exploits; it detects and reports many errors and exploits that cannot be prevented; and it survives and recovers from many detected errors and exploits."
Cụ thể, Mill tách biệt hoàn toàn ngăn xếp dữ liệu (stack) khỏi ngăn xếp trạng thái điều khiển (call stack) vốn không thể bị ghi đè bởi con trỏ dữ liệu, đồng thời sử dụng bộ đệm bảo vệ PLB (Protection Lookaside Buffer) kiểm tra quyền truy cập bộ nhớ đến từng byte song song với lệnh nạp mà không gây tổn hao xung nhịp. Ngành an ninh mạng trong thế giới Mill sẽ không còn phải chi hàng chục tỷ USD mỗi năm để vá các lỗ hổng cấp phát bộ nhớ cấp thấp như trên C/C++ chạy trên x86-64.
2. Kiến trúc hệ điều hành và đám mây: Sự sụp đổ của chi phí chuyển ngữ cảnh (Context Switch)
Trên kiến trúc x86-64, việc chuyển đổi ngữ cảnh giữa tiến trình người dùng (user space) và nhân hệ điều hành (kernel space) thông qua SYSCALL hay giữa các máy ảo/container đòi hỏi lưu hàng chục thanh ghi, làm mới TLB và chịu phạt hiệu năng nặng nề — điều buộc các hệ thống hiệu năng cao phải tìm cách "vượt qua nhân" (kernel bypass như DPDK).
Trong thế giới dựng trên Mill CPU, khái niệm ranh giới cứng nhắc giữa nhân và ứng dụng được thay thế bằng mô hình Không gian địa chỉ đơn (Single Address Space — SAS) 64-bit kết hợp với cơ chế Portal Calls (Lệnh gọi cổng). Theo Introduction to the Mill CPU Programming Model, một lệnh gọi hàm hoặc chuyển miền bảo vệ (protection domain) trên Mill chỉ mất 1 chu kỳ xung nhịp, với băng chuyền (belt) và vùng nhớ nháp (scratchpad) riêng biệt được phần cứng cô lập tự động. Các hệ điều hành vi nhân (microkernel như seL4 hay L4) — vốn bị lép vế trước nhân nguyên khối (monolithic kernel) như Linux/Windows trên x86-64 do chi phí giao tiếp liên tiến trình (IPC) quá cao — sẽ trở thành kiến trúc hệ điều hành thống trị nhờ IPC gần như bằng không chi phí (zero-overhead IPC).
3. Trung tâm dữ liệu xanh hơn và sự thu hẹp khoảng cách giữa CPU và bộ tăng tốc AI/DSP
Trong thế giới x86-64, sự chênh lệch về hiệu quả năng lượng giữa CPU đa năng và các bộ xử lý tín hiệu số (DSP) hoặc bộ tăng tốc chuyên dụng đã buộc các trung tâm dữ liệu phải xây dựng kiến trúc dị thể phức tạp (CPU điều phối + GPU/TPU tính toán). Nếu Mill CPU thống trị với mức cải thiện hiệu năng/Watt đơn luồng gấp nhiều lần nhờ loại bỏ bộ đổi tên thanh ghi, cửa sổ giải mã khổng lồ và bộ dự đoán nhánh phức tạp (thay bằng dự đoán chuyển tiếp — transfer prediction có mức phạt dự đoán sai chỉ 4 chu kỳ theo Prediction · Mill Computing, Inc.), thì:
Các máy chủ đám mây sẽ đạt mật độ tính toán cao hơn đáng kể trên cùng một hạ tầng cấp điện và làm mát.
Nhờ mọi phép toán trên Mill đều mặc định hỗ trợ vector (SIMD) và có khả năng vector hóa cả các vòng lặp
whilechứa rẽ nhánh phức tạp thông qua toán tửpickvàsmear, một lượng lớn tác vụ xử lý tín hiệu, nén dữ liệu và suy luận học máy quy mô vừa có thể chạy trực tiếp trên CPU chính với hiệu suất tương đương DSP thay vì phải đẩy sang phần cứng rời.
4. Chuỗi cung ứng phần mềm: Từ nhị phân đóng sang biểu diễn trung gian (IR) biên dịch tại chỗ
Thế giới phần mềm x86-64 xoay quanh định dạng nhị phân cố định (ELF, PE/EXE) gắn chặt với các cấp độ tập lệnh (x86-64-v1 đến v4). Nếu Mill trở thành chuẩn mực, khái niệm "tệp thực thi nhị phân dùng chung cho mọi chip" sẽ biến mất. Mọi kho lưu trữ phần mềm, hệ điều hành và nền tảng phân phối ứng dụng sẽ phân phối mã dưới dạng Biểu diễn trung gian (IR) độc lập với phần cứng (tương tự như mã bytecode của LLVM/WebAssembly ở mức hệ thống). Khi người dùng cài đặt ứng dụng hoặc khi hệ điều hành nạp dịch vụ, trình biên dịch chuyên biệt hóa (specialising compiler) tích hợp sẵn sẽ dịch IR thành các gói lệnh VLIW tối ưu tuyệt đối cho độ dài Belt và số lượng đường ống thực thi của đúng con chip Mill đang gắn trên bo mạch chủ.
5. Những đánh đổi mới của thế giới Mill: Cơn ác mộng của trình biên dịch và sự biến mất của mã hợp ngữ viết tay
Tuy nhiên, một thế giới dựng trên Mill CPU cũng không phải là thiên đường không tì vết, mà sẽ đối mặt với những thách thức kỹ thuật hoàn toàn khác biệt:
Trình biên dịch trở thành điểm nghẽn sinh tử: Toàn bộ hiệu năng của phần cứng phụ thuộc vào khả năng lập lịch tĩnh của trình biên dịch. Việc tối ưu hóa trình biên dịch sẽ trở thành ngành khoa học máy tính trọng yếu nhất, nơi một lỗi nhỏ trong bộ lập lịch pha (phasing scheduler) có thể làm lãng phí hàng chục đơn vị thực thi trên mỗi chu kỳ.
Lập trình hợp ngữ (Assembly) thủ công gần như tuyệt chủng: Tương tự như nhận định của Wikipedia — IA-64 rằng tập lệnh EPIC được thiết kế cho máy móc viết chứ không phải con người, việc lập trình viên viết tay mã hợp ngữ cho kiến trúc Belt 33 luồng thực thi song song với độ trễ đường ống lộ diện là điều gần như bất khả thi.
Khó khăn trong việc giữ bí mật mã nguồn đóng (Closed-source IP): Vì phần mềm bắt buộc phải phân phối ở dạng biểu diễn trung gian cấp cao (IR) giàu ngữ nghĩa để trình biên dịch tại máy đích có thể tái lập lịch tối ưu cho từng đời chip Mill, việc dịch ngược (reverse engineering) phần mềm thương mại sẽ dễ dàng hơn nhiều so với mã máy x86-64 đã bị làm rối.
Kết luận
Sự đối lập giữa Mill CPU và x86-64 là minh chứng kinh điển cho quy luật tiến hóa của công nghệ: một thiết kế tối ưu cục bộ trong phòng thí nghiệm hiếm khi đánh bại được một hệ sinh thái có khả năng thích nghi và tương thích ngược toàn cục. Kiến trúc x86-64 chiến thắng không phải vì nó thanh lịch, tiết kiệm điện hay an toàn hơn Mill CPU, mà vì nó cho phép cả thế giới bước vào kỷ nguyên 64-bit mà không phải vứt bỏ quá khứ. Ngược lại, Mill CPU — dù sở hữu những ý tưởng vượt thời đại về băng chuyền toán hạng, thực thi phi suy đoán miễn nhiễm Spectre/Meltdown và bảo mật không gian địa chỉ đơn — vẫn là tượng đài cho thấy khoảng cách khắc nghiệt giữa một bản thiết kế hoàn hảo trên giấy với sức mạnh thương mại hóa của cả một nền công nghiệp bán dẫn.
Tài liệu tham khảo và nguồn xác thực
Mill Computing, Inc. (Trang chủ & Hồ sơ doanh nghiệp): Mill Computing, Inc. — Nguồn chính thức của công ty phát triển kiến trúc Mill CPU, xác thực lịch sử thành lập từ Out-of-the-Box Computing (2003–2004), quá trình cổ phần hóa năm 2014, mô hình vận hành sweat equity và danh mục bằng sáng chế.
Mill Computing, Inc. (Đặc tả mô hình lập trình): Introduction to the Mill CPU Programming Model — Tài liệu kỹ thuật chính thức trình bày chi tiết cấu trúc Belt, đường ống lộ diện (exposed pipeline), cơ chế phân pha (phasing), giá trị NaR/None, không gian địa chỉ đơn (SAS) và mô hình biên dịch chuyên biệt hóa từ IR.
Mill Computing, Inc. (Tài liệu hệ thống bộ nhớ): Memory · Mill Computing, Inc. — Tài liệu kỹ thuật phân tích cách Mill xử lý độ trễ nạp bộ nhớ và khắc phục điểm yếu dừng toàn máy (machine stall) của kiến trúc VLIW truyền thống.
Mill Computing, Inc. (Tài liệu dự đoán rẽ nhánh): Prediction · Mill Computing, Inc. — Tài liệu mô tả cơ chế dự đoán chuyển tiếp (transfer prediction) với mức phạt dự đoán sai 4 chu kỳ của kiến trúc Mill.
Mill Computing, Inc. (Tài liệu bảo mật phần cứng): Security · Mill Computing, Inc. — Tài liệu kỹ thuật về mô hình bảo vệ ba lớp, ngăn xếp trạng thái tách biệt chống tấn công ROP và bộ đệm bảo vệ PLB.
Ivan Godard — CTO Mill Computing, Inc. (Tuyên bố kỹ thuật về Spectre & Meltdown): Mill Computing Forum — Ivan Godard (staff) — Nguồn xác thực trực tiếp từ kiến trúc sư trưởng Ivan Godard phân tích lý do kiến trúc Mill không thực thi suy đoán phần cứng nên miễn nhiễm tự nhiên với lỗ hổng Meltdown và Spectre.
Hackaday (Phân tích kiến trúc độc lập): The Mill CPU Architecture | Hackaday — Bài phân tích kỹ thuật bởi Brian Benchoff (xuất bản ngày 02/08/2013) đối chiếu mức tiêu thụ điện năng của mạng thanh ghi đổi tên trên x86 với cơ chế Belt của Mill.
Electronics360 / GlobalSpec (Báo cáo thương mại hóa bán dẫn): Startup Seeks Funds to Realize 'Belt' Processor | Electronics360 — Báo cáo công nghiệp (xuất bản ngày 16/12/2013) ghi nhận thông số lý thuyết của cấu hình Mill Gold (79,3 GIPS ở 1,2 GHz, 28 W), sự phụ thuộc vào trình biên dịch và thách thức gọi vốn EDA/bằng sáng chế.
Wikipedia (Lịch sử và đặc tả x86-64): x86-64 - Wikipedia — Nguồn tổng hợp học thuật được kiểm chứng về lịch sử AMD64 (1999–2003), tính tương thích ngược với Intel 8086, các chế độ hoạt động Long Mode/Legacy Mode và sự áp đảo trước IA-64.
Wikipedia (Lịch sử kiến trúc IA-64 / EPIC): IA-64 - Wikipedia — Nguồn tư liệu lịch sử và kỹ thuật về liên minh Intel–HP, mô hình lập lịch tĩnh EPIC, các giới hạn của trình biên dịch trước trạng thái cache động và mốc khai tử năm 2019–2021.
Wikipedia (Lịch sử thương mại Intel Itanium): Itanium - Wikipedia — Nguồn xác thực sự kiện công bố thương hiệu Itanium ngày 04/10/1999, biệt danh "Itanic" và quá trình thất bại thương mại trước x86-64.
Wikipedia (Phân tích lỗ hổng thực thi suy đoán Spectre): Spectre (security vulnerability) - Wikipedia — Nguồn kỹ thuật xác thực cơ chế khai thác thực thi suy đoán trên các bộ vi xử lý hiện đại và chi phí hiệu năng của các bản vá giảm thiểu.
Wikipedia (Lịch sử kiến trúc mở RISC-V): RISC-V - Wikipedia — Nguồn tư liệu về sự ra đời của chuẩn mở RISC-V năm 2010 tại UC Berkeley và góc nhìn lịch sử về nguyên nhân thất bại tài chính/hệ sinh thái của các tập lệnh độc quyền.
Đang tải bình luận…