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

GIÁO TRÌNH MÔ ĐUN: VI XỬ LÝ NGHỀ: ĐIỆN TỬ CÔNG NGHIỆP TRÌNH ĐỘ: CAO ĐẲNG

188 26 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 188
Dung lượng 3,5 MB

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

Nội dung

MỤC LỤC TRANG TUYÊN BỐ BẢN QUYỀN 1 LỜI GIỚI THIỆU 2 MỤC LỤC 3 Bài 1: TỔNG QUAN VỀ CÁC HỆ VI XỬ LÝ 7 1. Các hệ đếm: 7 1.1. Hệ thập phân (Decimal Number System): 8 1.2. Hệ nhị phân (Binary Number System): 8 1.3. Hệ thập lục phân (Hexadecimal Number System): 10 1.4. Mã BCD (Binary Coded Decimal): 11 1.5. Mã hiển thị Led 7 thanh (7segment display): 11 2. Chuyển đổi lẫn nhau giữa các hệ đếm: 13 2.1. Hệ nhị phân và hệ thập phân: 13 2.2. Hệ nhị phân và hệ hex: 14 3. Mã hóa thông tin: 15 3.1. Mã hóa các thông tin không số: 15 3.2. Xét trường hợp biểu diễn số: 19 3.3. Biểu diễn dữ liệu số trong máy tính: 23 3.4. Biểu diễn vật lý của thông tin trong máy tính: 24 4. Các phép toán số học đối với số hệ nhị phân: 24 4.1. Phép cộng và phép trừ: 24 4.2. Số bù hai: 26 4.3. Phép nhân và phép chia: 28 5. Cấu trúc của hệ vi xử lý và máy vi tính: 36 5.1. Lịch sử phát triển các trung tâm vi xử lý: 36 5.2. Cấu trúc cơ bản của hệ vi xử lý: 39 5.3. Từ hệ Vi xử lý đến máy vi tính PC: 44 Bài 2: CÁC ĐƠN VI VI XỬ LÝ TRUNG TÂM 47 1. Trung tâm vi xử lý P 8085: 48 1.1. Các nhóm tín hiệu trong µ8085: 50 1.2. Khái niệm và bản chất vật lý của các bus trong hệ vi xử lý: 52 1.3.Các mạch 3 trạng thái, mạch chốt và mạch khuyếch đại BUS 2 chiều: 53 1.4. Biểu đồ Timing thực hiện lệnh của CPU µP8085: 57 1.5. Ngắt (lnterrupt): 61 1.6. Truy nhập trực tiếp bộ nhớ (Direct Memory Access DMA): 62 1.7. Vi chương trình (Microprogram) và tập lệnh của µP8085: 63 1.8. Vài nét về lập trình cho 8085: 87 2. Các trung tâm vi xử lý họ 80x86: 90 2.1. Mô tả chân của P 8086 và các tín hiệu: 90 2.2 Cấu trúc Trung tâm Vi xử lý họ 80x86: 92 2.3 Hệ thống thanh ghi trong các µP80x86: 95 2.4. Các chế độ làm việc MINMAX: 100 2.5. Phương thưc quản lý bộ nhớ, các mode địa chỉ: 101 2.6. Phương thức đánh địa chỉ thiết bị ngoại vi: 105 2.7. Các mạch multiplexer, decoder, PLA: 106 2.8. Sơ lược về lập trình hợp ngữ: 108 3. Cấu trúc và tính năng của một số chíp vi xử lý hiện đại: 110 3.1 Cấu trúc chip Vi xử lý Pentium: 142 3.2. Cấu trúc RISC, CISC: 145 3.3 Quản lý bộ nhớ: 148 3.4. Bộ nhớ cache: 149 Bài 3: BỘ NHỚ TRONG CỦA HỆ VI XỬ LÝ 152 1. Bộ nhớ trong hệ vi xử lý: 152 1.1. Phần tử nhớ, vi mạch nhớ, từ nhớ và dung lượng bộ nhớ: 152 1.2. Vài nét về bộ nhớ trong của hệ vi xử lý và máy tính: 154 1.3 Phân loại các chip nhớ ROM, RAM : 158 2. Tổ chức bộ nhớ cho hệ vi xử lý: 160 2.1. Tổ chức bộ nhớ vật lý: 160 2.2. Thiết kế vỉ nhớ cho hệ vi xử lý: 161 Bài 4: THIẾT BỊ VÀO RA CỦA HỆ VI XỬ LÝ 166 1. Bàn phím HEX (keyboard): 166 2. Ghép nối bàn phím với hệ vi xử lý: 172 2.1. Hệ thống bàn phím của máy vi tính: 172 2.2. Quá trình truyền dữ liệu từ bàn phím cho CPU: 174 3. Mạch điều khiển và lập trình chỉ thị 7segment: 176 4. Màn hình (Monitor): 179 4.1 Màn hình ống tia âm cực CRT (Cathode Ray Tube): 179 4.2 Ghép nối màn hình với hệ Vi xử lý: 182 4.3. Bộ điều khiển màn hình CRTC: 183 MÔ ĐUN VI XỬ LÝ Mã mô đun: MĐ 24  Vị trí, tính chất, ý nghĩa và vai trò của mô đun: Vị trí của mô đun: Mô đun được bố trí dạy cuối chương trình sau khi học xong các môn học cơ bản như linh kiện điện tử, đo lường điện tử, kỹ thuật xung số, điện tử công suất.... Tính chất của mô đun: Là mô đun bắt buộc. Ý nghĩa của mô đun: sau khi học xong mô đun Vi xử lý, người học phải biết lập trình một số ứng dụng từ đơn giản đến phức tạp và xử lý được các kết nối máy tính với thiết bị ngoại vi. Vai trò của mô đun: Giáo trình mô đun “Vi xử lý” nhằm cung cấp cho người học những kiến thức về lập trình và giao tiếp với máy tính bằng vi xử lý.  Mục tiêu của mô đun: Về kiến thức: + Trình bày được về hệ đếm và mã hóa trong máy tính, tương tác giữa máy tính và vi xử lý, các bộ vi xử lý intel đang được ứng dụng. + Giải thích được nguyên lý làm việc các hệ điều khiển ứng dụng vi xử lý. Về kỹ năng: + Lập trình hợp ngữ một số bài tập cơ bản một cách thành thạo. + Xử lý được một số dạng kết nối máy tính với vi xử lý và các thiết bị ngoại vi. + Phát triển được các hệ điều khiển trên cơ sở khối trung tâm là vi xử lý. Về thái độ: Rèn luyện tính tỷ mỉ, chính xác và an toàn vệ sinh công nghiệp Mã bài Tên các bài trong mô đun Thời gian Tổng số Lý thuyết Thực Hành Kiểm tra MĐ2401 Tổng quan về các hệ vi xử lý 10 4 5 1 1. Các hệ đếm 2 1,2 0,8 2. Chuyển đổi lẫn nhau giữa các hệ đếm 1 0,5 0,5 3. Mã hóa thông tin 3 1 2 4. Các phép tính trong hệ đếm nhị phân 3 0,8 1,7 0,5 5. Cấu trúc của hệ vi xử lý và máy vi tính 1 0,5 0,5 MĐ2402 Các đơn vi vi xử lý trung tâm 40 10 29 1 1. Trung tâm vi xử lý P 8085 15 4 11 2. Các trung tâm vi xử lý họ 80x86 15 4 11 3. Cấu trúc và tính năng của một số chíp vi xử lý hiện đại 10 2 7 1 MĐ2403 Bộ nhớ trong của hệ vi xử lý 30 6 23 1 1. Bộ nhớ trong hệ vi xử lý 15 3 12 2. Tổ chức bộ nhớ cho hệ vi xử lý 15 3 11 1 MĐ2404 Thiết bị vào ra của hệ vi xử 40 10 28 2 1. Bàn phím HEX (keyboard) 8 2 6 2. Ghép nối bàn phím với hệ vi xử lý 12 4 8 3. Mạch điều khiển và lập trình chỉ thị 7 thanh 8 1,5 5,5 1 4. Màn hình 12 2,5 8,5 1

