KIẾN TRÚC MÁY TÍNH (TH152)

• Chƣơng 1: Tổng quan về kiến trúc máy tính • Chƣơng 2: Biểu diễn thông tin trong máy tính • Chương 3: Bộ xử lý trung tâm • Chƣơng 4: Bộ nhớ bán dẫn (bộ nhớ trong) • Chƣơng 5: Bộ nhớ ngoài • Chƣơng 6: Nhập xuất

Phạm Hoàng Sơn 1

CÁC KIẾN TRÚC XỬ LÍ TỐC ĐỘ CỦA BỘ VI XỬ LÍ

TẬP LỆNH KIỂU ĐỊNH VỊ

I. MÔ TẢ II. DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY III. NGẮT QUÃNG (INTERRUPT) IV. V. CÁC KIỂU THI HÀNH MỘT LỆNH VI. VII. VIII. NGÔN NGỮ CẤP CAO VÀ NGÔN NGỮ MÁY

Phạm Hoàng Sơn 2

MÔ TẢ

• CPU là từ viết tắt của chữ Central Processing

Unit (đơn vị xử lý trung tâm). CPU có thể đƣợc xem nhƣ não bộ của máy tính. CPU đảm nhận thực hiện chức năng cơ bản của máy tính là thực thi chƣơng trình.

Phạm Hoàng Sơn 3

MÔ TẢ

Phạm Hoàng Sơn 4

MÔ TẢ

• Các thông số - Kiểu CPU - Tần số đồng hồ làm việc (tốc độ) - Bộ nhớ đệm (cache) - Socket - Tốc độ FSB (Front Side Bus)

Phạm Hoàng Sơn 5

MÔ TẢ

• Cấu trúc CPU

Phạm Hoàng Sơn 6

Bộ điều khiển (CU-Control Unit)

Phạm Hoàng Sơn 7

Bộ điều khiển (CU-Control Unit)

• Các thành phần

Phạm Hoàng Sơn 8

Bộ điều khiển (CU-Control Unit)

• Thành phần:

– Bộ đếm chương trình (Program Counter : PC) : Đây là một sổ ghi chứa địa chỉ ô nhớ. Ô nhớ này chứa lệnh cần tìm để thi hành.

– Thanh ghi lệnh (Instruction Register :IR) : CPU tìm lệnh có địa chỉ nằm trong bộ đếm chƣơng trình và đặt lệnh này vào thanh ghi lệnh.

– Bộ giải mã lệnh (Instruction Decoder) : Xác định các tác vụ

của lệnh nằm trong thanh ghi lệnh,

– Bộ tạo tín hiệu điều khiển (Squencer) : Tạo ra các tín hiệu điều khiển cần thiết để thi hành các tác vụ mà bộ giải mã vừa xác định.

– Tín hiệu đồng hồ (Clock) : Là tín hiệu điện tử tuần hoàn làm

đồng bộ các hoạt động của CPU. Phạm Hoàng Sơn

9

Bộ số học-logic (ALU-Arithmetic Logic Unit)

10 Phạm Hoàng Sơn Mô hình kết nối ALU

Các thanh ghi (Registers)

• Thanh ghi là phần tử nhớ nhanh tạm thời các dữ liệu và địa chỉ phục vụ cho hoạt động ở thời điểm hiện tại của bộ vi xử lí. • Số lƣợng các thanh ghi quyết định đến

hiệu năng xử lí của bộ vi xử lí.

Phạm Hoàng Sơn 11

Các thanh ghi (Registers)

• Phân loại

– Thanh ghi địa chỉ: quản lý địa chỉ của ngăn

nhớ hay cổng vào-ra.

– „Thanh ghi dữ liệu: chứatạm thời các dữ liệu. – Thanh ghi đa năng: có thể chứa địa chỉ hoặc

dữ liệu.

– Thanh ghi điều khiển/trạng thái: chứa các

thông tin điều khiển và trạng thái của CPU. – Thanh ghi lệnh: chứa lệnh đang đƣợc thực

hiện.

Phạm Hoàng Sơn 12

Các thanh ghi (Registers)

• Một số thanh ghi điển hình:

– Bộ đếm chƣơng trình PC (Program Counter) – Con trỏ dữ liệu DP (Data Pointer) – Con trỏ ngăn xếp SP (Stack Pointer) – Thanh ghi cơ sở và thanh ghi chỉ số (Base

Register & Index Register)

