Báo cáo Kiến trúc máy tính với các tập lệnh sử lý - pdf 16

Download miễn phí Báo cáo Kiến trúc máy tính với các tập lệnh sử lý



Nhóm lệnh SSE thay mặt một phần mở rộng của mô hình thực thi SIMD với công nghệ MMX. Nhóm lệnh chỉ có thể được thực hiện trên IA-32 bộ vi xử lý có hỗ trợ phần mở rộng SSE. Nhóm lệnh SSE được chia thành bốn nhóm phụ (lưu ý rằng các nhóm con đầu tiên có cấp dưới nhóm con của riêng của mình):
- Nhóm lệnh xử lý toán hạng dấu phảy động với độ chính xác đơn trên thanh ghi XMM.
- Nhóm lệnh quản lý MXSCR
- Nhóm lệnh toán hạng số nguyên 64-bit trên thanh ghi MMX
- Nhóm lệnh điều khiển Cacheability, prefetch, and điều khiển thứ tự lệnh :Các nhóm lệnh cacheability kiểm soát cung cấp kiểm soát bộ nhớ đệm của dữ liệu tạm thời
khi lưu trữ dữ liệu từ MMX và thanh ghi XMM vào bộ nhớ. PREFETCHh cho phép dữ liệu được kiểm soát trước đến một cấp độ bộ nhớ cache được lựa chọn. Nhóm lệnh điều khiển SFENCE điều khiển sự lưu lại.
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

