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

Slide kỹ thuật vi xử lý

268 104 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

Định dạng
Số trang 268
Dung lượng 9,61 MB

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

Nội dung

Lịch sử phát triển của máy tính Phát minh ra máy tính là một thành tựu vĩ đại trong lịch sử tiến hóa của loài người  Trong những năm đầu của thế kỷ 20 việc chạy đua vũ trang, đối đầu q

Trang 1

KỸ THUẬT VI XỬ LÝ

Microprocesor Technology

KHOA ĐIỆN TỬ ĐẠI HỌC KTKT CÔNG NGHIỆP

Tài liệu tham khảo

 Bài giảng Kỹ thuật Vi xử lý - Đại Học KTKT Công Nghiệp

 Vi xử lý – TG Văn Thế Minh NXB Giáo dục

 The Intel Microprocessor 8086/8088, 80186/80188, 80286, 80386, 80486,

Pentium and Pentium Pro Processor - Architecture, Programming and Interfacing

TG Barry B Brey NXB Prentice – Hall International

 Cẩm nang lập trình hệ thống TG Michael Tischer NXB Giáo dục

 Lập trình hợp ngữ Assembly và máy tính IBM PC Biên dịch Quách tuấn Ngọc

NXB Giáo dục

Trang 2

Nội dung giáo trình

 Chương 1: Giới thiệu chung về vi xử lý và máy tính

 Chương 2: Biểu diễn thông tin trong hệ thống

 Chương 3: Kiến trúc phần mềm của bộ vi xử lý 8088/8086

 Chương 4: Lập trình hợp ngữ trên IBM-PC

Trang 3

1.1 Lịch sử phát triển của máy tính

 Phát minh ra máy tính là một thành tựu vĩ đại trong lịch sử tiến hóa của loài người

 Trong những năm đầu của thế kỷ 20 việc chạy đua vũ trang, đối đầu quân sự là một

nguyên nhân thúc đẩy khoa học kỹ thuật phát triển

 Lịch sử phát triển của máy tính được bắt đầu từ sự phát triển của các thế hệ máy tính

lớn trong những năm 50 của thế kỷ 20 (VD máy tính 4381 của IBM)

 Từ những năm 70 của thế kỷ 20 với sự phát triển của công nghệ bán dẫn đã mở ra

khả năng thu nhỏ vi mạch  thu nhỏ máy tính

 Sự hình thành và phát triển của máy tính cá nhân đi song song với sự hình thành và

phát triển của các loại bộ vi xử lý

5

Lịch sử phát triển của bộ vi xử lý

 Quá trình phát triển của bộ vi xử lý song song với quá trình phát triển

của các hệ thống máy tính

 Có nhiều hãng sản xuất vi xử lý lớn (Intel, motorola, ziglog, )

 Các bộ vi xử lý phải được sản xuất theo một chuẩn thống nhất

Trang 4

Bộ vi xử lý Intel 4004

 Intel bắt đầu phát triển vi xử lý từ năm 1969 theo dự án của nhà sản xuất máy tính

Nhật Busicom

 Kỹ sư Ted Hoff của Intel đã hình thành ý tưởng về một thiết bị logic đa mục đích

hoạt động hiệu quả

 Ngày 15/11/1971, Intel giới thiệu bộ vi xử lý 4004 ra thị trường thế giới với giá 200

Trang 5

Các bộ vi xử lý Intel từ 1978 - 1982

Intel 8086 - 8088 (1978)

 Bộ vi xử lý 8088 đã được trang bị cho chiếc máy tính cá nhân thương mại đầu

tiên IBM PC Thành công này đã đưa Intel vào bảng xếp hạng 500 doanh nghiệp

hàng đầu thế giới của Fortune

Trang 6

 Chip đầu tiên tích hợp sẵn bộ đồng xử lý toán học, hỗ trợ giảm tải các hàm phức tạp

cho vi xử lý trung tâm

 486 DX có tốc độ 25 MHz, 33 MHz và 50 MHz với 1,2 triệu bóng bán dẫn

12

Trang 7

Các bộ vi xử lý Intel khác

Pentium (1993)

 Pentium cho phép máy tính dễ dàng tích hợp những dữ liệu "thế giới thực" như