– „Các thanh ghi dữ liệu – „Thanh ghi trạng thái

Phạm Hoàng Sơn 13

Các thanh ghi (Registers)

• Bộ đếm chƣơng trình PC (Program Counter)

– Còn đƣợc gọi là con trỏ lệnh IP (Instruction

Pointer)

– „Giữđịa chỉ của lệnh tiếp theo sẽ đƣợc nhận

vào.

– „Sau khi mộtlệnh đƣợc nhận vào, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp.

Phạm Hoàng Sơn 14

Phạm Hoàng Sơn 15

Các thanh ghi (Registers)

• Con trỏ dữ liệu DP (Data Pointer)

– Chứa địa chỉ của ngăn nhớ dữ liệu mà CPU

muốn truy nhập

– Thƣờng có một số thanh ghi con trỏ dữ liệu

Phạm Hoàng Sơn 16

Phạm Hoàng Sơn 17

Các thanh ghi (Registers)

• Con trỏ ngăn xếp SP (Stack Pointer)

– Chứa địa chỉ của ngăn nhớ đỉnh ngăn xếp – „Khi cấtmột thông tin vào ngăn xếp:

• Nội dung của SP tự động giảm • Thông tin đƣợc cất vào ngăn nhớ đƣợc trỏ bởi SP

– Khi lấy một thông tin ra khỏi ngăn xếp:

• Thông tin đƣợc đọc từ ngăn nhớ đƣợc trỏ bởi SP • N ội dung của SP tự động tăng • Khi ngăn xếp rỗng, SP trỏ vào đáy

Phạm Hoàng Sơn 18

Phạm Hoàng Sơn 19

Các thanh ghi (Registers)

• Thanh ghi cơ sở và thanh ghi chỉ số (Base

Register & Index Register) – Thanh ghi cơ sở : chứa địa chỉ của ngăn nhớ

cơ sở (địa chỉ cơ sở)

– Thanh ghi chỉ số: chứa độ lệch địa chỉ giữa

ngăn nhớ mà CPU cần truy nhập so với ngăn nhớ cơ sở (chỉ số)

– Địa chỉ của ngăn nhớ cần truy nhập= địa chỉ

cơ sở + chỉ số

Phạm Hoàng Sơn 20

Phạm Hoàng Sơn 21

Các thanh ghi (Registers)

• Thanh ghi dữ liệu

– Chứa các dữ liệu tạm thời hoặc các kết quả

trung gian

– Cần có nhiều thanh ghi dữ liệu – Các thanh ghi số nguyên: 8, 16, 32, 64 bit – Các thanh ghi số dấu phẩy động

Phạm Hoàng Sơn 22

Các thanh ghi (Registers)

• Thanh ghi trạng thái

– Còn gọi là thanh ghi cờ (Flag Register) – Chứa các thông tin trạng thái của CPU

• Các cờ phép toán: báo hiệu trạng thái của kết quả

phép toán

• Các cờ điều khiển: biểu thị trạng thái điều khiển

của CPU

Phạm Hoàng Sơn 23

DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY

• Chu trình lệnh

– Nhận lệnh  Giải mã lệnh  Nhận toán hạng 

Thực hiện lệnh  Cất toán hạng  Ngắt

Phạm Hoàng Sơn 24

DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY

• Nhận lệnh

Phạm Hoàng Sơn 25

DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY

• Sơ đồ mô tả quá trình nhận lệnh

MAR ← PC IR ← M[MAR]

Phạm Hoàng Sơn 26

DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY

• Giải mã lệnh

Phạm Hoàng Sơn 27

DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY

• Nhận toán hạng

Phạm Hoàng Sơn 28

DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY

• Thực hiện lệnh

Phạm Hoàng Sơn 29

DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY

Một số dạng lệnh: • Liên hệ tới bộ nhớ

– MAR ← Địa chỉ do ALU tính tuỳ theo kiểu định vị (Rs2). – MBR ← Rs1 – Địa chỉ hiệu dụng do ALU tính đƣợc đƣa vào MAR và thanh ghi nguồn Rs1 đƣợc đƣa vào MBR (Memory Buffer Register) để đƣợc lƣu vào bộ nhớ trong. • Một lệnh của ALU

