Khác biệt giữa các bản “Universal architechture”

 
== [[Vi lệnh]] UA ==
Mã vi lệnh của UA không cốhai địnhchiều dài thế2 khábytes tốtvà 4 bytes, và có thể trộn lẫn với nhau giúp cho mã lệnh được nén thay vì cố định chỉ 4 bytes. Điều này có thể làm được thông qua [[trình biên dịch]]. Chiều dài tối đa của mã lệnh là 4 bytes , trường hợp đặc biệt là 10 bytes.
Các kiểu mã hoá vi lệnh:
===kiểu 3 toán hạng ===
* umul,udiv,uadd,usub
* not,neg
* shl,shr,ssl,ssr,rotl,rotr rd=%rs op %rt(shift sử dụng 3 bit để xác định kích thước toán hạng)
các vi lệnh có thể sử dụng 3 bit cuối để xác định điều kiện thực thi
 
</pre>
* ADDIB, SUBIB,MULIB,DIVIB :%rd=%rs op imm8
* shl,shr,rotl,rotr
 
=== Kiểu tích hợp hằng ===
Chiều dài 4 bytes
</pre>
Kiểu này dành cho lệnh jmp hoặc call và các lệnh chỉ có một toán hạng. Bit M dùng để xác dịnh thanh ghi hay địa chỉ. Điều này cũng không cần thiết cho lệnh jmp và call.
* CALL, JR (nén)
* RET [%rd] : trở về từ nhảy
* RET
* SYSCALL,SYSRET
* LDT,SDT : tải/lưu segment descriptor table
* LIDT,SIDT : tải/lưu interrupt descriptor table
* LTR,STR : tải/lưu thread register
8 bit vi lệnh chia thành hai nhóm:
* nhóm chính:0->> 11------
* nhóm hệ thống: 11-------> ffffffff (64 opcode )
 
== Bộ tập lệnh ==
229

lần sửa đổi