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
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.
71 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 559 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Kiến trúc máy tính - Chương 3: Bộ xử lý trung tâm - Phạm Hoàng Sơn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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
1Phạm Hoàng Sơn
I. MÔ TẢ
II. DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY
III. NGẮT QUÃNG (INTERRUPT)
IV. CÁC KIẾN TRÚC XỬ LÍ TỐC ĐỘ CỦA BỘ VI XỬ LÍ
V. CÁC KIỂU THI HÀNH MỘT LỆNH
VI. TẬP LỆNH
VII. KIỂU ĐỊNH VỊ
VIII. NGÔN NGỮ CẤP CAO VÀ NGÔN NGỮ MÁY
2Phạm Hoàng Sơn
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.
3Phạm Hoàng Sơn
MÔ TẢ
4Phạm Hoàng Sơn
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)
5Phạm Hoàng Sơn
MÔ TẢ
• Cấu trúc CPU
6Phạm Hoàng Sơn
Bộ điều khiển (CU-Control Unit)
7Phạm Hoàng Sơn
Bộ điều khiển (CU-Control Unit)
• Các thành phần
8Phạm Hoàng Sơn
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.
9Phạm Hoàng Sơn
Bộ số học-logic
(ALU-Arithmetic Logic Unit)
Mô hình kết nối ALU 10Phạm Hoàng Sơn
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í.
11Phạm Hoàng Sơn
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.
12Phạm Hoàng Sơn
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
13Phạm Hoàng Sơn
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.
14Phạm Hoàng Sơn
15Phạm Hoàng Sơn
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
16Phạm Hoàng Sơn
17Phạm Hoàng Sơn
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
18Phạm Hoàng Sơn
19Phạm Hoàng Sơn
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ố
20Phạm Hoàng Sơn
21Phạm Hoàng Sơn
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
22Phạm Hoàng Sơn
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
23Phạm Hoàng Sơn
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
24Phạm Hoàng Sơn
DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY
• Nhận lệnh
25Phạm Hoàng Sơn
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]
26Phạm Hoàng Sơn
DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY
• Giải mã lệnh
27Phạm Hoàng Sơn
DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY
• Nhận toán hạng
28Phạm Hoàng Sơn
DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY
• Thực hiện lệnh
29Phạm Hoàng Sơn
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.
30Phạm Hoàng Sơn
DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY
• Cất (ghi) toán hạng
31Phạm Hoàng Sơn
DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY
Sơ đồ cất toán hạng
32Phạm Hoàng Sơn
DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY
PC: thanh g
33Phạm Hoàng Sơn
• 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.
34Phạm Hoàng Sơn
• Mã lệnh đƣợc cho nhƣ sau:
– 0010: Load AC from memory
– 0101: Store AC to memory
– 0011: Sub to AC from memory
35Phạm Hoàng Sơn
Memory CPU
300 2 4 2 0 3 0 0 PC
301 3 4 2 1 AC
302 5 4 2 2 2 4 2 0 IR
:
420 0 B F 8
421 0 4 C E Bước 1
422
Memory CPU
300 2 4 2 0 3 0 0 PC
301 3 4 2 1 0 B F 8 AC
302 5 4 2 2 2 4 2 0 IR
:
420 0 B F 8
421 0 4 C E Bước 2
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. 36Phạm Hoàng Sơn
Memory CPU
300 2 4 2 0 3 0 1 PC
301 3 4 2 1 0 B F 8 AC
302 5 4 2 2 3 4 2 1 IR
:
420 0 B F 8
421 0 4 C E Bước 3
422
Memory CPU
300 2 4 2 0 3 0 1 PC
301 3 4 2 1 0 7 2 A AC
302 5 4 2 2 3 4 2 1 IR
:
420 0 B F 8 0BF8-04CE
421 0 4 C E Bước 4
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.
37Phạm Hoàng Sơn
Memory CPU
300 2 4 2 0 3 0 2 PC
301 3 4 2 1 0 7 2 A AC
302 5 4 2 2 5 4 2 2 IR
:
420 0 B F 8
421 0 4 C E Bước 5
422
Memory CPU
300 2 4 2 0 3 0 2 PC
301 3 4 2 1 0 7 2 A AC
302 5 4 2 2 5 4 2 2 IR
:
420 0 B F 8
421 0 4 C E Bước 6
422 0 7 2 A
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.
38Phạm Hoàng Sơn
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.
39Phạm Hoàng Sơn
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.
40Phạm Hoàng Sơn
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.
41Phạm Hoàng Sơn
NGẮT QUÃNG (INTERRUPT)
Chu trình lệnh với ngắt 42Phạm Hoàng Sơn
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í.
43Phạm Hoàng Sơn
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
44Phạm Hoàng Sơn
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. 45Phạm Hoàng Sơn
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
46Phạm Hoàng Sơn
CÁC KIỂU THI HÀNH MỘT LỆNH
Kiến trúc ngăn xếp Kiến trúc thanh
ghi tích luỹ
Kiến trúc thanh
ghi đa dụng
Push A
Push B
ADD
Pop C
Load A
ADD B
Store C
Load R1, A
ADD B,R1
Store R1,C
Chuỗi lệnh dùng thực hiện phép tính C := A + B
47Phạm Hoàng Sơn
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ữ
48Phạm Hoàng Sơn
TẬP LỆNH
• Các thành phần của lệnh máy
– 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
Mã thao tác Địa chỉ của các toán hạng
49Phạm Hoàng Sơn
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
50Phạm Hoàng Sơn
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ị)
51Phạm Hoàng Sơn
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ị
52Phạm Hoàng Sơn
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
53Phạm Hoàng Sơn
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.
54Phạm Hoàng Sơn
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=???
55Phạm Hoàng Sơn
• Ví dụ: A=5
• MOV AX,5
• SUB AX,A
• MOV A,AX
• Kết quả A=???
56Phạm Hoàng Sơn
• Ví dụ: A=5, B=6
• MOV AX,B
• SUB AX,A
• SUB AX,A
• MOV A,AX
• Kết quả??? A=???, B=???
57Phạm Hoàng Sơn
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
58Phạm Hoàng Sơn
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ế
59Phạm Hoàng Sơn
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
60Phạm Hoàng Sơn
CÁC KIỂU ĐỊNH VỊ
• Sơ đồ định vị trực tiếp
61Phạm Hoàng Sơn
CÁC KIỂU ĐỊNH VỊ
• Định vị gián tiếp
62Phạm Hoàng Sơn
CÁC KIỂU ĐỊNH VỊ
63Phạm Hoàng Sơn
CÁC KIỂU ĐỊNH VỊ
64Phạm Hoàng Sơn
65Phạm Hoàng Sơn
66Phạm Hoàng Sơn
67Phạm Hoàng Sơn
68Phạm Hoàng Sơn
69Phạm Hoàng Sơn
70Phạm Hoàng Sơn
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]]
Gián tiếp (thanh ghi + Độ
dời)
Add R4, 100(R1) R4 ← R4 + M[R1 + 100]
Gián tiếp (thanh ghi +
thanh ghi)
Add R3, (R1 + R2) R3 ← R3 + M[R1 + R2]
Gián tiếp ( t/g nền + t/g chỉ
số + độ dời )
Add R1, 100(R2)[R3] R1R1+M[100+R2+ d *
R3]
Ngăn xếp Add R1, (SP) R1 ← R1+ M (SP) 71Phạm Hoàng Sơn
Các file đính kèm theo tài liệu này:
- bai_giang_kien_truc_may_tinh_chuong_3_bo_xu_ly_trung_tam_pha.pdf