– Ngã ra ALU ← Kết quả của phép tính – ALU thực hiện phép tính xác định trong mã lệnh, đƣa kết quả ra ngã ra.

• Một phép nhảy (thay đổi thứ tự thực thi của dãy lệnh)

– Ngã ra ALU ← Địa chỉ lệnh tiếp theo do ALU tính. – ALU cộng địa chỉ của PC với độ dời để làm thành địa chỉ đích và đƣa địa chỉ này ra ngã ra. Nếu là một phép nhảy có điều kiện thì thanh ghi trạng thái đƣợc đọc quyết định có cộng độ dời vào PC hay không. Phạm Hoàng Sơn

30

DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY

• Cất (ghi) toán hạng

Phạm Hoàng Sơn 31

DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY

Sơ đồ cất toán hạng

Phạm Hoàng Sơn 32

DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY

PC: thanh g

Phạm Hoàng Sơn 33

• Ví dụ: • Một máy tính giả thiết có các đặc trƣng sau: • Dạng lệnh 16 bit gồm 24=16 mã thao tác và 212= 4096(4KB) word nhớ định vị địa chỉ trực tiếp

• Dạng dữ liệu: 16 bit gồm 1 bit dấu và 15 bits dữ liệu. • Các thanh ghi của CPU gồm: PC ( Program Counter) 12 bits, IR (Intruction Register) 16 bits và AC (Accumalator) 16 bits.

Phạm Hoàng Sơn 34

• Mã lệnh đƣợc cho nhƣ sau: – 0010: Load AC from memory – 0101: Store AC to memory – 0011: Sub to AC from memory

Phạm Hoàng Sơn 35

Memory

CPU

Memory

CPU

2 4 2 0

300

3 0 0

PC

2 4 2 0

300

3 0 0

PC

3 4 2 1

301

AC

3 4 2 1

301

0 B F 8

AC

5 4 2 2

302

2 4 2 0

IR

5 4 2 2

302

2 4 2 0

IR

:

:

0 B F 8

420

0 B F 8

420

0 4 C E

421

Bước 2

0 4 C E

421

Bước 1

422

422

Bộ đếm chƣơng trình (PC) chứa 300 là địa chỉ của lệnh đầu tiên. Địa chỉ này đƣợc tải vào thanh ghi lệnh, (IR). Chú ý rằng quá trình này sẽ bao gồm luôn việc dùng thanh ghi địa chỉ bộ nhớ và thanh ghi vùng nhớ đệm bộ nhớ (MBR), để đơn giản các thanh ghi trung gian này đƣợc bỏ qua. 4 bit đầu tiên trong IR chỉ ra rằng bộ tích lũy (AC) tải vào, 12 bit còn lại đặc tả địa chỉ, ở đây là 420H.

Phạm Hoàng Sơn 36

Memory

CPU

Memory

CPU

2 4 2 0

300

3 0 1

PC

2 4 2 0

300

PC

3 0 1

3 4 2 1

301

0 7 2 A

AC

3 4 2 1

301

AC

0 B F 8

5 4 2 2

302

3 4 2 1

IR

5 4 2 2

302

IR

3 4 2 1

:

0BF8-04CE

:

0 B F 8

420

0 4 C E

421

Bước 4

0 B F 8

420

0 4 C E

421

Bước 3

422

422

PC đƣợc tăng lên một đơn vị và lệnh kế tiếp đƣợc lấy ra

Nội dung trƣớc đó của AC đƣợc trừ cho nội dung tại vị trí 421H, kết quả đƣợc lƣu trong AC.

Phạm Hoàng Sơn 37

Memory

CPU

Memory

CPU

2 4 2 0

300

PC

3 0 2

2 4 2 0

300

PC

3 0 2

3 4 2 1

301

AC

0 7 2 A

3 4 2 1

301

AC

0 7 2 A

5 4 2 2

302

IR

5 4 2 2

5 4 2 2

302

IR

5 4 2 2

:

:

0 B F 8

420

0 B F 8

420

0 4 C E

421

Bước 6

0 4 C E

421

Bước 5

0 7 2 A

422

422

PC đƣợc tăng lên một đơn vị và lệnh kế tiếp đƣợc lấy ra. Nội dung AC đƣợc lƣu ở vị trí 422H.

Phạm Hoàng Sơn 38