Trang 1

GIÁO TRÌNH

MÔ ĐUN: VI XỬ LÝ NGHỀ: ĐIỆN TỬ CÔNG NGHIỆP

TRÌNH ĐỘ: CAO ĐẲNG

Ban hành kèm theo Quyết định số:120/QĐ-TCDN ngày 25 tháng 02 năm 2013

của Tổng cục trưởng Tổng cục Dạy nghề

Năm 2013

Trang 2

TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể

được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo vàtham khảo

Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinhdoanh thiếu lành mạnh sẽ bị nghiêm cấm

Trang 3

LỜI GIỚI THIỆU

Để thực hiện biên soạn giáo trình đào tạo nghề Điện tử công nghiệp ởtrình độ Cao Đẳng Nghề và Trung Cấp Nghề, giáo trình Vi xử lý là một trongnhững giáo trình môn học đào tạo chuyên ngành được biên soạn theo nộidung chương trình khung được Bộ Lao động Thương binh Xã hội và Tổngcục Dạy Nghề phê duyệt Nội dung biên soạn ngắn gọn, dễ hiểu, tích hợp kiếnthức và kỹ năng chặt chẽ với nhau, logíc

Khi biên soạn, nhóm biên soạn đã cố gắng cập nhật những kiến thứcmới có liên quan đến nội dung chương trình đào tạo và phù hợp với mục tiêuđào tạo, nội dung lý thuyết và thực hành được biên soạn gắn với nhu cầu thực

tế trong sản xuất đồng thời có tính thực tiễn cao

Nội dung giáo trình được biên soạn với dung lượng thời gian đào tạo

120 giờ gồm có:

Bài 24-01: Tổng quan về các hệ vi xử lý

Bài 24-02: Các đơn vi vi xử lý trung tâm

Bài 24-03: Bộ nhớ trong của hệ vi xử lý

Bài 24-04: Thiết bị vào ra của hệ vi xử

Trong quá trình sử dụng giáo trình, tuỳ theo yêu cầu cũng như khoa học

và công nghệ phát triển có thể điều chỉnh thời gian và bổ sung những kiênthức mới cho phù hợp Trong giáo trình, chúng tôi có đề ra nội dung thực tậpcủa từng bài để người học cũng cố và áp dụng kiến thức phù hợp với kỹ năng.Tuy nhiên, tuy theo điều kiện cơ sở vật chất và trang thiết bị, các trường cóthề sử dụng cho phù hợp

Tuy nhiên, tùy theo điều kiện cơ sở vật chất và trang thiết bị, cáctrường có thề sử dụng cho phù hợp Mặc dù đã cố gắng tổ chức biên soạn đểđáp ứng được mục tiêu đào tạo nhưng không tránh được những khiếm khuyết.Rất mong nhận được đóng góp ý kiến của các thầy, cô giáo, bạn đọc để nhómbiên soạn sẽ hiệu chỉnh hoàn thiện hơn Các ý kiến đóng góp xin gửi vềTrường Cao đẳng nghề Lilama 2, Long Thành Đồng Nai

Đồng Nai, ngày 15 tháng 06 năm 2013 Tham gia biên soạn

1 Chủ biên :TS Lê Văn Hiền

2 Kỹ sư Lê Văn Hùng

3 Kỹ sư Nguyễn Văn Tuấn

Trang 4

MỤC LỤC

TRANG

TUYÊN BỐ BẢN QUYỀN 1

LỜI GIỚI THIỆU 2

MỤC LỤC 3

Bài 1: TỔNG QUAN VỀ CÁC HỆ VI XỬ LÝ 7

1 Các hệ đếm: 7

1.1 Hệ thập phân (Decimal Number System): 8

1.2 Hệ nhị phân (Binary Number System): 8

1.3 Hệ thập lục phân (Hexadecimal Number System): 10

1.4 Mã BCD (Binary Coded Decimal): 11

1.5 Mã hiển thị Led 7 thanh (7-segment display): 11

2 Chuyển đổi lẫn nhau giữa các hệ đếm: 13

2.1 Hệ nhị phân và hệ thập phân: 13

2.2 Hệ nhị phân và hệ hex: 14

3 Mã hóa thông tin: 15

3.1 Mã hóa các thông tin không số: 15

3.2 Xét trường hợp biểu diễn số: 19

3.3 Biểu diễn dữ liệu số trong máy tính: 23

3.4 Biểu diễn vật lý của thông tin trong máy tính: 24

4 Các phép toán số học đối với số hệ nhị phân: 24

4.1 Phép cộng và phép trừ: 24

4.2 Số bù hai: 26

4.3 Phép nhân và phép chia: 28

5 Cấu trúc của hệ vi xử lý và máy vi tính: 36

5.1 Lịch sử phát triển các trung tâm vi xử lý: 36

5.2 Cấu trúc cơ bản của hệ vi xử lý: 39

5.3 Từ hệ Vi xử lý đến máy vi tính PC: 44

Bài 2: CÁC ĐƠN VI VI XỬ LÝ TRUNG TÂM 47

1 Trung tâm vi xử lý P 8085: 48

1.1 Các nhóm tín hiệu trong µ8085: 50

1.2 Khái niệm và bản chất vật lý của các bus trong hệ vi xử lý: 52

1.3.Các mạch 3 trạng thái, mạch chốt và mạch khuyếch đại BUS 2 chiều: 53

1.4 Biểu đồ Timing thực hiện lệnh của CPU µP8085: 57

1.5 Ngắt (lnterrupt): 61

1.6 Truy nhập trực tiếp bộ nhớ (Direct Memory Access - DMA): 62

Trang 5

1.7 Vi chương trình (Microprogram) và tập lệnh của µP8085: 63

1.8 Vài nét về lập trình cho 8085: 87

2 Các trung tâm vi xử lý họ 80x86: 90

2.1 Mô tả chân của P 8086 và các tín hiệu: 90

2.2 Cấu trúc Trung tâm Vi xử lý họ 80x86: 92

2.3 Hệ thống thanh ghi trong các µP80x86: 95

2.4 Các chế độ làm việc MIN/MAX: 100

2.5 Phương thưc quản lý bộ nhớ, các mode địa chỉ: 101

2.6 Phương thức đánh địa chỉ thiết bị ngoại vi: 105

2.7 Các mạch multiplexer, decoder, PLA: 106

2.8 Sơ lược về lập trình hợp ngữ: 108

3 Cấu trúc và tính năng của một số chíp vi xử lý hiện đại: 110

3.1 Cấu trúc chip Vi xử lý Pentium: 142

3.2 Cấu trúc RISC, CISC: 145

3.3 Quản lý bộ nhớ: 148

3.4 Bộ nhớ cache: 149

Bài 3: BỘ NHỚ TRONG CỦA HỆ VI XỬ LÝ 152

1 Bộ nhớ trong hệ vi xử lý: 152

1.1 Phần tử nhớ, vi mạch nhớ, từ nhớ và dung lượng bộ nhớ: 152

1.2 Vài nét về bộ nhớ trong của hệ vi xử lý và máy tính: 154

1.3 Phân loại các chip nhớ ROM, RAM : 158

