Tải bản đầy đủ (.ppt) (43 trang)

Tài liệu CHƯƠNG 5 MỨC MÁY THÔNG THƯỜNG ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (268.98 KB, 43 trang )

Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
1 / 50
CHƯƠNG 5
MỨC MÁY THÔNG
THƯỜNG
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
2 / 50
Địa chỉ logic và địa chỉ vật lý
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
3 / 50
Địa chỉ logic và địa chỉ vật lý

Xét đoạn bộ nhớ có địa chỉ thay đổi từ 0000h ÷
FFFFh (chiều dài đoạn là 64 KB).

Địa chỉ logic hay offset: địa chỉ trong một
đoạn, là độ lệch (offset) từ vị trí 0 của một đoạn
cho trước.

Ví dụ : như địa chỉ logic 0010h của đoạn mã
trong hình trên sẽ có địa chỉ thật sự là 28000h
+ 0010h = 28010h.

Địa chỉ này gọi là địa chỉ vật lý. Địa chỉ vật lý
chính là địa chỉ thật sự xuất hiện ở bus địa chỉ,
nó có chiều dài 20 bit
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
4 / 50
Khuôn dạng lệnh
Opcode
Opcode Address


Opcode Address 1 Address 2
(a)
(b)
(c)
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
5 / 50
Khuôn dạng lệnh

 Chương trình bao gồm một dãy các chỉ thị, mỗi chỉ
thị chỉ rõ một hành động cụ thể nào đó

Một phần chỉ thị gọi là Opcode – mã phép toán

Chỉ thị có thể không có địa chỉ hoặc có nhiều địa chỉ
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
6 / 50
Khuôn dạng lệnh

Các tiêu chuẩn thiết kế khuôn dạng chỉ thị
1. Chỉ thị ngắn tốt hơn chỉ thị dài
2. Có đủ chỗ trong chỉ thị để biểu diễn tất cả các
thao tác
3. Độ dài word của máy là bội số nguyên của chiều
dài ký tự: nếu mã ký tự có k bit thì chiều dài word
cần phải là k, 2k, 3k, …  tránh lãng phí không
gian nhớ chứa ký tự
4. Số bit trong trường địa chỉ càng ngắn càng tốt
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
7 / 50
Khuôn dạng lệnh


Mở rộng mã chỉ thị

Chỉ thị có (n+k) bit:

opcode: dài k bit  có 2
k
chỉ thị

address: dài n bit  đánh được 2
n
ô nhớ

Nếu

opcode: dài k-1 bit  có 2
k-1
chỉ thị

address: dài n+1 bit  đánh được 2
n+1
ô nhớ

 số chỉ thị chỉ còn một nửa, số ô nhớ tăng gấp
đôi
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
8 / 50
Khuôn dạng lệnh

Ví dụ: xét một máy có chỉ thị dài 16 bit: 16 chỉ thị 3 địa chỉ

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Opcode
Address 1
Address 2 Address 3
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
9 / 50
Khuôn dạng lệnh

Nếu nhà thiết kế cần 15 chỉ thị 3 địa chỉ, 14 chỉ thị 2
địa chỉ, 31 chỉ thị 1 địa chỉ, 16 chỉ thị không có địa chỉ
nào làm thế nào?
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
10 /
50
Khuôn dạng lệnh
0000 xxxx yyyy zzzz
0001 xxxx yyyy zzzz

1101 xxxx yyyy zzzz
1110 xxxx yyyy zzzz
1111 0000 yyyy zzzz
1111 0001 yyyy zzzz

1111 1100 yyyy zzzz
1111 1101 yyyy zzzz
1111 1110 0000 zzzz
1111 1110 0001 zzzz

1111 1110 1110 zzzz
1111 1110 1111 zzzz

1111 1111 0000 zzzz
1111 1111 0001 zzzz

1111 1111 1110 zzzz
1111 1111 1111 0000
1111 1111 1111 0001

1111 1111 1111 1110
1111 1111 1111 1111
Mã chỉ
thị 4 bit
Mã chỉ
thị 8 bit
Mã chỉ
thị 12
bit
Mã chỉ
thị 16
bit
15 chỉ thị
3 địa chỉ
14 chỉ thị
2 địa chỉ
31 chỉ thị
1địa chỉ
16 chỉ thị
không có
địa chỉ
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
11 /

50
Khuôn dạng lệnh

3 khuôn dạng lệnh cơ bản

Lệnh tham chiếu bộ nhớ

Lệnh tham chiếu thanh ghi

Lệnh vào/ra

Cấu trúc khuôn dạng lệnh

Ví dụ: Độ lớn: 16 bit, chia làm 3 phần

Mã lệnh (opcode): 3bit

Các thao tác: 13 bit
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
12 /
50
Khuôn dạng lệnh

Lệnh tham chiếu bộ nhớ

12bit để xác định địa chỉ

3 bit xác định mã lệnh

1 bit để xác định kiểu định địa chỉ


I=0: định địa chỉ trực tiếp

I=1 định địa chỉ gián tiếp
15 14 12 11 0
I Opcode Address
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
13 /
50
Khuôn dạng lệnh

Lệnh tham chiếu thanh ghi

Mã lệnh: 111

