1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Cấu trúc máy tính: Bộ vi xử lý

50 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cấu trúc máy tính: Bộ vi xử lý
Trường học Trường Đại Học Cần Thơ
Chuyên ngành Cấu trúc máy tính
Thể loại Chương
Thành phố Cần Thơ
Định dạng
Số trang 50
Dung lượng 1,53 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thường còn gọi là bộ xử lý (processor), vi xử lý (microprocessor). CPU có nhiệm vụ thi hành lệnh của chương trình và xử lý các dữ liệu trong chương trình. Đơn vị điều khiển chi phối toàn bộ hoạt động của máy tính bằng cách lấy lệnh từ bộ nhớ, giải mã lệnh và thực hiện lệnh đó.

Trang 1

Chương 3

Bộ vi xử lý

Trang 2

Tổng quan

Thường còn gọi là bộ xử lý (processor), vi xử lý

(micro-processor).

CPU có nhiệm vụ thi hành lệnh của chương trình và xử lý các

dữ liệu trong chương trình.

Đơn vị điều khiển chi phối toàn bộ hoạt động của máy tính

bằng cách lấy lệnh từ bộ nhớ, giải mã lệnh và thực hiện lệnh đó.

Trang 3

lệnh cuối

Chương trình

làm gì nữa ? tại sao lệnh này ? mục đích ?

Trang 4

(Tín hiệu điều khiển xuất)

(Tín hiệu điều khiển nhập)

CPU có gì bên trong ?

điều khiển định thì

Trang 5

Bộ thanh ghi

Là bộ nhớ bên trong CPU.

Làm việc với tốc độ truy xuất tương đương tốc độ CPU.

MAR : memory address register.

MBR : memory buffer register.

Các thanh ghi tổng quát.

Thanh ghi cờ trạng thái (Flags).

Trang 6

Thanh ghi cờ trạng thái

Cờ nhớ (Carry flag) báo tràn dung lượng

Cờ không (Zero flag) báo kết quả không

Cờ dấu (Sign flag) báo kết quả âm

Cờ tràn (Overflow flag) báo tràn về dấu

Cờ kiểm tra (Parity flag) báo số bit một chẳn

Cờ trung gian (Auxiliary flag) báo tràn số BCD

(cờ nhớ nửa Half-carry cũng chính là nó)

Trang 7

Bo mạch chủ

Intel 955X Express Chipset for DDR2 667 SDRAM Memory and Intel Pentium 4 Processor (1066 MHz FSB) PCI Slot

PCI Express

CPU

DDR2 SDRAM

USB USB

Audio

Mouse

Serial

Trang 8

ACC  ACC - toán hạng

ACC  ACC - toán hạng - CF

Tăng

Toán hạng  Toán hạng + 1

Giảm

Toán hạng  Toán hạng - 1 (không ảnh hưởng CF)

So sánh Nhân Chia

ACC  ACC / toán hạng

R2  ACC mod toán hạng

R2,ACC  ACC * toán hạng

1

2 3 4 5

ACC - toán hạng

6 7 8 9

Số

học

Trang 9

0 CF

CF CF

Quay

Trang 10

cộng cho hàng số cao hơn).

cho đến khi nào M hết số thì dừng Lúc đó A = kết quả.

1 0 0 1

1 0 0 1 +

1 0 1 1 0 1

0 0 0 0

1 0 0 1

Trang 12

Tập lệnh

dùng toán hạng 1 chứa kết quả

địa chỉ kết quả

địa chỉ lệnh kế

Dạng lệnh tổng quát

quá dài

Trang 13

Phương pháp định địa chỉ toán hạng

Xác định vị trí dữ liệu mà lệnh tác động.

Dựa vào một trong các đặc tính sau :

Làm ngắn câu lệnh.

Đơn giản hóa câu lệnh.

Truy xuất toán hạng nhanh.

Làm câu lệnh có tính linh động (tạo vòng lặp).

Có 8 phương pháp định địa chỉ toán hạng : trực tiếp, gián

tiếp,

Trang 14

dấu ( ) cho biết dùng

Trang 15

2 dấu ( ) là truy xuất

+

13 E4

F7

Địa chỉ trong lệnh là địa chỉ ô nhớ chứa địa chỉ toán hạng

Trang 16

R1  23

giải thích :

E4 23

Toán hạng nằm trong lệnh

Trang 19

Thanh ghi

R1

bộ nhớ lệnh :

Trang 20

Gián tiếp qua thanh ghi

Gián tiếp qua thanh ghi

bộ nhớ lệnh :

Trang 21

Stack lệnh :

Trang 22

Mã hóa lệnh

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Opcode Địa chỉ 1 Địa chỉ 2 Địa chỉ 3