2 Tổ chức bộ nhớ cho hệ vi xử lý: 160

2.1 Tổ chức bộ nhớ vật lý: 160

2.2 Thiết kế vỉ nhớ cho hệ vi xử lý: 161

Bài 4: THIẾT BỊ VÀO RA CỦA HỆ VI XỬ LÝ 166

1 Bàn phím HEX (keyboard): 166

2 Ghép nối bàn phím với hệ vi xử lý: 172

2.1 Hệ thống bàn phím của máy vi tính: 172

2.2 Quá trình truyền dữ liệu từ bàn phím cho CPU: 174

3 Mạch điều khiển và lập trình chỉ thị 7-segment: 176

4 Màn hình (Monitor): 179

4.1 Màn hình ống tia âm cực CRT (Cathode Ray Tube): 179

4.2 Ghép nối màn hình với hệ Vi xử lý: 182

4.3 Bộ điều khiển màn hình CRTC: 183

Trang 6

MÔ ĐUN VI XỬ LÝ

Mã mô đun: MĐ 24

Vị trí, tính chất, ý nghĩa và vai trò của mô đun:

- Vị trí của mô đun: Mô đun được bố trí dạy cuối chương trình sau

khi học xong các môn học cơ bản như linh kiện điện tử, đo lường điện tử,

kỹ thuật xung - số, điện tử công suất

- Tính chất của mô đun: Là mô đun bắt buộc

- Ý nghĩa của mô đun: sau khi học xong mô đun Vi xử lý, người họcphải biết lập trình một số ứng dụng từ đơn giản đến phức tạp và xử lýđược các kết nối máy tính với thiết bị ngoại vi

- Vai trò của mô đun: Giáo trình mô đun “Vi xử lý” nhằm cung cấpcho người học những kiến thức về lập trình và giao tiếp với máy tính bằng

số

Lý thuyết

Thực Hành

Kiểm tra

Trang 8

BÀI 1 TỔNG QUAN VỀ CÁC HỆ VI XỬ LÝ

Mã bài: MĐ24-01

Giới thiệu

Khoa học kỹ thuật đang ngày càng phát triển rất mạnh mẽ, các côngnghệ mới thuộc các lĩnh vực khác nhau nhờ đó đã ra đời nhằm đáp ứng nhu

cầu của xã hội và kỹ thuật Vi xử lý cũng nằm trong số đó Hiện nay kỹ thuật

Vi xử lý đã được giảng dạy rộng rãi ở các trường Đại học và Cao đẳng trong

cả nước, tuy nhiên lĩnh vực mới này (Vi xử lý) vẫn đang còn rất mới mẻ, và

những ứng dụng của nó vẫn chưa được khai thác triệt để trong các hệ thốngđiều khiển, đo lường và điều chỉnh của các dây chuyền công nghiệp

Mục tiêu:

- Trình bày được một số hệ đếm, và các mã thường dùng trong hệ vi

xử lý

- Tính toán, chuyển đổi được các phép toán nhị phân

- Trình bày được cách biểu diễn thông tin trong các hệ vi xử lý

- Rèn luyện tính tư duy, tác phong trong công nghiệp

1 Các hệ đếm:

Mục tiêu: Trình bày được một số hệ đếm, và các mã thường dùng trong hệ

vi xử lý

Nguyên lý của việc viết số.

- Một số được viết bằng cách đặt kề nhau các ký hiệu, được chọn trong một tập hợp xác định Mỗi ký hiệu trong một số được gọi là số mã (số hạng,

digital)

Ví dụ: Trong hệ thống thập phân (cơ số 10) tập hợp này gồm 10 ký

hiệu rất quen thuộc, đó là các con số từ 0 đến 9:

S10= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

- Khi một số gồm nhiều số mã được viết, giá trị của các số mã tùy

thuộc vị trí của nó trong số đó Giá trị này được gọi là trọng số của số mã.

- Trong triển khai, số mũ của đa thức chỉ vị trí của một ký hiệu trongmột số với quy ước vị trí của hàng đơn vị là 0, các vị trí liên tiếp về phía trái

là 1, 2, 3, Nếu có phần lẻ, vị trí đầu tiên sau dấu phẩy là -1, các vị trí liêntiếp về phía phải là -2, -3, Ta thấy, số 9 đầu tiên (sau số 1) có trọng số là

900 trong khi số 9 thứ hai chỉ là 90

- Với 2 ký hiệu giống nhau trong hệ 10, ký hiệu đứng trước có trọng số

Trang 9

gấp 10 lần ký hiệu đứng ngay sau nó Điều này hoàn toàn đúng cho các hệkhác Ví dụ, đối với hệ nhị phân ( cơ số 2) thì tỉ lệ này là 2.

- Có rất nhiều hệ thống số được sử dụng trong kỹ thuật số, các hệ đếmthông dụng nhất là: hệ thập phân (decimal number system), nhị phân (binarynumber system), thập lục phân (hexadecimal number system)…

1.1 Hệ thập phân (Decimal Number System):

- Đây là hệ đếm mà chúng ta sử dụng hàng ngày Hệ đếm này sử dụngmười chữ số ‘0’ ’9’để biểu diễn các số hệ 10 Chữ số ‘0’ biểu diễn số 0, chữ

số ‘1’ biểu diễn số 1,… Khi đếm đến 10 thì hết số nên phải thêm 1 sang hàngbên trái để thành ‘10’ (mười) rồi lại tiếp tục đếm ‘11’, ‘12’, ‘13’, Một số hệ

10 có giá trị bằng tổng giá trị của từng chữ số nhân với trọng số tương ứngcủa chữ số Trọng số của chữ số thứ i là 10i

Ví dụ: 12345,67 = 1x104+ 2x103 + 3x102 + 4x101 + 5x100 + 6x10-1 + 7x10-2

- Khi làm việc với nhiều hệ đếm các số hệ 10 có thêm chữ D ở cuối đểchỉ ra rằng đó là số hệ 10

Ví dụ: 12,25D

Tổng quát hóa cho hệ đếm cơ số a bất kỳ (a ≥ 2, a ∈ N):

- Sử dụng a chữ số để biểu diễn các số hệ a Chữ số có giá trị nhỏ nhất

là ‘0’, chữ số có giá trị lớn nhất tùy thuộc vào từng hệ đếm nhưng có giá trị làa-1

- Giá trị (lượng) của một số hệ a bằng tổng giá trị của từng chữ số nhânvới trọng số tương ứng của chữ số Trọng số của chứ số thứ i là ai

Ví dụ: Số 5346,72 biểu diễn như sau:

5346,72 = 5.103 + 3.102 + 4.10 + 6 + 7.10-1 + 2.10-2

- Tuy nhiên, trong các mạch điện tử, việc lưu trữ và phân biệt 10mức điện áp khác nhau rất khó khăn nhưng việc phân biệt hai mức điện ápthì lại dễ dàng Do đó, người ta sử dụng hệ nhị phân để biểu diễn các giá trịtrong hệ thống số Trong số thập phân thì:

 Số tận cùng bên trái là số có giá trị lớn nhất MSD ( Most SignificantDigit)

 Số tận cùng bên phải là số có giá trị nhỏ nhất LSD ( LeastSignificant Digit)

1.2 Hệ nhị phân (Binary Number System):

- Hệ nhị phân gồm có 2 chữ số: 0 và 1, ký số nhị phân gọi là bit (binary

digit) Cơ số hệ nhị phân hay gọi là cơ số 2 Một số nhị phân (b i nary digi t )

Trang 10