giọng nói, âm thanh, ký tự viết tay và ảnh đồ họa

 Pentium có tốc độ 60 MHz và 66 MHz với 3,1 triệu bóng bán dẫn

Pentium II (1997)

 Pentium II tích hợp Intel MMX - công nghệ được thiết kế đặc biệt để xử lý dữ liệu

video, audio và đồ họa một cách hiệu quả

 Pentium II có tốc độ 200 MHz, 233 MHz, 266 MHz và 300 MHz với 7,5 triệu bóng

bán dẫn

13

Các bộ vi xử lý Intel khác (tiếp)

Pentium III (1999)

 Pentium III có 70 lệnh xử lý mới giúp tăng cường hiệu suất hoạt động của các ứng

dụng ảnh, 3-D, audio, video và nhận dạng giọng nói

 Pentium III có tốc độ từ 650 MHz đến 1,2 GHz với 9,5 triệu bóng bán dẫn

Pentium IV (2000)

 Pentium IV có tốc độ 1,3 GHz, 1,4 GHz, 1,5 GHz, 1,7 GHz và 1,8 GHz với 42 triệu

bóng bán dẫn

 Tháng 8/2001, Pentium IV đạt mốc 2 GHz Đến tháng 11/2002, chip này được trang

bị công nghệ siêu phân luồng và có tốc độ 3,06 GHz, sau tăng lên 3,2 GHz vào năm

2003 và 3,4 GHz trong tháng 6/2004

Trang 8

Chip lõi kép

 Tháng 4/2005, Intel giới thiệu nền tảng sử dụng bộ vi xử lý lõi kép đầu tiên gồm

chip Pentium Extreme Edition 840, xung nhịp 3,2 GHz, và chipset 955X Express,

kết hợp với công nghệ siêu phân luồng

 Tháng 5/2005, chip Intel Pentium D lõi kép ra đời cùng chipset 945 Express

 Tháng 5/2006, Intel công bố nhãn hiệu Core 2 Duo

 Tháng 7/2006: Intel giới thiệu 10 thiết bị xử lý Intel Core 2 Duo và Core Extreme

 Các bộ vi xử lý Core 2 Duo có 291 triệu bóng bán dẫn

Trang 9

Pentium Overdriver(P24T) 32 4G + 16K Cache

PentiumPro Processor 64 4G + 16K L1 Cache

Pe nt

m 6 6

Pe nt

m 8

P en

m 7 5

Pe nt

m 9 0

P en

m 1 00

P en

m 1 20

Pe nt

m 1 33

Trang 10

Luật moore

 Gordon Moore - Người đồng sáng lậpIntel

 Số transistor trên chip sẽ tăng gấp đôi sau khoảng 18 tháng

 Giá thành của chip hầu như không thay đổi

 Mật độ cao hơn, do vậy đường dẫn ngắn hơn

 Kích thước nhỏ hơn dẫn tới độ phức tạp tăng

 Điện năng tiêu thụ ít hơn

 Hệ thống có ít các chip liên kết với nhau, do đó tăng độ tin cậy

+ Số lệnh thực hiện trong 1 giây

(MIPS- Milions of Instruction Per Second)

+ Khó đánh giá được chính xác

- Tốc độ của bộ xử lý được đánh giá gián tiếp thông qua tần số xung nhịp

(Clock) được mạch ngoài cung cấp cho bộ vi xử lý

Trang 12

Vi xử lý của tương lai

Bộ nhớ (Memory)

ROM-RAM

Phối ghép vào ra

I/O

Output Device Input Device

Inside Register Outside Register

Data Bus

Address Bus Control Bus

Trang 13

CHƯƠNG 2

BIỂU DIỄN THÔNG TIN TRONG HỆ THỐNG

Giảng viên: ThS Giáp Văn Dương

Hệ thập phân (Decimal System)  Con người sử dụng

Hệ nhị phân (Binary System)  Máy tính sử dụng

Hệ mười sáu (Hexa)  Dùng để viết gọn lại một dãy số nhị phân

Trang 15

Chữ số nhị phân gọi là bit (binary digit)

Bit là đơn vị thông tin nhỏ nhất

Dùng n bit có thể biểu diễn được 2n giá trị khác nhau:

Dạng tổng quát của số nhị phân

2

n

i i

Trang 16

Phương pháp 1: Chia dần cho 2 rồi lấy phần dư

Phương pháp 2: Phân tích thành tổng các số 2i nhanh hơn đối với

những số nhỏ và sát cận 2n

Trang 17

Phương pháp chia dần cho 2

Trang 18

Chuyển đổi số lẻ thập phân sang nhị phân

Trang 19

Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)

Trang 20

Quan hệ giữa số nhị phân và số Hexa

2.2.1 Nguyên tắc chung về mã hóa dữ liệu

+ Mọi dữ liệu đưa vào máy tính đều phải được mã hóa thành số nhị phân

+ Các loại dữ liệu:

Dữ liệu nhân tạo: Do con người quy ước

Dữ liệu tự nhiên: Tồn tại khách quan với con người

Trang 21

Mã hoá dữ liệu nhân tạo

41

Dữ liệu số nguyên: mã hóa theo tiêu chuẩn quy ước

Dữ liệu số thực: Mã hóa bằng số dấu phẩy động

Dữ liệu ký tự: Mã hóa theo bộ mã ký tự

Mã hoá và tái tạo tín hiệu vật lý

-Tín hiệu điện liên tục

Bộ tái tạo tín hiệu

Các dữ liệu vật lý thông dụng:

Âm thanhHình ảnh

Trang 22

Độ dài dữ liệu

43

Độ dài từ dữ liệu là số bít được sử dụng để mã hóa loại dữ liệu tương ứng

Thường là bội của 8-bit:

Ví dụ: 8, 16, 32, 64 bit

2.2.2 Thứ tự lưu trữ các byte của dữ liệu

44

Bộ nhớ chính thường được tổ chức theo byte

Độ dài từ dữ liệu có thể chiếm từ 1 đến nhiều byte

 Cần phải biết thứ tự lưu trữ các byte trong bộ nhớ chính với các dữ liệu

Trang 23

Ví dụ lưu trữ dữ liệu 32-bit

0001 1010 0010 1011 0011 1100 0100 1101

1A 2B 3C 4D

4D 3C 2B

1A 300

301 303 302

411 410

412 413

45

Lưu trữ của các bộ xử lý điển hình

 Intel 80x86 và các loại Pentium:

Trang 24

2.2.3 Biểu diễn số nguyên

47

Có hai loại số nguyên:

Số nguyên không dấu (Unsigned Integer)

Số nguyên có dấu (Signed Integer)

2.2.3.1 Biểu diễn số nguyên không dấu

a A

48

Nguyên tắc tổng quát: Dùng n bit biểu diễn số nguyên không dấu A:

Giá trị của A được tính như sau:

Trang 25

Dải biểu diễn số nguyên không dấu

Dải biểu diễn của A: Từ 0 đến 2n- 1

Trang 26

Ví dụ 2: Cho các số nguyên không dấu M, N được biểu diễn bằng thanh ghi

8-bit như sau:

52

Biểu diễn được các giá trị từ 0 đến 255

Trang 27

53

Trục số học máy tính:

Với n = 16 bit, 32 bit, 64 bit

 n = 16 bit: Dải biểu diễn từ 0 đến 65535 (216- 1)

 n = 32 bit: Dải biểu diễn từ 0 đến 232- 1

 n = 64 bit: Dải biểu diễn từ 0 đến 264- 1

Trang 28

2.2.3.2 Biểu diễn số nguyên có dấu

55

Số bù một và số bù hai:

Giả sử A là một số nhị phân, ta có:

Số bù một của A nhận được bằng cách đảo giá trị các bit của A

(Số bù hai của A)= (Số bù một của A) + 1

Do A + (Số bù hai của A) = 0 nên dùng số bù hai để biểu diễn số âm

Biểu diễn số nguyên có dấu bằng mã bù hai

Trang 29

Biểu diễn số nguyên dương

a A

57

Dạng tổng quát của số dương A:

0a n-2 … a 2 a 1 a 0

Giá trị của số dương A:

Dải biểu diễn cho số dương: 0 đến 2n-1 - 1

Biểu diễn số nguyên âm

n

i

i i

n

a A