Chỉ được tối đa 16 lệnh 3 địa chỉ (0000  1111)

Trang 23

Mã hóa lệnh (tt.)

Bớt tiếp 2 tổ hợp của lệnh 2 địa chỉ (1111 và 1110) còn 14 lệnh 2 địa chỉ

(thêm được 32 lệnh 1 địa chỉ) 61 lệnh

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Opcode Địa chỉ 1

1 1 1 1 1 1 1 

Bớt tiếp tổ hợp cuối của lệnh 1 địa chỉ (1111 1111 1111) còn 31 lệnh 1 địa chỉ

(thêm được 16 lệnh 0 địa chỉ)

Trang 24

Nhảy nhưng có lưu địa chỉ trở

về vào stack

Số học Luận lý Dịch, quay

Nhảy Gọi

Trở về

Xử lý bit

Tuyệt đối (Địa chỉ) Tương đối (PC+n)

Không điều kiện (Luôn luôn nhảy)

Có điều kiện (Lúc nhảy lúc không) Trực tiếp (PC = địa chỉ)

Gián tiếp (PC = M/R)

Bên trong

Bộ nhớ Xuất nhập

IO mapped IO

Tác độn g cờ

Trang 25

Map IO

Memory mapped IO

Dùng chung mạch giải mã địa chỉ với bộ nhớ.

Truy xuất cổng xuất nhập bằng lệnh bộ nhớ.

Trang 26

DIR OE

2 x LS245

2 x LS573

Trang 27

    DF IF TF SF ZF  AFPFCF

Thanh ghi trạng thái (cờ)

Accumulator Base

Counter Data Source index Destination index Base pointer Stack pointer

Code segment Data segment Stack segment Extra segment

Instruction pointer

Trang 28

S 2 ,S 1 ,S 0

Bộ thanh ghi tổng quát (8 từ 16 bit)

Khối điều khiển và định thì (Execution Unit)

ALU

16 bit

Thanh ghi cờ

Bộ thanh ghi đoạn và IP (5 từ 16 bit)

Khối giao tiếp BUS

Tuyến địa chỉ

Tuyến dữ liệu

INTA, RD, WR DT/R, DEN ALE, M/IO

INTR, NMI, TEST CLK, RESET, READY

MN/MX HOLD HLDA

Trang 29

Lệnh 1

Lệnh 1 Lệnh 2

Lệnh 3

Lệnh 3

Trang 31

(Địa chỉ vật lý 20 bit)

 1 paragraph = 16 byte

 Khi segment thay đổi 1 đơn

vị (paragraph) thì địa chỉ vật lý thay đổi 16 byte.

 Một địa chỉ vật lý có thể được biểu diễn bằng nhiều địa chỉ luận lý khác nhau.

BYTE PARAGRAPH

Địa chỉ vật lý = ( SEGMENT * 16 ) + OFFSET

00000 segment 0000

0FFFF 1000F 1001F

Địa chỉ luận lý

Địa chỉ luận lý

Trang 32

DS : SI địa chỉ đầu chuỗi nguồn (chỉ trong lệnh xử lý chuỗi).

ES : DI địa chỉ đầu chuỗi đích (chỉ trong lệnh xử lý chuỗi).

Truy xuất biến bộ nhð : địa chỉ hiệu dụng (Effective Address)

Offset : là tổ hợp của ba thành phần trong ngoặc [ ]

[BP+SI+1000] [BP+DI+1000]

Segment :

Không có BP : DS

Có BP : SS

Địa chỉ hiệu dụng (Effective Address)

Không dùng thanh ghi trong cùng một nhóm với nhau

Trang 33

Đơn vị hoạt động của CPU.

CPU dùng chu kỳ máy để định thì các hoạt động của nó và điều khiển các khối bộ nhớ và xuất nhập.

Cơ sở xây dựng nên tập lệnh.

Được trình bày dưới dạng giản đồ xung.

Đơn vị hoạt động của CPU.

CPU dùng chu kỳ máy để định thì các hoạt động của nó và điều khiển các khối bộ nhớ và xuất nhập.

Cơ sở xây dựng nên tập lệnh.

Được trình bày dưới dạng giản đồ xung.

Chu kỳ máy (machine cycle)

Trang 36

T1 T2 T3 T4CLK

Chu kỳ máy Đọc bộ nhớ / Chu kỳ máy Nhập

Chu kỳ máy Đọc bộ nhớ / Chu kỳ máy Nhập

Trang 37

T1 T2 T3 T4CLK

Chu kỳ máy Ghi bộ nhớ / Chu kỳ máy Xuất

Chu kỳ máy Ghi bộ nhớ / Chu kỳ máy Xuất