thường được gọi là bit Một chuỗi gồm 4 bit nhị phân gọi là nibble, chuỗi 8 bit gọi là byte, chuỗi 16 bit gọi là word và chuỗi 32 bit gọi là double

word Bit tận cùng bên trái là bit có giá trị lớn nhất MSB ( Most Significant

bit), bit tận cùng bên phải là bit có giá trị nhỏ nhất LSB ( Least Significant

bit) Một số trong hệ nhị phân được biểu diễn theo số mũ của 2 Ta thường

dùng chữ B cuối chuỗi bit để xác định đó là số nhị phân.

- Các linh kiện điện tử cấu tạo nên máy tính chỉ có hai trạng thái: có điện và không có điện Hai trạng thái này có thể được biểu diễn bằng 1 và

0 Chính vì lý do này mà hệ đếm cơ số 2 là hệ đếm duy nhất được dùng trong máy tính.

- Trong kỹ thuật máy tính, mỗi chữ số nhị phân được gọi là một bit(viết tắt của từ tiếng anh binary digit) Một cụm 4 bit tạo thành một nible,cụm 8 bit tạo thành 1 byte, cụm 16 bit tạo thành 1 từ (word), cụm 32 bittạo thành một từ kép (double word) Bit đầu tiên bên trái trong các số nhịphân gọi là bit có trọng số lớn nhất (Most Significant Bit, MSB), còn bittận cùng bên phải gọi là bit có trọng số nhỏ nhất (Least Significant Bit,LSB) Vị trí của các bit trong nibble, byte, word, double word như sau:

3 0Nibble

Trang 11

MSB dấu phẩy nhị phân LSB

1100,1102 = 1x 23 +1x22 + 0x21 + 0x20 + 1x2-1 + 1x2-2 + 0x2-3

Cách đếm số nhị phân: ta dùng một số nhị phân 4 bit trình bày như bảng sau:

 Với số nhị phân 4 bit nhưtrên có 24 =16 trạng thái khácnhau và số thập phân tương ứnglớn nhất là:24 – 1 =15 Vậy vớimột số nhị phân n bit thì:

+ Số thập phân tương ứng lớnnhất 2n -1

+ Số trạng thái 2n

1.3 Hệ thập lục phân (Hexadecimal Number System):

- Nếu dùng hệ nhị phân thì sẽ cần một số lượng lớn các bit để biểudiễn T rong thực tế để viết kết quả biểu diễn các số cho gọn lại người ta tìm

cách nhóm 4 số hệ hai (1 nibble) thành một số hệ mười sáu Khác với hệ BCD

hệ 16 dùng hết các tổ hợp có thể của 4 bit để biểu diễn các giá trị số Để làmđược điều này người ta sử dụng các chữ số sẵn có của hệ mười (0 9) để biểudiễn các giá trị số ứng với 0 9 và dùng thêm các chữ cái A F để biểu diễncác giá trị còn lại ứng với 10 15 Để phân biệt một số hệ mười sáu với các

số hệ khác ta kèm thêm chữ H ở cuối Ta cũng dễ nhận thấy rằng số mười chỉ

Trang 12

là một bộ phận của hệ mười sáu.

F biểu diễn cho 15

- Khi đếm đến 16 vì không còn chữ số nên phải thêm 1 sang bên trái

để tạo thành ‘10’,… Giá trị của một số hệ 16 bằng tổng các tích giữa giá trịcủa từng chữ số nhân với trọng số của nó Trọng số của chữ số thứ i trongmột số hệ 16 là 16i: S16={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }

Ví dụ 1: Để biểu diễn số 255 ta cần đến 8 bit viết như sau:

255 = 111111112

Ví dụ 2: 2AE4H = 2x163 + Ax162 + Ex161 + 4x160 = 10980D

1.4 Mã BCD (Binary Coded Decimal):

Trong thực tế, đối với một số ứng dụng như đếm tần, đo điện áp, …ngõ ra ở dạng số thập phân, ta dùng mã BCD Mã BCD dùng 4 bit nhị phân

để mã hóa cho một số thập phân 0 9 Như vậy, các số hex A F không tồn tại trong mã BCD Vì tầm quan trọng của các số BCD nên các bộ vi xử lý thường

có các lệnh thao tác với chúng

Ví dụ: Số thập phân 5 2 9

Số BCD 0101 0010 1001

1.5 Mã hiển thị Led 7 thanh (7-segment display):

- Đối với các ứng dụng dùng hiển thị số liệu ra Led 7 đoạn, ta dùng

mã hiển thị Led 7 đoạn (bảng 1.1)

Bảng 1.1: Bảng mã led 7 đoạn

Trang 13

Số thập

phân Số thập lụcphân Số nhị phân

Mã Led 7 đoạn

a b c d e f g Hiển thị0

0000000100100011010001010110011110001001101010111100110111101111

A B C D E F

2 Chuyển đổi lẫn nhau giữa các hệ đếm:

Mục tiêu: Tính toán, chuyển đổi qua lại giữa các hệ đếm.

Trang 14

2.1 Hệ nhị phân và hệ thập phân:

Chuyển số nhị phân thành số thập phân:

Để chuyển một số nhị phân thành một số thập phân, ta chỉ cần nhân cácchữ số của số nhị phân với giá trị thập phân của nó và cộng tất cả các giá trịlại

Ví dụ: 1011.11 = 1x23 + 0x22 + 1x21 + 1x20 + 1x2-1 + 1x2-2 = 11.75

Chuyển số thập phân thành số nhị phân:

Để chuyển một số thập phân thành số nhị phân, ta dùng 2 phương pháp sau:

- Phương pháp 1: Ta lấy số thập phân cần chuyển trừ đi 2i trong đó

2i là số lớn nhất nhỏ hơn hay bằng số thập phân cần chuyển Sau đó, ta lạilấy kết quả này và thực hiện tương tự cho đến 20 thì dừng Trong quá trìnhthực hiện, ta sẽ ghi lại các giá trị 0 hay 1 cho các bit tùy theo trường hợp

số thập phân nhỏ hơn 2i (0) hay lớn hơn 2i (1)

Ví dụ: Xét số 21 thì số 2i lớn nhất là 24

24 23 22 21 20

21= 24 +03 + 22 + 01 + 20 = 16 + 0 + 0 + 4 + 1

- Phương pháp 2: Lấy số cần chuyển chia cho 2, ta nhớ lại số dư

và lấy tiếp thương của kết quả trên chia cho 2 và thực hiện tương tự cho đếnkhi thương cuối cùng bằng 0 Kết quả chuyển đổi sẽ là chuỗi các bit là các

số dư lấy theo thứ tự ngược lại

Trang 15

dừng Kết quả chuyển đổi là chuỗi các bit là giá trị các phần nguyên.

Cách chuyển nhị phân sang hex

Phương pháp: các bit nhị phân được nhóm 4 bit từ LSB, mỗi nhóm 4 bit

được chuyển sang số hex tương ứng (bảng 1.1) Nếu số bit không đủ thì cộngthêm bit 0 vào MSB

Ví Dụ: 11101001102 = 0 0 1 1 1 0 1 0 0 1 1 0 = 3A616

3 A 6

3 Mã hóa thông tin:

Mục tiêu: Hiểu cách mã hóa thông tin trong hệ vi xữ lý.

Khái niệm về mã hóa

Mã hóa thông tin là quy ước về cách biểu diễn thông tin trong máytính Trong máy tính người ta dùng mã nhị phân (số nhị phân) có độ dài (sốbit) cố định để biểu diễn thông tin Với độ dài từ mã là n ta có thể biểu diễnđược 2n trạng thái khác nhau

3.1 Mã hóa các thông tin không số:

3.1.1 Mã hóa chữ và dữ liệu kiểu văn bản:

Đơn vị cơ sở của dữ liệu văn bản là chữ Chữ ở đây được hiểu theo nghĩarộng, không chỉ là các chữ cái Latinh mà kể cả chữ số, các dấu chính tả, cácdấu toán học, các kí hiệu để trình bày Mặt khác không phải dân tộc nào cũngdùng chữ Latinh nên đối với một số dân tộc có thể có những chữ riêng Chúng

ta dùng thuật ngữ ký tự (character) với ý nghĩa là một ký hiệu dùng trong văn

bản

Nếu dùng một vùng nhớ k bit để mã hóa một chữ thì chỉ có thể biểu diễntối đa được 2k ký tự vì chỉ có thể tạo được đúng 2k các mã nhị phân khácnhau Điều này giải thích tại sao người Mỹ chỉ cần 7 bitđể mã hóa cho các

Trang 16

chữ của họ; để có thêm các mặt chữ Châu Âu, chữ Hy Lạp hay người Nhậtphải dùng các mã 16 bit.

Các văn bản được hình dung như một chuỗi ký tự Nội dung một cuốnsách, một bài thơ được đưa vào máy tính là những ví dụ cụ thể về thông tinvăn bản Hầu hết các máy tính và môi trường lập trình hiện nay đều sử dụngmột byte để mã hóa một chữ

Về nguyên tắc có thể mã hóa giá trị sai hay không bởi bit0, giá trị đúnghay không bởi bit1 Tuy nhiên ít khi người ta sử dụng tới mức bitvì cơ chế địachỉ hóa thường ít nhất ở mức byte Khi đó người ta vẫn dùng một byte để mãhóa các giá trị logic

“và”, cộng logic hoặc hay phủ định logic “không”

Về nguyên tắc có thể mã hóa giá trị sai hay không bởi bit0, giá trị đúnghay có bởi bit1 Tuy nhiên ít khi người ta sử dụng tới mức bitvì cơ chế địa chỉhóa thường ít nhất ở mức byte Khi đó người ta vẫn dùng một byte để mã hóacác giá trị logic

3.1.3 Hình ảnh:

Trang 17

Hình 1.1 Ảnh bitmap

Hình ảnh cũng có thể xử lý bằng máy tính Khác với hình ảnh thôngthường, hình ảnh trong máy tính được mã hóa dưới dạng nhị phân Có rấtnhiều kiểu mã hóa ảnh trong đó hai kiểu thông dụng nhất là Ảnh bitmap(nghĩa là bản đồ các bit) thể hiện ảnh như một lưới điểm Như vậy mỗi điểm

sẽ phải nằm trong một hàng và một cột nào đó trong lưới, ngoài ra màu củađiểm cũng được mã hóa

Trang 18

Các ảnh khí tượng do các vệ tinh chụp gửi về, ảnh phong cảnh, chândung đều có thể thể hiện theo kiểu này Ta cũng có thể đưa một ảnh bất kỳvào máy dưới dạng bitmap bằng máy quét ảnh (scanner), máy quay video số(digital video camera) hay máy chụp ảnh số (digita camera) Nói chung dữliệu ảnh này là dữ liệu lớn Vì vậy, người ta thường sử dụng các kỹ thuật nénảnh trước khi đưa vào máy lưu trữ và khôi phục ảnh khi trình bày Có rấtnhiều chuẩn ảnh khác nhau, chủ yếu khác nhau ở cách tổ chức để nén đượcảnh mà vẫn giữ được chất lượng và thể hiện được các hiệu ứng ảnh Còn lúchiển thị để xem thì ảnh sẽ được khôi phục dưới dạng bitmap Ảnh thể hiệntheo từng điểm còn gọi là ảnh raster

Kiểu thứ 2 thể hiện ảnh theo cách vẽ Kiểu này chỉ phù hợp với các ảnh

có thành phần l các điểm rời rạc, các đường hoặc hình thể hiện bằng cácđường biên như bản vẽ kiến trúc các bản vẽ kỹ thuật, bản đồ Cách lưu trữ làlưu thông tin về các thành phần của ảnh Đối với một đoạn thẳng thì chỉ lưutọa độ các đầu mút, đối với một hình tròn thì chỉ lưu tọa độ tâm và bán kính

Vì thế các ảnh này thường gọn gàng và dễ phóng to thu nhỏ (vì chỉ dùng cácphép biến đổi toạ độ) Các ảnh kiểu này gọi là ảnh vector

3.1.4 Âm thanh:

Âm thanh cũng có thể được xử lý bằng máy tính Cũng có nhiều phươngpháp mã hóa âm thanh Cách đơn giản nhất là mã hóa bằng cách xấp xỉ daođộng sóng âm bằng một chuỗi các byte thể hiện biên độ dao dộng tương ứngtheo từng khoảng thời gian bằng nhau Dĩ nhiên các đơn vị thời gian này cầnphải đủ nhỏ để không làm nghèo âm thanh Đơn vị thời gian này gọi là chu kỳlấy mẫu Hình vẽ dưới đây minh hoạ cách lưu trữ xấp xỉ sóng âm, theo đó sẽlưu lại dãy các giá trị sau (xem hình 1.2)

Trang 19

Hình 1.2 Số hóa âm thanh

- Khi phát, một mạch điện sẽ khôi phục lại sóng âm với một sai lệchchấp nhận được

- Một cách khác là phân tích dao động âm thanh thành tổng các daođộng điều hòa (các dao động hình sin với tần số và biên độ khác nhau) và chỉlưu lại các đặc trưng về tần số và biên độ

- Còn có nhiều cách mã hóa âm thanh dựa theo những nguyên lý nén dữliệu rất hiệu quả Việc số hóa âm thanh cũng được thực hiện nhờ các thiết bịchuyên dụng Xử lý âm thanh trên máy tính gồm những việc sau:

+ Thu và mã hóa âm thanh

+ Biên tập (sửa chữa, ghép, cắt)

+ Phân tích (tìm các đặc trưng để nhận dạng tiếng nói) Một số máytính đã có thể nghe được các lệnh đơn giản Các máy điện thoại di động hiệnnay đã có khả năng nhận dạng tiếng nói

+ Tổng hợp tiếng nói Ở mức độ đơn giản máy tính có thể đọc văn bản

Trang 20

thành lời

3.2 Xét trường hợp biểu diễn số:

- Nếu dùng 1 byte (8 bit) để biểu diễn các số nguyên không dấu (số tựnhiên) thì ta có thể biểu diễn được 2n = 28 = 256 số từ 0 đến 255

biểu diễn dấu là bit MSB MSB = 1 cho số âm, MSB = 0 cho số dương.

Khi MSB = 0 thì ta có số dương lớn nhất là 0111 1111 = 127 Khi MSB = 1

ta có số âm, số âm có nhiều cách biểu diễn nhưng hay dùng nhất là kiểu số

bù hai Với kiểu số bù hai số âm nhỏ nhất là 1000 0000 = -128 (ta sẽ nóicách tìm số -128 sau)

Cách tìm số bù hai biểu diễn một số âm như sau:

- Đổi trị tuyệt đối của số âm ra mã nhị phân (với độ dài từ mã cố định,

ví dụ 8, 16, 32)

- Tìm số bù một của số nhị phân bằng cách đảo các bit: 0 thành 1, 1thành 0

- Cộng số bù một với 1 ta sẽ được số bù hai

Ví dụ: Biểu diễn số -128 trong dạng số bù hai 8 bit

12810 = 1000 00002 Bù một = 0111 1111

+ 1

Bù hai = 1000 0000