NGẮT QUÃNG (INTERRUPT)

• Khái niệm chung về ngắt:

– Ngắt là cơ chế cho phép CPU tạm dừng chƣơng trình

đang thực hiện để chuyển sang thực hiện một chƣơng trình khác, gọi là chƣơng trình con phục vụ ngắt

• Các loại ngắt:

– Ngắt do lỗi khi thực hiện chƣơng trình, ví dụ: tràn số,

chia cho 0.

– Ngắt do lỗi phần cứng, ví dụ lỗi bộ nhớ RAM. – Ngắt do mô- đun vào-ra phát tín hiệu ngắt đến CPU

yêu cầu trao đổi dữ liệu.

Phạm Hoàng Sơn 39

NGẮT QUÃNG (INTERRUPT)

• Ứng dụng của ngắt quãng:

– Ngoại vi đòi hỏi nhập hoặc xuất số liệu. – Ngƣời lập trình muốn dùng dịch vụ của hệ điều hành. – Cho một chƣơng trình chạy từng lệnh. – Làm điểm dừng của một chƣơng trình. – Báo tràn số liệu trong tính toán số học. – Trang bộ nhớ thực sự không có trong bộ nhớ. – Báo dùng một lệnh không có trong tập lệnh. – Báo phần cứng máy tính bị hƣ. – Báo điện bị cắt.

Phạm Hoàng Sơn 40

NGẮT QUÃNG (INTERRUPT)

• Sau khi hoàn thành mỗi một lệnh, bộ xử lý kiểm tra tín

hiệu ngắt

• Nếu không có ngắt  bộ xử lý nhận lệnh tiếp theo của

chƣơng trình hiện tại • Nếu có tín hiệu ngắt:

– Tạm dừng chƣơng trình đang thực hiện – Cất ngữ cảnh (các thông tin liên quan đến chƣơng trình bị

ngắt)

– Thiết lập PC trỏ đến chƣơng trình con phục vụ ngắt – Chuyển sang thực hiện chƣơng trình con phục vụ ngắt – Cuối chƣơng trình con phục vụ ngắt, khôi phục ngữ cảnh

và tiếp tục chƣơng trình đang bị tạm dừng.

Phạm Hoàng Sơn 41

NGẮT QUÃNG (INTERRUPT)

Chu trình lệnh với ngắt

Phạm Hoàng Sơn 42

CÁC KIẾN TRÚC XỬ LÍ TỐC ĐỘ CỦA BỘ VI XỬ LÍ

• Kiến trúc tuần tự (Xử lí dạng đường

ống)

• Kiến trúc kiểu tuần tự: Đó là quá trình đọc, giải mã và thực hiện lệnh đƣợc thực hiện tuần tự, tức là lệnh này kết thúc thì mới đến lệnh khác đƣợc truyền vào bộ xử lí.

Phạm Hoàng Sơn 43

CÁC KIẾN TRÚC XỬ LÍ TỐC ĐỘ CỦA BỘ VI XỬ LÍ

• Kiến trúc song song • Các lệnh có thể thực hiện song song với nhau

dựa trên bộ xử lý song song.

• Có thể chia máy tính song song thành ba loại

dựa vào số lƣợng lệnh và dòng dữ liệu. – SISD (Single Instruction Single Data): đơn dòng lệnh đơn dòng

dữ liệu.

– SIMD (Single Instruction Multiple Data): đơn dòng lệnh đa dòng

dữ liệu.

– MIMD (Complex Instruction Set Computer): Máy tính nhiều dòng

lệnh, nhiều dòng số liệu

Phạm Hoàng Sơn 44

CÁC KIẾN TRÚC XỬ LÍ TỐC ĐỘ CỦA BỘ VI XỬ LÍ

• Kiến trúc CISC và RISC

– CISC (Complex Intruction set computer):

• Là một máy tính đƣợc thiết kế với một tập lệnh đầy đủ. • Tập lệnh phức tạp, dạng lệnh có chiều dài khác nhau

và dạng thức phức tạp.

• Các BXL của Intel từ 8088 đến 80486 đều dựa trên

thiết kế này.

– RISC (reduced Intruction Set Computer):

• Là một máy tính đƣợc thiết kế với một tập lệnh rút gọn

và thời gian thực hiện cố định

• Kiến trúc RISC có thể thấy trong các bộ xử lý mới nhƣ

