✨MIPS

MIPS

MIPS viết tắt của Microprocessor without Interlocked Pipeline Stages, là kiến trúc bộ tập lệnh RISC phát triển bởi MIPS Technologies. Ban đầu kiến trúc MIPS là 32bit, và sau đó là phiên bản 64 bit. Nhiều sửa đổi của MIPS, bao gồm MIPS I, MIPS II, MIPS III, MIPS IV, MIPS V, MIPS32 và MIPS64. Phiên bản hiện tại là MIPS32 và MIPS64.
Cũng có một vài tuỳ chọn mở rộng, bao gồm MIPS-3D có bộ tập lệnh SIMD, MIPS16e thêm khả năng nén vi lệnh để làm chương trình nhỏ hơn và MIPS MT thêm xử lý đa luồng.
Chương trình kiến trúc máy tính ở trường đại học thường tìm hiểu về kiến trúc MIPS. Kiến trúc cực kì ảnh hưởng bởi kiến trúc RISC sau này như là Alpha.

Lịch sử

Người tiên phong của RISC

u bởi Jhn L. Hennessy tại đại học Stanford bắt đầu làm việc để trở thành một bộ vi xử lý MIPS đầu tiên. Khái niệm cơ bản để tăng hiệu năng qua việc sử dụng ống vi lệnh sâu. Đường ống là kĩ thuật cơ bản được biết từ trước, nhưng không phát triển toàn diện. CPU được xây dựng từ số đơn vị lẻ như là giải mã vi lệnh, ALU, tải và lưu, và vài thứ khác. Trong truyền thống không có thiết kế tối ưu, một vi lệnh cụ thể trong chương trình phải được thực hiện trước khi tiếp theo mới được kích hoạt; trong kiến trúc ống, vi lệnh có thể xử lý trùng nhau. Ví dụ, tại cùng thời điểm vi lệnh toán có thể được lấy vào bộ vi xử lý chấm động, đơn vị tải/lưu có thể lấy vi lệnh tiếp theo.

Một rào cản quan trọng cho đường ống là vài vi lệnh, như chia, cần nhiều thời gian để hoàn thành và do đó CPU phải chờ trước khi cho vi lệnh kế tiếp vào đường ống. Một giải pháp cho vấn đề này là sử dụng một loạt các liên khoá cho phép giai đoạn được xác định là bận; tạm dừng giữa các đoạn khác. Nhóm Hennessy cho thấy các liên khoá(interlock) là một rào cản chính từ khi học liên lạc tất cả mô-đun trong CPU mà tốn thời gian, và xuất hiện sự giới hạn tốc độ xung. Một khía cạnh khác của thiết kế MIPS là nó vừa một pha nhỏ, bao gồm truy xuất cache, của tất cả vi lệnh trong một chu kì, do đó xoá bỏ sự cần thiết của liên khoá, và cho phép một chu kì thông suốt.
Mặc dù thiết kế loại bỏ một số vi lệnh hữu ích như nhân, chia nhưng nó hiệu năng toàn diện của hệ thống rất cải thiện đáng kể bởi vì chip có thể chạy với xung cao hơn. Khó có thể liên khoá xen vào tốc độ của ống, cũng như thời gian cần thiết để thiết lập khoá.
Khác biệt giữa thiết kế MIPS và đối thủ Berkeley RISC tham gia xử lý hàm con. RISC sử dụng kĩ thuật thanh ghi cửa sổ để cải thiện hiệu năng của tác vụ rất phổ dụng, nhưng giới hạn tối đa mức nhảy. Mỗi lần gọi tiểu hàm cần tập hợp thanh ghi của nó, mà đến lượt cần tài sản của thanh ghi. Hennessy cảm thấy trình biên dịch thông minh thì có thể tìm thấy thanh ghi rảnh mà không cần sắp xếp lại, và chỉ đơn giản tăng số lượng thanh ghi không chỉ làm điều này đơn giản, nhưng là tăng hiệu năng toàn bộ tác vụ.
Cách khác, thiết kế MIPS rất giống với thiết kế RISC điển hình. Để tiết kiệm bit trong vi lệnh, thiết kế RISC giảm số lượng vi lệnh. Thiết kế MIPS sử dụng 6 bits của 32 bit cho vi lệnh cơ bản; còn lại là 26 bit là địa chỉ nhảy hoặc sử dụng trường 5 bit để chỉ định lên đến 3 thanh ghi với giá trị dịch kết hợp với 6 bit vi lệnh; Một định dạng khác sử dụng 3 thanh ghi với một giá trị 16 bit mã trong vi lệnh. còn định dạng khác nữa đó là 6 bit thanh ghi 4bit vi lệnh.
+======+======+=====+====+====+====+

  • 4b + 6bit + 6 + 6 + 6 + 4b +
    +======+======+=====+====+====+====+
    cách mã hoá này tăng số lượng thanh ghi lênh 64 tghi. Còn số lượng chỉ lệnh thì tuỳ thuộc vào cách mã hoá. Thông thường lên tới hơn 100 chỉ lệnh.