Ngược lại, từ một số nhị phân hãy tìm số nguyên mà nó biểu diễn (giả

sử số nhị phân biểu diễn số nguyên có dấu) Khi đó ta làm như sau:

- Xét bit MSB Nếu MSB = 0 thì chỉ cần đổi số nhị phân sang hệmười Nếu MSB = 1 thì chuyển sang bước tiếp theo

- Tìm số bù một

- Lấy số bù một cộng với 1 để được số bù hai

- Đổi số nhị phân bù hai sang hệ mười

Trang 21

Ví dụ: Cho số nhị phân 1101 1001, số này biểu diễn một số nguyên

có dấu, hãy tìm số nguyên đó

Bit MSB = 1 => Số biểu diễn là số âm

- Các từ mã trong bảng mã ASCII có độ dài 1 byte (8 bit) Bảng mãASCII được chia thành 2 nửa: nửa đầu có mã từ 0 đến 127 gọi là bảng mãASCII tiêu chuẩn, nửa sau có mã từ 128 đến 255 gọi là bảng mã ASCII

mở rộng Hầu hết các nước trên thế giới có bảng mã ASCII tiêu chuẩngiống nhau Bảng mã ASCII mở rộng thường khác nhau và dùng để chứa

bộ ký tự của riêng từng nước

- Trong bảng mã ASCII tiêu chuẩn người ta chỉ dùng hết 7 bit (từ bit

0 đến bit 6) để mã hóa các ký tự, còn 1 bit MSB có thể cho liên tục bằng 0,hoặc bằng 1, hoặc có thể dùng để chứa bit parity phục vụ việc phát hiện lỗikhi truyền

Khi xem xét bảng mã ASCII tiêu chuẩn ta có thể rút ra mấy nhận xétsau:

 Hai cột đầu (cột 0 và cột 1) của bảng mã dùng cho các ký tự điềukhiển

 Các ký tự số nằm ở cột 3 Mã của ký tự ‘0’ là 30H, của ký tự ‘9’ là39H Giữa giá trị số và mã ASCII của số đó có khoảng cách là 30H

 Các chữ cái hoa nằm ở cột 4 và 5, các chữ cái thường nằm ở cột 6

và 7 Khoảng cách giữa chữ thường và chữ hoa cùng tên là 20H

Bảng 1.2 BẢNG MÃ ASCII TIÊU CHUẨN

Trang 22

@ 64

P 80