IBM và Intel Pentium.

Phạm Hoàng Sơn 45

CÁC KIỂU THI HÀNH MỘT LỆNH

• Một lệnh mã máy bao gồm một mã tác vụ

và các toán hạng

• Tuỳ theo tần số sử dụng các phép mà các nhà thiết kế máy tính quyết định số lƣợng các mạch chức năng cần thiết cho việc tính toán

• Ví dụ: lệnh Y := A + B + C + D

– Thực hiện 1 lệnh mã máy nếu có 3 mạch cộng – Thực hiện 3 lệnh mã máy nếu có 1 mạch cộng 46

Phạm Hoàng Sơn

CÁC KIỂU THI HÀNH MỘT LỆNH

Chuỗi lệnh dùng thực hiện phép tính C := A + B

Kiến trúc ngăn xếp Kiến trúc thanh

ghi tích luỹ Load A ADD B Store C

Kiến trúc thanh ghi đa dụng Load R1, A ADD B,R1 Store R1,C

Push A Push B ADD Pop C

Phạm Hoàng Sơn 47

TẬP LỆNH

• Giới thiệu chung về tập lệnh

– Mỗi bộ xử lý có một tập lệnh xác định – Tập lệnh thƣờng có hàng chục đến hàng trăm

lệnh

– Mỗi lệnh là một chuỗi số nhị phân mà bộ xử lý hiểu đƣợc để thực hiện một thao tác xác định.

– Các lệnh đƣợc mô tả bằng các ký hiệu gợi

nhớ  chính là các lệnh của hợp ngữ

Phạm Hoàng Sơn 48

TẬP LỆNH

• Các thành phần của lệnh máy

Mã thao tác

Địa chỉ của các toán hạng

– Mã thao tác (operation code opcode): mã hóa cho thao tác mà bộ xử lý phải thực hiện – „Địachỉ toán hạng: chỉ ra nơi chứa các toán

hạng mà thao tác sẽ tác động

– Toán hạng nguồn: dữ liệu vào của thao tác – Toán hạng đích: dữ liệu ra của thao tác

Phạm Hoàng Sơn 49

TẬP LỆNH

• Mô tả lệnh

– Lệnh máy là mã nhị phân – Để dễ hiểu và dễ nhớ đối với con ngƣời,

ngƣời ta mô tả lệnh bằng các ký hiệu gợi nhớ • Ví d ụ: ADD, SUB, LOAD

– „ Toán hạng có thể đƣợc mô tả nhƣ sau:

• ADD A,B

Phạm Hoàng Sơn 50

TẬP LỆNH BXL 8086

CÁC LỆNH CHUYỂN DỮ LiỆU

• MOV: Chuyển nội dung từ nguồn đến đích. • LOAD: Chuyển nội dung từ bộ nhớ đến bộ xử lí. • STORE: Chuyển dữ liệu từ bộ xử lí đến bộ nhớ. • PUSH: đƣa số liệu vào ngăn xếp (làm giảm con

trỏ ngăn xếp xuống 2 đơn vị)

• POP: lấy số liệu ra từ ngăn xếp (làm tăng con

trỏ ngăn xếp lên 2 đơn vị)

Phạm Hoàng Sơn 51

TẬP LỆNH BXL 8086

CÁC LỆNH SỐ HỌC

• ADD: cộng hai toán hạng, • SUB: trừ hai toán hạng • MUL: nhân hai toán hạng • DIV: chia hai toán hạng • INC: tăng nội dung lên 1 đơn vị • DEC: giảm nội dung xuống 1 đơn vị

Phạm Hoàng Sơn 52

TẬP LỆNH BXL 8086

CÁC LỆNH LOGIC

• AND: thực hiện phép toán logic ‘và’. • OR: thực hiện phép toán logic ‘hoặc’ • XOR: hoặc LOẠI • NOT: đảo ngƣợc

Phạm Hoàng Sơn 53

TẬP LỆNH BXL 8086

CÁC LỆNH ĐIỀU KHIỂN CHƢƠNG TRÌNH • JMP: lệnh nhảy sẽ điều khiển bộ xử lý lấy lệnh ở chỗ khác chứ không ở vị trí theo đúng trình tự.

• IN: chuyển dữ liệu từ một cổng xác định đến

đích.