Bit 15 =0
15 14 12 11 0
0 111 Thao tác thanh ghi
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
14 /
50
Khuôn dạng lệnh

Lệnh vào/ra

Mã lệnh: 111

Bit 15 =1
15 14 12 11 0
1 111 Thao tác vào/ra

Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
15 /
50
Khuôn dạng lệnh

Một số lệnh cơ bản

Tham chiếu thanh ghi

Ví dụ:
AND (I=0)
AND (I=1)
Ký hiệu I=0 I=1 Mô tả
AND 0xxx 8xxx And từ nhớ vào thanh ghi AC
ADD 1xxx 9xxx Add từ nhớ vào thanh ghi AC
LDA 2xxx Axxx Load từ nhớ vào thanh ghi AC
STA 3xxx Bxxx Lưu nội dung của thanh ghi AC vào bộ nhớ
BUN 4xxx Cxxx Rẽ nhánh không điều kiện
BSA 5xxx Dxxx Rẽ nhánh và lưu lại địa chỉ cũ
ISZ 6xxx Exxx Tăng và skip nếu nội dung bằng 0
15 14 12 11 0
0 000 xxx
15 14 12 11 0
1 000 xxx
( 0xxx )
( 8xxx )
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
16 /
50
Khuôn dạng lệnh


Một số lệnh cơ bản

Tham chiếu vào ra

Ví dụ:
CLA
INC
Ký hiệu Mô tả
CLA 7800 Xóa thanh ghi AC
CLE 7400 Xóa bit nhớ
CMA 7200 Bù của thanh ghi AC
CME 7100 Bù của bit nhớ
CIR 7080 Quay phải thanh ghi AC và bit nhớ
CIL 7040 Quay trái thanh ghi AC và bit nhớ
INC 7020 Tăng AC
SPA 7010 Giữ lệnh tiếp theo nếu AC dương
SNA 7008 Giữ lệnh tiếp theo nếu AC âm
SZA 7004 Giữ lệnh tiếp theo nếu AC=0
SZE 7002 Giữ lệnh tiếp theo nếu bit nhớ bằng 0
HLT 7001 Dừng máy tính
15 14 12 11 0
0 111 1000 0000 0000
15 14 12 11 0
0 111 0000 0010 0000
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
17 /
50
Khuôn dạng lệnh


Một số lệnh cơ bản

Vào/ra

Ví dụ:
INP
ADD (I=1)
Ký hiệu Mô tả
INP F800 Nhập ký tự vào thanh ghi AC
OUT F400 Lấy ký tự ra thanh ghi AC
SKI F200 Giữ cờ đầu vào
SKO F100 Giữ cờ đầu ra
ION F080 Khởi tạo chế độ ngắt
IOF F040 Hủy bỏ chế độ ngắt
15 14 12 11 0
1 111 1000 0000 0000
15 14 12 11 0
1 111 0000 1000 0000
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
18 /
50
Các chế độ địa chỉ

Xác định địa chỉ của các toán hạng tham gia vào
phép toán

Xác định địa chỉ của các từ nhớ tham gia vào phép
toán

Các chế độ địa chỉ


Tức thời

Trực tiếp

Gián tiếp qua bộ nhớ

Gián tiếp qua thanh ghi

Chỉ số

Thanh ghi

Tương đối
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
19 /
50
Các chế độ địa chỉ

Địa chỉ tức thời

Phần địa chỉ của chỉ thị chứa chính toán hạng đó

Không có bộ nhớ tham chiếu để lấy dữ liệu

Thực hiện nhanh

Phạm vi bị giới hạn
Instruction
OperandOpcode

Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
20 /
50
Các chế độ địa chỉ

Trực tiếp

Địa chỉ trong chỉ thị là địa chỉ của ô nhớ chứa toán hạng
Address AOpcode
Instruction
Memory
Operand
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
21 /
50
Các chế độ địa chỉ

Gián tiếp qua bộ nhớ

Địa chỉ trong lệnh là địa chỉ ô nhớ chứa địa chỉ thứ 2. Địa
chỉ thứ 2 là địa chỉ ô nhớ chứa toán hạng
Address A
Opcode
Instruction
Memory
Operand
Pointer to operand
Address 2
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
22 /

50
Các chế độ địa chỉ

Gián tiếp qua thanh ghi

Địa chỉ trong lệnh là địa chỉ thanh ghi. Nội dung
thanh ghi là địa chỉ ô nhớ chứa toán hạng
Register Address R
Opcode
Instruction
Memory
Operand
Pointer to Operand
Registers
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
23 /
50
Các chế độ địa chỉ

Chỉ số

Địa chỉ ô nhớ chứa toán hạng được xác định bằng cách
cộng địa chỉ trong lệnh với nội dung thanh ghi chỉ số
Register R
Opcode
Instruction
Memory
Operand
Pointer to Operand
Registers

Address A
+
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
24 /
50
Các chế độ địa chỉ

Tương đối

Địa chỉ ô nhớ chứa toán hạng được xác định
bằng cách cộng địa chỉ trong lệnh với nội dung
thanh ghi PC
Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
25 /
50
Các chế độ địa chỉ

Thanh ghi

Trường địa chỉ của chỉ thị chứa số của thanh ghi đang
chứa tóan hạng.
Register
Opcode
Instruction
Registers
Operand
Address

×