Trang 38

địa chỉ vật lý

4 byte

vector ngắt 8

00014h 00018h 0001Ch

Bảng vector ngắt 00024h

DEN INTA

Trang 39

Tập lệnh CPU Intel 8086

Các chữ viết tắt dùng trong tập lệnh

Giải thích tập lệnh INTEL 8086

Trang 40

Nhóm lệnh chuyển dữ liệu

Nhóm lệnh chuyển dữ liệu

Trang 41

Nhóm lệnh số học

Nhóm lệnh số học

Trang 42

Nhóm lệnh luận lý

Nhóm lệnh luận lý

Trang 43

Cờ DF = 0 : tăng SI hoặc DI sau khi làm xong lệnh

Cờ DF = 1 : giảm SI hoặc DI sau khi làm xong lệnh

Khởi động các thanh ghi DS, SI, ES, DI, CX, AX/AL trước khi dùng lệnh

Trang 44

Nhóm lệnh chuyển điều khiển

Nhóm lệnh chuyển điều khiển

IRET

Trang 45

Jcond shortlabel

Jcond shortlabel

JL/JNGE Nhảy nếu nhỏ hơn/không lớn hơn hoặc bằng SF xor OF = 1

JLE/JNG Nhảy nếu nhỏ hơn hoặc bằng /không lớn hơn SF xor OF or ZF = 1

JB/JNAE/JC Nhảy nếu dưới /không trên hoặc bằng/nhớ CF = 1

JBE/JNA Nhảy nếu dưới hoặc bằng /không trên CF or ZF = 1

JP/JPE Nhảy nếu kiểm tra / kiểm tra chẳn PF = 1

JNL/JGE Nhảy nếu không nhỏ hơn/lớn hơn hoặc bằng SF xor OF = 0

JNLE/JG Nhảy nếu không nhỏ hơn hoặc bằng /lớn hơn SF xor OF or ZF = 0

JNB/JAE/JNC Nhảy nếu không dưới /trên hoặc bằng/không nhớ CF = 0

JNBE/JA Nhảy nếu không dưới hoặc bằng /trên CF or ZF = 0

JNP/JPO Nhảy nếu không kiểm tra / kiểm tra lẻ PF = 0

< N A B E > (số không dấu) < N G L E > (số có dấu)

Trang 47

Mã hóa các byte lệnh

Lệnh MOV (chuyển)

Thanh ghi/bộ nhớ đến/từ thanh ghi

Tức thời đến thanh ghi/bộ nhớ

Tức thời đến thanh ghi

Bộ nhớ đến bộ tích lũy

Bộ tích lũy đến bộ nhớ

Thanh ghi/bộ nhớ đến thanh ghi đoạn

Thanh ghi đoạn đến thanh ghi/bộ nhớ

1 0 0 0 1 0 d w mod reg r/m

1 1 0 0 0 1 1 w mod 0 0 0 r/m dữ liệu dữ liệu nếu w=1

1 0 1 1 w reg dữ liệu dữ liệu nếu w=1

Nếu d = 1 thì "đến"; nếu d = 0 thì "từ"

1 0 1 0 0 0 0 w địa chỉ thấp địa chỉ cao

Nếu w = 1 thì hoạt động 2 byte; nếu w = 0 thì hoạt động 1 byte

1 0 1 0 0 0 1 w địa chỉ thấp địa chỉ cao

1 0 0 0 1 1 1 0 mod 0 reg r/m

1 0 0 0 1 1 0 0 mod 0 reg r/m

Trang 48

Mã hóa các bit của vùng reg

Thanh ghi 16-bit w=1 Thanh ghi 8-bit w=0 Thanh ghi đoạn

Trang 49

Byte lệnh thứ hai

mod reg r/m mod Độ dời

00 DISP = 0 (*), không có độ dời thấp và độ dời cao

01 DISP = độ dời thấp mở rộng dấu đến 16 bit, không có độ dời cao

10 DISP = độ dời cao : độ dời thấp

11 r/m xem như vùng "reg"

DISP là địa chỉ trực tiếp theo sau byte thứ hai của lệnh  trước vùng dữ liệu nếu có

(*) : ngoại lệ mod = 00 và r/m = 110 thì EA = độ dời cao : độ dời thấp

Trang 50

Ví dụ dịch lệnh

1 1 0 0 0 1 1 w mod 0 0 0 r/m địa chỉ thấp địa chỉ cao dữ liệu dữ liệu nếu w=1

1 0 0 0 1 0 d w mod reg r/m độ dời thấp độ dời cao

Ngày đăng: 25/08/2023, 10:52

🧩 Sản phẩm bạn có thể quan tâm

w