• OUT: chuyển dữ liệu từ nguồn đến một cổng

xác định.

Phạm Hoàng Sơn 54

TẬP LỆNH BXL 8086

• Ví dụ: A=5, B=6

MOV AX,A ; đƣa A vào AX MOV B,AX ; đƣa AX vào B

• Kết quả A=???, B=???

Phạm Hoàng Sơn 55

• Ví dụ: A=5

• MOV AX,5 • SUB AX,A • MOV A,AX

• Kết quả A=???

Phạm Hoàng Sơn 56

• Ví dụ: A=5, B=6 • MOV AX,B • SUB AX,A • SUB AX,A • MOV A,AX

• Kết quả??? A=???, B=???

Phạm Hoàng Sơn 57

CÁC KIỂU ĐỊNH VỊ

• Kiểu định vị định nghĩa cách thức thâm nhập

các toán hạng.

• Khái niệm về định địa chỉ (addressing)

– Toán hạng của lệnh có thể là:

• Một giá trị cụ thể nằm ngay trong lệnh • Nội dung của thanh ghi • Nội dung của ngăn nhớ hoặc cổng vào-ra

– Phƣơng pháp định địa chỉ (addressing modes) là cách thức địa chỉ hóa trong trƣờng địa chỉ của lệnh để xác định nơi chứa toán hạng

Phạm Hoàng Sơn 58

CÁC KIỂU ĐỊNH VỊ

• Định vị tức thì

– Toán hạng nằm ngay trong trƣờng địa chỉ của

lệnh

– Chí có thể là toán hạng nguồn – Ví dụ:

ADD R1, 5 ; R1  R1 + 5

– Không tham chiếu bộ nhớ – Truy nhập toán hạng rất nhanh – Dải giá trị của toán hạng bị hạn chế

Phạm Hoàng Sơn 59

CÁC KIỂU ĐỊNH VỊ

• Định vị trực tiếp • Toán hạng là ngăn nhớ chứa địa chỉ đƣợc chỉ ra trực tiếp trong Trƣờng địa chỉ của lệnh

• Ví dụ ADD R1,A ;R1  R1+(A)

– Cộng nội dung thanh ghi R1 với nội dung của

ngăn nhớ có địa chỉ là A

– Tìm toán hạng trong bộ nhơ ở địa chỉ A • CPU tham chiếu bộ nhớ một lần để truy

nhập dữ liệu

Phạm Hoàng Sơn 60

CÁC KIỂU ĐỊNH VỊ

• Sơ đồ định vị trực tiếp

Phạm Hoàng Sơn 61

CÁC KIỂU ĐỊNH VỊ

• Định vị gián tiếp

Phạm Hoàng Sơn 62

CÁC KIỂU ĐỊNH VỊ

Phạm Hoàng Sơn 63

CÁC KIỂU ĐỊNH VỊ

Phạm Hoàng Sơn 64

Phạm Hoàng Sơn 65

Phạm Hoàng Sơn 66

Phạm Hoàng Sơn 67

Phạm Hoàng Sơn 68

Phạm Hoàng Sơn 69

Phạm Hoàng Sơn 70

Kiểu định vị

Ví dụ về lệnh

Giải thích

Tức thì

Add R4, #3 ;Move R1,#5

R4 ← R4 + 3 ; R1←5

Trực tiếp(thanh ghi)

Add R3, R4 ; Move R1,R2 R3 ← R3 + R4 ; R1 ← R2

Trực tiếp (bộ nhớ)

Add R1, (1001)

R1 ← R1 + M [1001]

Gián tiếp (thanh ghi)

ADD R4, (R1)

R4 ← R4 + M [R1]

Gián tiếp (bộ nhớ)

Add R1, @ (R3)

R1 ← R1 + M[ M [R3]]

Add R4, 100(R1)

R4 ← R4 + M[R1 + 100]

Gián tiếp (thanh ghi + Độ dời)

Add R3, (R1 + R2)

R3 ← R3 + M[R1 + R2]

Gián tiếp (thanh ghi + thanh ghi)

Add R1, 100(R2)[R3]

*

Gián tiếp ( t/g nền + t/g chỉ số + độ dời )

R1R1+M[100+R2+ d R3]

Phạm Hoàng Sơn 71

Ngăn xếp

Add R1, (SP)

R1 ← R1+ M (SP)