Phần cứng đầu tiên

Trong 1984, Hennessy được thuyết phục về tính thương mại của thiết kế, và rời khỏi Stanford để thành lập MIPS Computer System. Họ cho ra thiết kế đầu tiên, R2000, trong 1985, cải thiện kiến trúc là R3000 trong 1988. Những CPU 32 bit thiết lập cơ bản của công ty họ qua những năm 1980, được sử dụng chính trong sơ ri trạm làm việc SGI. Nhưng thiết kế thương mại này khác với nghiên cứu lý thuyết ở Stanford vì thiết kế hầu hết các liên khoá trong phần cứng, cung cấp đầy đủ nhân,chia vi lệnh.
Vào 1991 MIPS ra đời vi xử lý 64 bit đầu tiên, R4000. R4000 là sự tiến bộ về TLB, mỗi mục không chỉ chứa địa chỉ ảo mà còn id không gian địa chỉ ảo. Bộ đệm này loại bỏ vấn đề nguyên nhân chính về hiệu năng của vi hạt nhân (microkernel) mà sẽ chậm trên các kiến trúc đối thủ (Pentium,PowerPC) bởi vì sự cần thiết để tẩy TLB trên sự chuyển đổi thường xuyên. Tuy nhiên MIPS đã gặp hạn chế tài chính để mang ra thị trường. Kiến trúc thật sư quan trọng đối với SGI, vào thời điểm đó một trong những khách hàng của MIPS, SGI mua lại công ty ngay vào 1992 để bảo lãnh kiến trúc không bị mất. Là công ty con của SGI, công ty trở nên được biết là MIPS Technologies.

Sự tổng hợp nhân

Vài năm gần đây hầu hết công nghệ sử dụng trong vài thế hệ MIPS đã cung cấp sở hữu trí tuệ nhân cho thiết kế nhúng. Cả lõi cơ bản 32 bit lẫn 64 bit được cung ứng, được biết như 4k và 5k. Những lõi này được thêm vào vài đơn vị khác như chấm động, SIMD, rất nhiều thiết bị xuất/nhập, etc.

Hợp ngữ MIPS

MIPS có 32 thanh ghi, dữ liệu phải ở trong thanh ghi mới xử lý (thanh ghi - thanh ghi)

  • d,t và s là ký tự ý nói đó là thanh ghi
  • C có nghĩa là hằng (encode trong vi lệnh)
  • gạch ngang (-) có nghĩa không xác định mips có vài chục chỉ lệnh.