` 96

p 112 1

1 49

A 65

Q 81

a 97

q 113 2

B 66

R 82

b 98

r 114 3

3 51

C 67

S 83

c 99

s 115 4

4 52

D 68

T 84

d 10

t 116 5

5 53

E 69

U 85

e 10

u 117 6

F 70

V 86

f 10

v 118 7

7 55

G 71

W 87

g 10

w 119 8

8 56

H 72

X 88

h 10

x 120 9

9 57

I 73

Y 89

i 10

y 121 A

: 58

J 74

Z 90

j 10

z 122 B

; 59

K 75

[ 91

k 10

{ 123 C

<

60

L 76

\ 92

l 10

| 124 D

-= 61

M 77

] 93

m 10

} 125 E

>

62

N 78

^ 94

n 11

~ 126 F

? 63

O 79

_ 95

o 11

<DEL> 127

3.2.2 Quan hệ giữa mã ASCII và số BCD:

Khi lưu trữ, hiển thị hoặc truyền giữa các thiết bị các giá trị số 0 9

Trang 23

thực chất ta làm việc với mã ASCII của các số đó, tức là các số 30H 39H Ta thấy trong một byte biểu diễn các giá trị số 0 9 có 4 bit thấpứng với mã BCD của chính số đó, còn 4 bit cao luôn luôn là mã BCD của

số 3 Nếu ta thay 4 bit cao trong mã ASCII của một số bằng 0000B thì tathu được số BCD không gói của số đó

3.3 Biểu diễn dữ liệu số trong máy tính:

Dữ liệu để đạt được hiệu quả cao khi xử lý, lưu trữ và truyền thông tinđiều cần thiết là phải tìm cách tổ chức và biểu diễn (thể hiện) thông tintrong máy tính điện tử một cách hợp lý Như đã biết, dữ liệu là hình thứcbiểu diễn thông tin Vậy đối với máy tính dữ liệu chính là các thông tin đãđược mã hóa dưới dạng nhị phân Dữ liệu - thông tin được máy tính xử lý

có thể có các dạng khác nhau

Hình 1.3 Phân loại các dạng dữ liệu cơ bản.

Máy tính có thể tính toán trên các số, có thể xử lý thông tin chữ haythông tin logic, có thể xử lý những thông tin đa phương tiện (multimedia)

Trang 24

như âm thanh và hình ảnh Máy tính còn có thể xử lý tri thức (knowledge) Thông tin về một đối tượng có thể rất phức tạp và có thể được thể hiệnbằng nhiều dữ liệu có kiểu khác nhau Ví dụ thông tin về một cán bộ có thể

có tên, nơi sinh là văn bản; ngày sinh, lương là số; ảnh chân dung là ảnh

Để lưu trữ trong máy tính điện tử cả dữ liệu số, phi số và tri thức đềuđược mã hóa bằng các mã nhị phân Theo nghĩa đó mọi dữ liệu dù là bảnchất có khác nhau nhưng đều được số hóa

Sự phân biệt theo sơ đồ trên nặng về ý nghĩa sử dụng hơn là cách biểudiễn Dưới đây ta sẽ trình bày chi tiết hơn các lớp dữ liệu Trong trường hợpbiểu diễn thông tin không quá phức tạp ta sẽ trình bày một chút về cách biểudiễn

3.4 Biểu diễn vật lý của thông tin trong máy tính:

Đối với bộ nhớ trong, các thông tin sau khi mã hóa dưới dạng nhị phânđược đưa vào bộ nhớ theo quy ước Mỗi ngăn của ô nhớ sẽ lưu giữ một tronghai trạng thái được quy ước là một trong hai bit 0 hoặc 1

Nếu dùng chiều của từ thông để mã hóa thì không thể phân biệt đượccác bitgiống nhau đứng liền nhau Thông thường các bitđược ghi theo kiểuđiều tần Các bit được thể hiện qua các kiểu biến thiên của từ trường chứkhông phải chiều của từ thông một vùng nhiễm từ trên đĩa Thực ra cách ghitrên đĩa từ khá phức tạp vì người ta không những chỉ ghi dữ liệu mà còn cócác thông tin về địa chỉ và các thông tin đồng bộ giúp cho việc đọc thông tinđược chính xác

4 Các phép toán số học đối với số hệ nhị phân:

Mục tiêu: Tính toán, chuyển đổi được các phép toán nhị phân.

Trang 25

S = A ⊕ B ⊕ BIN

BOUT = AB + (A ⊕ B)

Trang 26

dùng nhất là dùng cách mã hóa kiểu số bù hai.

Bảng 1.4 chỉ ra cách tạo ra các số hệ hai có dấu và số bù hai trong sựtương quan với số hệ hai

Bảng 1.4 Biểu diễn các số theo hệ hai, hệ hai có dấu và mã bù hai.

Số 8 bit số hệ mười số hệ mười theo số hệmười tính

hệ hai tương đương mã hệ hai có dấu theo mã

bù hai

0000 0000 0 + 0 + 0

0000 0001 1 + 1 + 1

0000 0010 2 + 2 + 2

Trang 27

1111 1101 125 -125 - 3

1111 1110 126 -126 - 2

1111 1111 255 -127 - 1

Quan sát kỹ bảng này chúng ta có thể rút ra các nhận xét sau:

- Nếu ta dùng 8 bit để biểu diễn số thì ta thu được 256 tổ hợp có giá trị từ

0 đến 255 (tương ứng 00 FF H), tức là chỉ biểu diễn được số dương

- Với tổ hợp trên nếu ta muốn biểu diễn số có dấu theo kiểu dấu và độlớn (sign and magnitude) ta phải mất 1 bit để dành cho dấu và 7 bit còn lại đểđịnh giá trị Với cách làm này ta có khả năng biểu diễn cả số âm và số dươngnằm trong khoảng -127 -0, +0 +127 (chú ý 2 giá trị 0 khác nhau)

- Số bù hai được tạo ra theo cách gần giống như kiếu dấu và độ lớnnhưng nó dùng cả 8 bit để biểu diễn giá trị của số được mã hóa Mã bù hai dài

8 bit có khả năng biểu diễn các số âm và dương trong khoảng -128 0 +127.Một số dương có mã bù hai giống như hệ mã hai thông thường

- Một số biểu diễn theo hệ hai sẽ có các giá trị khác nhau nếu hiểu đó là

mã để biểu diễn số theo kiểu hệ hai có dấu hoặc kiểu số bù hai Nói khác đi,một cụm các số 0 và 1 sẽ được cảm nhận khác nhau khi nó biểu diễn giá trị sốtheo các mã khác nhau Cho dù có được biểu diễn bằng số hệ hai có dấu hay

số bù hai thì các số âm đều có bit b7 = 1, còn các số dương có bit b7 = 0

- Bây giờ ta nói cụ thể cách tính số bù hai của một số nào đó Về mặttoán học thì số bù hai của một số chính là số đối của nó Như vậy một sốdương sẽ có số bù hai là một số âm cùng giá trị tuyệt đối và ngược lại

Quy tắc: Muốn tìm số bù hai của một số A ta làm theo các bước sau:

 Biểu diễn số A theo mã bù hai của nó

 Tìm số bù một (bù logic) của số đó (bằng cách đảo bit)

 Cộng 1 vào số bù một ở trên để nhận được số bù hai của số A

Ghi chú: Khi có một số âm được biểu diễn theo mã bù hai nếu muốn tính giá

trị tuyệt đối của nó ta cũng áp dụng quy tắc này (áp dụng bước 2 và bước 3).

- 88 - 0101 1000 →+ 1010 1000

Số 88 = 0101 1000 → số bù 1 là 1010 0111 → số bù 2: 1010 1000

Trang 28

Kết quả phép cộng số bù 2 là 1111 0101 có MSB = 1 nên là số âm Số

bù 1 là 0000 1010 → số bù 2: 0000 1011 Kết quả này chính là 11 nên phéptrừ sẽ cho kết quả là –11

Ta thấy, để thực hiện chuyển số bù 2 thành số có dấu thì cần thực hiện:

Ví dụ 3: 12 - 13 = ?

12 0000 1100(-13) 1111 0011tổng 1111 1111 (tức -1)Đây là một số âm (bit b7=1) với giá trị tuyệt đối là 1 (tra theo bảng1.4) Mặt khác ta cũng có thể tìm được giá trị tuyệt đối của kết quả bằng cáchtìm số bù hai của nó:

Mã bù hai của kết quả trên 1111 1111

Số bù 1 của kết quả trên 0000 0000

Cộng - để tìm giá trị tuyệt đối 0000 0001

4.3 Phép nhân và phép chia:

4.3.1 Phép nhân:

Phép nhân các số nhị phân cũng tương tự như đối với các số thậpphân Chú ý rằng đối với phép nhân nếu nhân 2 số 4 bit sẽ có kết quả là số 8bit, 2 số 8 bit sẽ có kết quả là số 16 bit, …

 Cần lưu ý:

0 x 0 = 0 ; 0 x 1 = 0 ; 1 x 1 = 1

Trang 29

Đối với máy tính, phép nhân được thực hiện bằng phương p hápcộng và dịch phải (add-and-right-shift):

- Thành phần đầu tiên của tổng sẽ chính là số bị nhân nếu như LSBcủa số nhân là 1 Ngược lại, nếu LSB của số nhân bằng 0 thì thành phầnnày bằng 0

- Mỗi thành phần thứ i kế tiếp sẽ được tính tương tự với điều kiện làphải dịch trái số bị nhân i bit

- Kết quả cần tìm chính là tổng các thành phần nói trên

4.3.2 Phép chia:

Phép chia các số nhị phân cũng tương tự như đối với các số thập phân.Tương tự như đối với phép nhân, ta có thể dùng phép trừ và phép dịch tráicho đến khi không thể thực hiện phép trừ được nữa Tuy nhiên, để thuận tiệncho tính toán, thay vì dùng phép trừ đối với số chia, ta sẽ thực hiện phépcộng đối với số bù 2 của số chia

+ Đổi số chia ra số bù 2 của nó

+ Lấy số bị chia cộng với số bù 2 của số chia

+ Nếu kết quả này có bit dấu = 0 thì bit tương ứng của thương = 1.+ Nếu kết quả này có bit dấu = 1 thì bit tương ứng của thương = 0 và

Trang 30

ta phải khôi phục lại giá trị của số bị chia bằng cách cộng kết quả này với số chia.

- Dịch trái kết quả thu được và thực hiện tiếp tục như trên cho đến khi kết quả là 0 hay nhỏ hơn số chia

4.3.3 Sơ lược các phép toán logic:

4.3.3.1 Sơ lược các cổng đệm (buffer) và các cổng logic (logic gate):

Hình 1.4 Cổng đệm và các cổng Logic

4.3.3.2 Thiết bị logic lập trình được:

Trang 31

Thay vì sử dụng các cổng logic rời rạc, ta có thể dùng các thiết bị logiclập trình được (programmable logic device) như PLA (Programmable LogicArray), PAL (Programmable Array Logic) hay PROM (Programmable ReadOnly Memory) để liên kết các thiết bị LSI (Large Scale Intergration).

PLA (hay FPLA – Field PLA):

Dùng ma trận cổng AND và OR để lập trình bằng cách phá huỷ các cầuchì FPLA rất linh động nhưng lại khó lập trình

Trang 32

Hình 1.7 Sơ đồ PROM

Chốt (latch): Chốt là thiết bị số lưu trữ lại giá trị số tại ngõ ra của nó

Hình 1.8 Chốt (Latch)

Flipflop:

Trang 33

Hình 1.9 Flipflop

CLR: clear; PR: Preset; CLK: Clock

- Nếu xuất hiện cạnh lên của tín hiệu CLK thì ngõ ra Q sẽ cógiá trị theo dữ liệu tại D

Hình 1.10 Thanh ghi

Thanh ghi dịch.

Trong trường hợp các flipflop được kết nối nối tiếp với nhau, ta sẽ có

Trang 34

thanh ghi dịch (shift register).

Hình 1.11 Thanh ghi dịch

Bộ đếm nhị phân 4 bit:

Hình 1.12 Sơ đồ giản lược

Trang 35

Khối số học-logic (ALU)

Hình 1.13 Khối số học

Các phép AND, OR và XOR đơn giản

Trang 36

5 Cấu trúc của hệ vi xử lý và máy vi tính:

Mục tiêu:biết được lịch sử phát triển của các trung tâm vi sử lý

5.1 Lịch sử phát triển các trung tâm vi xử lý:

- Bộ vi xử lý là thành phần rất cơ bản không thể thiếu được để tạo nênmáy vi tính và các hệ vi xử lý Trước khi tìm hiểu cấu trúc của một hệ vi xử

lý ta lướt qua về lịch sử phát triển của các bộ vi xử lý

- Vi xử lý được chế tạo từ các tranzito tích hợp trên một vi mạch tíchhợp đơn Xuất hiện lần đầu tiên vào những năm đầu của thập kỷ 70 của thế kỷ

20 Sử dụng mã BCD trên nền 4 bit Các vi xử lý 4 bit và 8 bit được sử dụngtrong các thiết bị đầu cuối, máy in, các hệ thống tự động Đến giữa nhữngnăm 1970 thì lần đầu tiên các vi xử lý 8 bit với 16 bit địa chỉ được sử dụngnhư máy tính đa mục đích

- Các hãng sản xuất vi xử lý đầu tiên ở thời điểm này là Intel, TexasInstruments và Garrett AiResearch với ba dịng chip tương ứng: Intel 4004,TMS 1000 và Central Air Data Computer Đây là những vi xử lý 4 bit

- Sau sự ra đời của các vi xử lý 4 bit thì các hãng cho ra đời các dịng 8bit, 12 bit, 16 bit, 32 bit, 64 bit

5.1.1 Thế hệ 1 (1971 - 1973):

Năm 1971, hãng Intel đã cho ra đời bộ vi xử lý đầu tiên là 4004 (4 bit

số liệu, 12 bit địa chỉ) Sau đó Intel và các hãng khác lần lượt cho ra đờicác bộ vi xử lý khác: 4040 (4 bit) và 8008 (8 bit) của Intel,PPS-4 (4 bit) củaRockwell International,IPM-16 (16 bit) của NationalSemiconductor

Đặc điểm chung của các bộ vi xử lý thế hệ này là:

+ Độ dài từ thường là 4 bit (có thể dài hơn)

+ Công nghệ chế tạo PMOS có mật độ tích hợp nhỏ

Các bộ vi xử lý đại diện cho thế hệ này là các bộ vi xử lý 8 bit 8080

và 8085 của Intel, 6800 và 6809 của Motorola và Z80 của Zilog

Đặc điểm:

+ Độ dài từ là 8 bit, đồng thời tập lệnh phong phú hơn thế hệ trước.+ Công nghệ chế tạo: NMOS (có mật độ tích hợp cao hơn PMOS)hoặc CMOS

Trang 37

+ Tốc độ thực hiện lệnh: 1-8 μs/s/lệnh với tần số đồng hồ fclk = 1-5MHz.

5.1.3 Thế hệ 3 (1978 - 1982):

Các bộ vi xử lý đại diện cho thế hệ này là các bộ vi xử lý 16 bit 8086,

80186, 80286 của Intel, 68000 và 68010 của Motorola

 Tập lệnh đa dạng với các lệnh nhân, lệnh chia và các lệnh thao tácvới chuỗi ký tự

5.1.4 Thế hệ 4 (1983):

- Các bộ vi xử lý đại diện cho thế hệ này là các bộ vi xử lý 32 bit

80386, 80486 và 64 bit Pentium của Intel, các bộ vi xử lý 32 bit 68020,

68030, 68040, 68060 của Motorola

- Đặc điểm của các bộ vi xử lý thế hệ này là bus địa chỉ đều là 32 bit(có khả năng đánh địa chỉ cho bộ nhớ tới 4 GB) và có khả năng làm việcvới bộ nhớ ảo Người ta cũng áp dụng các cơ chế hoặc các cấu trúc đã được

sử dụng trong các máy tính lớn vào các bộ vi xử lý: cơ chế xử lý xen kẽliên tục dạng mã lệnh (pipeline), bộ nhớ cache (bộ nhớ ẩn), bộ nhớ ảo Các

bộ vi xử lý thế hệ này đều có bộ quản lý bộ nhớ (MMU) và nhiều khi cả bộđồng xử lý toán học ở bên trong Phần lớn các bộ vi xử lý thế hệ này đềusản xuất bằng công nghệ HCMOS

- Bên cạnh các bộ vi xử lý vạn năng truyền thống thường được sửdụng để xây dựng các máy tính với tập lệnh đầy đủ (Complex InstructionSet Computer, CISC) mà chúng ta đã nói ở trên, trong thời gian này cũng đãxuất hiện các bộ vi xử lý cải tiến dùng để xây dựng các máy tính với tậplệnh rút gọn (Reduced Instruction Set Computer, RISC) với nhiều tínhnăng có thể so sánh với các máy tính lớn ở thế hệ trước Đó là các bộ vi xử

lý Alpha của hãng Digital, PowerPC của ba hãng Apple-Motorola-IBM

Dưới đây là một số thông số chính của các bộ vi xử lý Intel

Trang 38

Các bộ vi xử lý 16 bit của Intel

Trang 39

Số tranzitor 275.000 275.000 1,2 triệu 1,18 triệu 1,2 triệu 3,1 triệu

Bộ nhớ Cache Bên

ngoài, do

82385 đ.khiển

Bên ngoài, do82385 đ.khiển

Bus địa chỉ 32 bit 24 bit 32 bit 32 bit 32 bit 32

80387SX bên trong 80487SX bên trong bên trong

5.2 Cấu trúc cơ bản của hệ vi xử lý:

5.2.1.Cấu trúc của một vi xử lý co bản:

Một vi xử lý về cơ bản gồm có 3 khối chức năng: đơn vị thực thi(Execution), bộ điều khiển tuần tự (Sequencer) và bus giao tiếp

- Đơn vị thực thi: Xử lý các lệnh số học và logic Các toán hạng liên

quan có mặt ở các thanh ghi dữ liệu hoặc địa chỉ hoặc từ bus nội

Trang 40

- Bộ điều khiển tuần tự: Bao gồm bộ giải mã lệnh (Intrustruction

Decoder) và bộ đếm chương trình (Program Counter)

+ Bộ đếm chương trình gọi các lệnh chương trình tuần tự

+ Bộ giải mã lệnh thì khởi động các bước cần thiết để thực hiện lệnh

Bộ điều khiển tuần tự tạo thành một hệ thống logic tuần tự mà cách thức hoạtđộng của nó được chứa trong ROM Nội dung chứa trong ROM được gọi là vichương trình Các lệnh bên ngoài trong trường hợp này xác định các địa chỉvào vi chương trình Khi chương trình bắt đầu thực hiện thì bộ đếm chươngtrình PC được đặt ở địa chỉ bắt đầu, thường là địa chỉ 0000H (với xi xử lý 8bit) Địa chỉ này được chuyển đến bộ nhớ thông qua bus địa chỉ (AddressBus) Khi tín hiệu Read được đưa vào ở bus địa chỉ nội dung của bộ nhớ liênquan xuất hiện trên bus dữ liệu (data bus) và sẽ được chứa ở bộ giải mã lệnh(Instruction Decoder) Sau khi khởi động một số bước cần thiết để thực thilệnh nhờ một số chu kỳ máy và khi lệnh đã thực thi, thì bộ giải mã lệnh làmcho bộ đếm chương trình chỉ đến địa chỉ của lệnh kế

Hình 1.14 Sơ đồ khối một máy tính cổ điển

Để tạo thành một hệ vi xử lý hoàn chỉnh, bộ vi xử lý cần phải kết hợpvới các bộ phận điện tử khác như bộ nhớ và các bộ phối ghép vào/ra Cần lưu

ý rằng máy vi tính chỉ là một trong những ứng dụng cụ thể của hệ vi xử lý.Dưới đây là sơ đồ khối tổng quát của một hệ vi xử lý

Trong sơ đồ này ta thấy các khối chức năng chính của hệ vi xử lý gồm

Ngày đăng: 06/08/2021, 15:23

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w