Dạng tổng quát của số âm A:

1a n-2 … a 2 a 1 a 0

Giá trị của số âm A:

Dải biểu diễn cho số âm: -1 đến -2n-1

N bit

(-2n-1÷2n-1- 1)

Trang 30

Dạng tổng quát của số nguyên có dấu

2 1

Giá trị của số âm A:

Dải biểu diễn: -2n-1÷2n-1- 1

2.2.4 Các phép toán số học với số nguyên

Trang 31

Nguyên tắc thực hiện phép toán với số nguyên

61

Với phép cộng số nguyên không dấu

Nếu không có nhớ ra khỏi bit msb thì kết quả nhận được luôn luôn đúng:

Cout=0

Nếu có nhớ ra khỏi bit cao nhất thì kết quả nhận được là sai: Cout=1 (Hiện

tượng tràn số)

Hiện tượng tràn số xảy ra khi tổng lớn hơn 2n -1

Nếu xuất hiện hiện tượng tràn số thì ta tăng số lượng các bit lên (tăng n) Ví

dụ từ 8 lên 16 bit

Nguyên tắc thực hiện phép toán với số nguyên (tiếp)

Với phép cộng số nguyên có dấu

Biểu diễn số nguyên có dấu dưới dạng mã bù 2 của số không dấu trong

thanh ghi n bit

Thực hiện phép cộng hai số có dấu

Chú ý hiện tượng tràn số

Nếu xuất hiện hiện tượng tràn số thì ta tăng số lượng các bit lên (tăng n) Ví

dụ từ 8 lên 16 bit

Trang 32

2.3 Biểu diễn số thực

63

2.3.1 Biểu diễn số dấu phẩy tĩnh

Sử dụng thanh ghi n bit

Biểu diễn bằng các bit nhị phân

Số dấu phảy động chính tắc là số dấu phảy động mà trong phần định trị đằng

trước dấu phảy là 0, đằng sau dấu phảy là một số có ý nghĩa khác 0

Trang 33

Biểu diễn theo chuẩn IBM 360 (32 bit)

Trang 34

Biểu diễn theo chuẩn IEEE (32 bit)

67

Cơ số ngầm định là 2

Bit 0: S là bit dấu (S=1 Số âm, S=0 Số dương)

Bit 1 đến 8 biểu diễn: Mũ + 128 (không biểu diễn dấu)

Bit 9 đến 31 biểu diễn định trị chính tắc

Do cơ số ngầm định là 2, như vậy ở dạng chính tắc đằng sau dấu phẩy luôn là

1 Do vậy số 1 này ta không biểu diễn mà chỉ biểu diễn các số từ sau số 1 này

Trang 35

2.4 Biểu diễn ký tự

69

Biểu diễn kỹ tự theo mã:

Bộ mã ASCII (American Standard Code For Information Interchange)

Trang 36

 25 Chữ cái thường ‘a’ đến ‘z’ có mã 61Hđến 7AH(97 đến 122)

Các ký tự hiển thị chuẩn (tiếp)

Trang 37

73Bảng mã ASCII

Các ký tự điều khiển 00H đến 1FH

Mã các ký tự điều khiển định dạng (màn hình, máy in )

BS Back Space (Lùi lại một vị trí): Ký tự điều khiển con trỏ lùi lại một vị

trí

HT Horizontal Tab (Tab ngang) : Ký tự điều khiển con trỏ dịch ngang một

khoảng đã định trước

LF Line Feed (Xuống một dòng): Ký tự điều con trỏ xuống một dòng mới

VT Vertical Tab (Tab đứng) : Ký tự điều con trỏ chuyển qua một số dòng

Trang 38

Mã các ký tự điều khiển truyền tin

SOH Start Of Heading (Bắt đầu tiêu đề): Ký tự đánh dấu bắt đầu phần thông báo tiêu đề

STX Start Of Text (Bắt đầu văn bản): Ký tự đánh dấu bắt đầu khối dữ liệu văn bản và cũng chính là

phần thông báo kết thúc tiêu đề

ETX End Of Text (Kết thúc văn bản): Ký tự đánh dấu kết thúc khối dữ liệu văn bản được bắt đầu bằng

STX