👁️ 2 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**MIPS** viết tắt của _Microprocessor without Interlocked Pipeline Stages_, là kiến trúc bộ tập lệnh RISC phát triển bởi MIPS Technologies. Ban đầu kiến trúc MIPS là 32bit, và sau đó là phiên bản 64
**RISC** (viết tắt của **_R**educed **I**nstructions **S**et **C**omputer - Máy tính với tập lệnh đơn giản hóa_) là một phương pháp thiết kế các bộ vi xử lý (VXL) theo hướng đơn giản hóa tập
(viết tắt chính thức là **N64**, cách điệu là **NINTENDO64**) là một máy chơi trò chơi điện tử tại gia do Nintendo phát triển và tiếp thị. Máy là kế thừa của Super Nintendo Entertainment
**Woody** là tên mã của bản phân phối Debian GNU/Linux phiên bản 3.0. Nó được đặt theo tên của nhân vật Woody trong phim hoạt hình _Toy Story_, và hầu hết tên mã của các
**RISC-V** (phát âm là "risk-five") là một kiến trúc tập lệnh (ISA) mã nguồn mở dựa trên kiến trúc tập lệnh _máy tính với tập lệnh đơn giản hóa_ (RISC). Dự án bắt đầu từ
**ESP32** là một series các vi điều khiển trên một vi mạch giá rẻ, năng lượng thấp có hỗ trợ WiFi và dual-mode Bluetooth (tạm dịch: Bluetooth chế độ kép). Dòng ESP32 sử dụng bộ
**Sarge** là tên mã của bản phân phối Debian GNU/Linux phiên bản 3.1. Nó được đặt theo tên của nhân vật Sarge trong phim hoạt hình _Toy Story_, và hầu hết tên mã của các
**Windows CE**, hay **Windows Embedded CE** (tên mã là **Pegasus**) là một hệ điều hành của Microsoft. Đây là một hệ điều hành nguồn mở, được sử dụng cho các hệ thống nhúng. ## Lịch
**CPU Intel** là các loại CPU do hãng Intel thiết kế và sản xuất. ## Lịch sử CPU Intel ### Bộ xử lý 4-bit 4004 là bộ vi xử lý đầu tiên được Intel giới
**Fedora Linux** là một bản phân phối Linux dựa trên RPM Package Manager, được phát triển dựa trên cộng đồng theo Fedora Project và được bảo trợ bởi Red Hat, một công ty con của
**IBM System/360** (S/360) là họ hệ thống máy tính trung tâm lớn được IBM công bố ngày 07 tháng 4 năm 1964. Đây là lần đầu tiên một họ máy tính được thiết kế để
thế=|nhỏ|300x300px|[[Giao diện nhân Linux|Linux API được cấu thành từ System Call Interface của nhân Linux, GNU C Library (của GNU), libdrm, libalsa và libevdev (củafreedesktop.org).]] thế=|nhỏ|300x300px|GNU C Library là một trình bao bọc xung quanh
thumb|right|Một _hệ thống nhúng_ trên thẻ trình cắm có bộ xử lý, bộ nhớ, nguồn điện và giao diện bên ngoài **Hệ thống nhúng** () là một thuật ngữ để chỉ một hệ thống có
nhỏ|Mô hình ngôn ngữ máy được lập nên bởi nhà toán học, nhà thủy văn và lập trình viên Vladimir Mikhailovich Kazakov, nhân viên Máy tính của Viện Energosetproekt năm 1962-1972. **Ngôn ngữ máy** (còn
**Siêu máy tính cỡ nhỏ** (_minisupercomputers_) là một dòng máy tính xuất hiện vào giữa thập kỉ 1980. Khi việc tính toán khoa học dùng bộ xử lý vector trở nên phổ biến hơn, nhu
**LXDE** (viết tắt của **L**ightweight **X**11 **D**esktop **E**nvironment) là một môi trường desktop tự do nguồn mở cho các hệ thống UNIX và tương tự Unix tương thích với POSIX, với yêu cầu tài nguyên
**New Horizons** là phi thuyền thăm dò không gian tự động được cơ quan hàng không vũ trụ NASA phóng lên vũ trụ vào năm 2006. Đây cũng là phi thuyền đầu tiên của nhân
**Bộ trình dịch GNU** ( - thường được viết tắt thành **GCC**) là một tập hợp các trình biên dịch được thiết kế cho nhiều ngôn ngữ lập trình khác nhau. GCC là một thành
**Microsoft Office** (bây giờ là Microsoft 365) là tên của một bộ ứng dụng văn phòng gồm các chương trình, máy chủ, và dịch vụ phát triển bởi Microsoft, được giới thiệu lần đầu bởi
**Windows Mobile** là một nhánh hệ điều hành di động được phát triển bởi Microsoft dành cho điện thoại thông minh và thiết bị kỹ thuật số hỗ trợ cá nhân. Windows Mobile được phát
Trong lập trình máy tính, **Hợp ngữ** (hay **assembly**) thường được viết tắt là **asm** là bất kỳ ngôn ngữ lập trình cấp thấp nào có sự tương ứng rất mạnh giữa các tập lệnh
nhỏ|phải|Chiếc O2 XDA IIi khi truy cập vào Wikipedia **Pocket PC** là một loại thiết bị vi tính thường được dùng vào những năm 90 và đầu thế kỉ 21 như một chiếc máy tính
**Chipset** là một nhóm các mạch tích hợp (các "chip") được thiết kế để làm việc cùng nhau và đi cùng nhau như một sản phẩm đơn. Trong máy tính, từ _chipset_ thường dùng để
thumb|481x481px|Một thiết kế đường ống của kiến trúc MIPS. Đường ống là một khái niệm quan trọng trong kiến trúc máy tính. Trong kỹ thuật máy tính, **kiến trúc máy tính** () là thiết kế
Thuật ngữ **x86** dùng để chỉ tới kiến trúc tập lệnh của dòng vi xử lý 8086 của Intel. 8086 được Intel đưa ra năm 1978. Intel xem dòng phát triển 8086 là IA-32. Kiến
là máy chơi trò chơi điện tử tại gia do Sega phát hành vào ngày 27 tháng 11 năm 1998 tại Nhật Bản, ngày 9 tháng 9 năm 1999 tại Bắc Mỹ và ngày 14
Phù hiệu chính của cơ quan GRAU [[Nga]] **Tổng cục Tên lửa và Pháo binh thuộc Bộ quốc phòng Liên bang Nga** (**GRAU**) ( - **ГРАУ**, _Glavnoye raketno-artilleriyskoye upravleniye MO RF (**GRAU**)_) là một cơ
liên_kết=https://en.wikipedia.org/wiki/File:AMD_Opteron_146_Venus,_2005.jpg|nhỏ|Opteron, CPU đầu tiên giới thiệu x86-64 vào năm 2003 liên_kết=https://en.wikipedia.org/wiki/File:AMD_x86-64_Architecture_Programmers_Manuals.jpg|phải|nhỏ|Bộ năm tập của _x86-64 Architecture Programmer's Guide_, được AMD xuất bản và phân phối vào năm 2002 **x86-64** (còn gọi là **x64**, **x86_64**, **AMD64**
Trong kiến ​​trúc máy tính, **64-bit** là việc sử dụng bộ xử lý có chiều rộng đường dẫn, kích thước số nguyên, và độ rộng địa chỉ bộ nhớ là 64 bit (tám octet). Ngoài
**Windows NT** là hệ điều hành đồ họa sở hữu độc quyền được sản xuất bởi Microsoft, trong đó phiên bản đầu tiên được phát hành vào tháng 7 năm 1993. Đây là một hệ
Các hệ điều hành máy tính cung cấp một tập chức năng cần thiết và được dùng ở hầu hết các chương trình trên máy tính, và các liên kết cần để kiểm soát và
Trong kỹ thuật điện toán **số chỉ thị một giây** hay **số chỉ thị trong 1 giây**, viết tắt là **IPS** (tiếng Anh: _Instructions per second_) là thước đo tốc độ xử lý của máy
**Windows NT 4.0** là một hệ điều hành trong họ hệ điều hành Windows NT của Microsoft. Nó được phát hành để sản xuất vào ngày 31 tháng 7 năm 1996, và là hệ điều
**Pentium M** là một bộ vi xử lý x86 lõi đơn 32 bit di động (với vi kiến trúc Intel P6 đã được sửa đổi) được giới thiệu vào tháng 3 năm 2003 và tạo
nhỏ|300x300px| So sánh cấp cao các API và ABI trong nhân-không gian người dùng và nội bộ nhân nhỏ|300x300px| [[Hạt nhân Linux|Nhân Linux và Thư viện GNU C định nghĩa API Linux. Sau khi biên
nhỏ|Linux API, Linux ABI, API và ABI trong nhân **Nhân Linux** cung cấp một số giao diện cho các ứng dụng ở không gian người dùng sử dụng cho các mục đích khác nhau và
**Wear OS**, tên đầy đủ chính thức là _ 'Wear OS by Google**, trước đây có tên là **Android Wear_', là phiên bản hệ điều hành mở Android của Google thiết kế cho đồng hồ
**Android 4.4 "KitKat"** là một phiên bản của hệ điều hành di động Android được phát triển bởi Google, kéo dài từ phiên bản 4.4 đến 4.4.4. Được tiết lộ vào ngày 3 tháng 9
**Pocket PC 2000**, ban đầu có tên mã là "Rapier", được phát hành vào ngày 19 tháng 4 năm 2000, và được dựa trên Windows CE 3.0. Nó là phiên bản đầu tiên của cái
**Gói ứng dụng Android** hay **Android Package** có phần mở rộng file **apk** là định dạng file được hệ điều hành Android và một số hệ điều hành dựa trên Android khác sử dụng để
**Windows Embedded Compact 7** (trước đây gọi là **Windows Embedded CE 7.0**) là phiên bản thứ bảy của hệ điều hành Windows Embedded CE. Windows Embedded Compact 7 là một hệ điều hành thời gian
**Microsoft Windows** là tên của một họ của các hệ thống phần mềm điều hành máy tính của Microsoft. Microsoft lần đầu tiên giới thiệu một môi trường hoạt động có tên là Windows trong
**Chrome V8**, hay đơn giản là **V8**, là một JavaScript engine mã nguồn mở phát triển bởi The Chromium Project cho trình duyệt web Google Chrome và Chromium. Người sáng lập dự án là Lars
**Windows NT 3.51** là phiên bản phát hành thứ ba trong dòng hệ điều hành Windows NT của Microsoft. Nó được phát hành vào ngày 30 tháng 5 năm 1995, chín tháng sau Windows NT
**NetWare** là một hệ điều hành mạng máy tính đã ngừng hoạt động được Novell, Inc. phát triển. Ban đầu, nó sử dụng đa nhiệm hợp tác để chạy các dịch vụ khác nhau trên
right|thumb|So sánh độ phân giải màn hình 8K [[UHDTV, 4K UHDTV, HDTV và SDTV ]] right|thumb|Sơ đồ của các không gian màu CIE 1931 cho thấy các không gian màu Rec. 2020 (UHDTV) trong tam
**Android Lollipop** là một phiên bản của hệ điều hành di động Android phát triển bởi Google, mở rộng giữa 5.0 và 5.1.1. Ra mắt vào 25 tháng 6 năm 2014, trong suốt hội nghị
là máy chơi trò chơi điện tử tại gia 32 bit thế hệ thứ năm, Sega phát triển và phát hành vào ngày 22 tháng 11 năm 1994 tại Nhật Bản, ngày 11 tháng 5
nhỏ|Một vi xử lý [[Sun Microsystems|Sun UltraSPARC II (1997)]] **SPARC** (**Scalable Processor Architecture**) là một kiến trúc tập lệnh (ISA) RISC ban đầu được phát triển bởi Sun Microsystems và Fujitsu. Thiết kế của nó
Trong lịch sử trò chơi điện tử, **kỷ nguyên thế hệ thứ sáu** (đôi khi được gọi là **kỷ nguyên** **128 bit**; xem "bit và sức mạnh hệ thống" bên dưới) đề cập đến máy