g trình viết cho các thế hệ trước.Nhưng ngược lại thì không hoàn toàn đúng.Ta có thể chia lệnh ra làm các nhóm cơ bản như :
1.Các lệnh di chuyển dữ liệu . (Data Transfer Instructions) .
Đó là các lệnh thực hiện vận chuyển dữ liệu :
+ Thanh ghi – đến - thanh ghi (register - to - register)
+ Bộ nhớ - đến – thanh ghi (memory – to - register)
+ Thanh ghi - đến - bộ nhớ
+ Bộ nhớ - đến – bộ nhớ
+ Trực tiếp – đến – thanh ghi
+ Trực tiếp – đến – bộ nhớ
Trong một sô loại vi xử lý , dữ liệu được vận chuyển hay xử lý có thể có kích thước khác nhau: byte (B), nửa từ H (16-bit), từ W (32 bit) và từ kép D(64-bit).Tương ứng với chúng là các lệnh vận chuyển theo byte, theo nửa từ, theo từ và theo từ kép. Những vi xử lý 8 bit chỉ xử lý byte dữ liệu, vì thế chúng không có phân biệt các lệnh như trên. Còn vi xử lý 16-bit chỉ xử lý dữ liệu 16-bit (2byte), nên chúng có phân biệt lệnh vận chuyển theo byte và từ (nhưng không có nửa từ hay từ kép)
MOV Chuyển dữ liệu giữa thanh ghi với thanh ghi,bộ nhớ với bộ nhớ,bộ nhớ với thanh ghi,trực tiếp tới bộ nhớ và trực tiếp tới thanh ghi.
CMOVE/CMOVZ Có thể chuyển nếu bằng/Có điều kiện chuyển nếu không.
CMOVNE/CMOVNZ Có thể chuyển nếu không bằng nhau / có thể chuyển nếu không phải là số không.
CMOVA/CMOVNBE Hiển thị chữ viết theo ngữ hệ La-tinh Hiển thị chữ viết theo ngữ hệ La-tinh có thể chuyển nếu trên / có thể chuyển nếu không phải bên dưới hay bằng
CMOVAE/CMOVNB Có thể chuyển nếu ở trên hay bằng / có thể chuyển nếu không dưới .
CMOVB/CMOVNAE Hiển thị chữ viết theo ngữ hệ La-tinhCó điều kiện di chuyển nếu dưới /có thể chuyển nếu không ở trên hay bằng
CMOVBE/CMOVNA Hiển thị chữ viết theo ngữ hệ La-tinhCó thể chuyển bên dưới hay bằng / có thể chuyển nếu không phải ở trên
CMOVG/CMOVNLE Hiển thị chữ viết theo ngữ hệ La-tinhCó thể chuyển, nếu lớn hơn / có thể chuyển nếu không phải nhỏ hơn hay bằng
CMOVGE/CMOVNL Hiển thị chữ viết theo ngữ hệ La-tinhCó thể chuyển, nếu lớn hơn hay bằng / có thể chuyển nếu không nhỏ
CMOVL/CMOVNGE Hiển thị chữ viết theo ngữ hệ La-tinh Có thể chuyển nếu ít hơn / có thể chuyển nếu không lớn hơn hay bằng
CMOVLE/CMOVNG Hiển thị chữ viết theo ngữ hệ La-tinh Có thể chuyển nếu ít hơn hay bằng / có điều kiện di chuyển nếu không lớn hơn
CMOVC Có thể chuyển nếu có nhớ
CMOVNC Có thể chuyển nếu không nhớ.
CMOVO Có thể chuyển nếu tràn
CMOVNO Có thể chuyển nếu không tràn
CMOVS Conditional move if sign (negative)
CMOVNS Conditional move if not sign (non-negative)
CMOVP/CMOVPE Conditional move if parity/Conditional move if parity even
CMOVNP/CMOVPO Conditional move if not parity/Conditional move if parity odd
XCHG Trao đổi
BSWAP Trao đổi byte
XADD Trao đổi và cộng
CMPXCHG So sánh và trao đổi
CMPXCHG8B So sánh và trao đổi 8 bytes
PUSH Cất dữ liệu vào ngăn xếp
POP Lấy dữ liệu từ ngăn xếp
PUSHA/PUSHAD Đẩy nội dung của tất cả thanh ghi đa năng vào ngăn xếp
POPA/POPAD Đọc từ ngăn xếp các dữ liệu về tất cả các thanh ghi đa năng
CWD/CDQ Chuyển từ thành từ kép/Chuyển từ kép thành nửa từ.
CBW/CWDE Chuyển byte thành từ/Chuyển từ thành từ kép trong thanh ghi EAX
MOVSX Move and sign extend
MOVZX Move and zero extend
2. Các lệnh số học và logic
Các lệnh số học và lô-gíc thực hiện các thao tác số học và lô-gíc trên các thanh ghi và ô nhớ.
ADD Cộng số nguyên
ADC Cộng có nhớ
SUB Trừ
SBB Trừ có nhớ
IMUL Signed multiply
MUL Unsigned multiply
IDIV Signed divide
DIV Unsigned divide
INC Increment
DEC Decrement
NEG Negate
CMP So sánh
DAA Decimal adjust after addition
DAS Decimal adjust after subtraction
AAA ASCII adjust after addition
AAS ASCII adjust after subtraction
AAM ASCII adjust after multiplication
AAD ASCII adjust before division
AND Thực hiện logic “và” bit mở rộng
OR Perform bitwise logical OR
XOR Perform bitwise logical exclusive OR
NOT Perform bitwise logical NOT
3.Nhóm lệnh dịch và quay vòng (Shift and Rotate Instructions)
Đó là các lệnh dịch nội dung của thanh ghi trong vi xử lý về bên phải , bên trái, dịch quay vòng. Có các lệnh dịch logic và dịch số học.
SAR Dịch phải số học
SHR Dịch phải logic
SAL/SHL Dịch trái số học/trái logic
SHRD Shift right double
SHLD Shift left double
ROR Dịch phải quay vòng
ROL Dịch trái quay vòng
RCR Rotate through carry right
RCL Rotate through carry left
4.Nhóm lệnh xử lý byte và bit (Bit and Byte Instructions)
Nhóm lệnh bit kiểm tra và sửa đổi các bit trong toán hạng từ và từ kép. Nhóm lệnh byte thiết lập giá trị của một toán hạng byte để chỉ trạng thái của cờ trong thanh ghi EFLAGS.Nhóm này gồm các lệnh : kiểm tra bit ( bằng 0 hay 1 ), tác động tới giá trị cờ như : xóa bít, thiết lập bít, trích bit và chuyển đến đích khác, trích bít và mở rộng dấu.
BT Kiểm tra bit
BTS Kiểm tra bit và đặt giá trị
BTR Kiểm tra bit và đặt lại giá trị
BTC Kiểm tra bit và bổ xung giá trị
BSF Bit scan forward
BSR Bit scan reverse
SETE/SETZ Set byte if equal/Set byte if zero
SETNE/SETNZ Set byte if not equal/Set byte if not zero
SETA/SETNBE Set byte if above/Set byte if not below or equal
SETAE/SETNB/SETNC Set byte if above or equal/Set byte if not below/Set byte
if not carry
SETB/SETNAE/SETC Set byte if below/Set byte if not above or equal/Set byte
if carry
SETBE/SETNA Set byte if below or equal/Set byte if not above
SETG/SETNLE Set byte if greater/Set byte if not less or equal
SETGE/SETNL Set byte if greater or equal/Set byte if not less
SETL/SETNGE Set byte if less/Set byte if not greater or equal
SETLE/SETNG Set byte if less or equal/Set byte if not greater
SETS Set byte if sign (negative)
SETNS Set byte if not sign (non-negative)
SETO Set byte if overflow
SETNO Set byte if not overflow
SETPE/SETP Set byte if parity even/Set byte if parity
SETPO/SETNP Set byte if parity odd/Set byte if not parity
TEST Logical compare
5.Nhóm lệnh chuyển điều khiển (Control Transfer Instructions)
Nhóm lệnh này bao gồm: các lệnh nhảy hay rẽ nhánh(Jump, Branch). Các lệnh gọi tới chương trình con (Call), và nhảy trở lại từ chương trình con. Chúng đều có trong các vi xử lý từ 8 bit đến tiên tiến hiện nay và thực hiện các thao tác tương tự nhau. Phân biệt các lệnh chuyển điều khiển có điều kiện (phụ thuộc vào các giá trị các bit cờ trong thanh ghi cờ của bộ vi xử lý) và chuyển điều khiển vô điều kiện. Trong lập trình, các lệnh chuyển điều khiển dùng để rẽ nhánh tới các chương trình con. Thủ tục khi một điều kiện trạng thái của hệ thống được thỏa mãn. Trạng thái của hệ thống được thể hiện qua thanh ghi cờ (hay từ trạng thái PSW)
JMP Jump
JE/JZ Jump if equal/Jump if zero
JNE/JNZ Jump if not equal/Jump if not zero
JA/JNBE Jump if above/Jump if not below or equal
JAE/JNB Jump if above or equal/Jump if not below
JB/JNAE Jump if below/Jump if not above or equal
JBE/JNA Jump if below or equal/Jump if not above
JG/JNLE Jump if greater/Jump if not less or equal
JGE/JNL Jump if greater or equal/Jump if not less
JL/JNGE Jump if less/Jump if not greater or equal
JLE/JNG Jump if less or equal/Jump if not greater
JC Jump if carry
JNC Jump if not carry
JO Jump if overflow
JNO Jump if not overflow
JS Jump if sign (negative)
JNS Jump if not sign (non-negative)
JPO/JNP Jump if parity odd/Jump if not parity
JPE/JP Jump if parity even/Jump if parity
JCXZ/JECXZ Jump register CX zero/Jump register ECX zero
LOOP Loop with ECX counter
LOOPZ/LOOPE Loop with ECX and zero/Loop with ECX and equal
LOOPNZ/LOOPNE Loop with ECX and not zero/Loop with ECX and not equal
CALL Call procedure
RET Return
IRET Return from interrupt
INT Software interrupt
INTO Interrupt on overflow
BOUND Detect value out of range
ENTER Hi...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status