EOT End Of Transmission (bắt đầu truyền): Thông báo cho bên thu biết kết thúc truyền tin

ENQ Enquiry (Hỏi): Tín hiệu yêu cầu đáp ứng từ một máy ở xa

ACK Acknowledge (Xác nhận): Ký tự phát ra từ phía thu báo cho phía phát biết dữ liệu đã nhận thành

công

NAK Negative Acknowledge (Báo phủ nhận): Tín hiệu phát ra từ phía thu báo cho phía phát tín hiệu

không nhận được thành công

SYN Synchronous (Đồng bộ): Đồng bộ hóa quá trình truyền và nhận dữ liệu

ETB End Of Transmission Block (Kết thúc khối truyền): Chỉ ra kết thúc khối dữ liệu được truyền

75

Các ký tự điều khiển (tiếp)

Các ký tự điều khiển (tiếp)

Mã các ký tự điều khiển phân cách thông tin

FS File Separator (Ký hiệu phân cách tập tin): Đánh dấu ranh giới giữa

Trang 39

Mã các ký tự điều khiển khác

NUL NULL (Ký tự rỗng): Được sử dụng để truyền khaongr trống khi không có dữ liệu

BEL BELL (Chuông): Phát ra một tiếng chuông

SO Shift Out (Dịch ra): Chỉ ra rằng các mã tiếp theo sẽ nằm ra ngoài ký tự chuẩn cho đến khi gặp

SI

SI Shift In (Dịch vào): Chỉ ra rằng các mã tiếp theo sẽ nằm trong ký tự chuẩn

DLE Data Link Escape (Thoát liên kết dữ liệu): Thông báo sẽ thay đổi ý nghĩa của một hay nhiều

kỹ tự liên tiếp sau đó

DC1D

C4 Device Control (Điều khiển thiết bị): Tín hiệu điều khiển bị phụ trợ

CAN Cancel (Hủy bỏ): Thông báo một số kỹ tự nằm trước nó cần phải bỏ qua

EM End Of Medium (Kết thúc phương tiện) : Chỉ ra ký tự ngay trước nó là ký tự cuối cùng có tác

dụng với phương tiện vật lý

SUB Substitude (Thay thế): Được xác định là sẽ thay thế cho ký tự nào đó bị lỗi

ESC Escape (Thoát): Ký tự dùng để cung cấp mã mở rộng bằng cách kết hợp với các ký tự sau đó

DLE Delete (Xóa): Xóa ký tự không mong muốn 77

Bộ mã ký tự mở rộng của IBM  IBM-PC

Bộ mã ký tự mở rộng của Apple  Macintosh

Có thể thay đổi các ký tự mở rộng để mã hóa cho các ký tự riêng của

tiếng Việt Ví dụ mã TCVN3, BK

Trang 40

 Binary Coded Decimal

 Dùng 4 bit để mã hóa từng chữ số thập phân

Trang 42

Các kiểu lưu trữ số BCD

83

BCD không gói (Unpacked BCD): Mỗi số BCD 4 bit được lưu trữ trong 4 bit

thấp của mỗi byte

Ví dụ: Số 26 được lưu trữ như sau

BCD gói (Packed BCD): Hai số BCD được lưu trữ trong 1 byte

Ví dụ: Số 26 được lưu trữ như sau

Packed BCD & Unpacked BCD

Decimal Packed Unpacked

Trang 43

 Bộ vi xử lý 8086/8088 là một bộ vi xử lý phổ biến một thời của hãng

Intel và được ứng dụng rộng rãi

 Cho đến ngày nay, các bộ vi xử lý hiện đại vẫn có tính kế thừa về phần

cứng và tập lệnh của bộ vi xử lý này

 Kiến trúc khá đơn giản và nguyên gốc

 Có tập lệnh dễ tiếp nhận đối với các sinh viên và người đọc bắt đầu

nghiên cứu về bộ vi xử lý

Trang 44

873.1 Sơ đồ cấu trúc của 8086/8088

3.1 Sơ đồ cấu trúc của 8086/8088 (tiếp)

 CU (Control Unit): Đơn vị điều khiển

 EU (Execution Unit): Đơn vị thừa hành

 BIU (Bus Interface Unit): Khối giao diện bus

 ALU (Arithmetic and Logic Unit): Đơn vị số học và lôgic

 FR (Flag Register): Thanh ghi cờ

88

Trang 45

Hoạt động của vi xử lý

 Ban đầu vi xử lý sẽ hoạt động ở chế độ chờ đợi các lệnh đầu vào

 Khi có lệnh điều khiển ở đầu vào bộ giải mã lệnh sẽ thực hiện giải mã các lệnh

đầu vào để đưa vào bộ đệm lệnh

 Vi xử lý sẽ căn cứ vào mã lệnh đã được giải mã di chuyển con trỏ lệnh đến địa

chỉ của lệnh và thực hiện lệnh

 CU điều khiển các thành phần khác bên trong bộ vi xử lý thực hiện lệnh bao

gồm: Nhận lệnh, giải mã lệnh, nhận địa chỉ toán hạng, nhận dữ liệu, thi hành

lệnh và lưu trữ kết quả

 Một lệnh có thể thực hiện trong một hay nhiều chu kỳ máy

89

Chu trình thi hành lệnh

Tính địa chỉ toán hạng (Calculate Operand Address - COA)

Thực hiện lệnh (Execute Instruction - EI)

 Chu trình lệnh được phân chia theo các công đoạn và được thực hiện gối

lên nhau

 Ví dụ có 6 công đoạn thực hiện lệnh sau:

Trang 46

Biểu đồ thời gian quá trình thi hành lệnh

 Các bộ vi xử lý cổ điển thi hành lệnh theo các chu trình sau

Biểu đồ thời gian của đường ống lệnh (Pipeline)

 Đặc điểm: Trong một chu kỳ máy thực hiện nhiều thao tác khác nhau của quá

trình thi hành các lệnh khác nhau Do vậy tốc độ xử lý tăng lên nhiều lần

Trang 47

Các xung đột của đường ống lệnh

 Xung đột cấu trúc do nhiều công đoạn dùng chung một tài nguyên

 Xung đột dữ liệu : Lệnh sau sử dụng kết quả của lệnh trước

 Xung đột điều khiển : Do rẽ nhánh gây ra

Trang 48

3.2.1 Các thanh ghi của 8088/8086

3.2.1.1 Thanh ghi đa năng

3.2.1.1 Thanh ghi đa năng (tiếp)

 AX(Accumulator): Thanh ghi tích luỹ có nhiệm vụ lưu trữ các dữ liệu,

thông tin chung mà sau khi ALU thực hiện phép toán

 BX(Basic): Lưu trữ các địa chỉ cơ sở của một bảng Bảng này được sử

dụng trong câu lệnh XLAL

 CX(Counter): Cho phép ALU theo dõi các thông tin về vòng lặp, điều

khiển được các vòng lặp

 DX(Data): Thanh ghi dữ liệu chung hỗ trợ cho vi xử lý tăng tốc độ xử lý

96

Trang 49

3.2.2.2 Các thanh ghi con trỏ

BP

IPBIU

97

3.2.2.2 Các thanh ghi con trỏ (tiếp)

 Kết hợp với thanh ghi đoạn để xác định địa chỉ của 1 byte hay một bit nào đó,

trong địa chỉ bộ nhớ 64KB

 IP(Instruction Pointer): Con trỏ lệnh xác định vị trí độ lệch của đoạn mã lệnh

trong bộ nhớ Kết hợp với thanh ghi CS để tạo ra địa chỉ bộ nhớ CS:IP

 SP(Stack Pointer): Thanh ghi con trỏ ngăn xếp dùng để xác định nơi lưu trữ địa

chỉ, dữ liệu cần cho công việc lưu trữ để xử lý sau về sau SP thường xuyên trỏ

vào đỉnh của ngăn xếp Địa chỉ đoạn:Độ lệch cụ thể của dữ liệu tại đỉnh ngăn

xếp là: SS:SP

 BP(Basic Pointer): Luôn trỏ vào một dữ liệu nào đó nằm trong đoạn ngăn xếp,

kết hợp với thanh ghi đoạn SS để xác định ra địa chỉ tuyệt đối của lệnh

Ngày đăng: 19/10/2019, 21:28

TỪ KHÓA LIÊN QUAN

w