1. Trang chủ
  2. » Giáo án - Bài giảng

Kiến trúc máy tính

128 332 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 128
Dung lượng 3,59 MB

Nội dung

- Hiểu được mô hình máy tính tiêu chuẩn Von Neumann 1.1 KHÁI NIỆM Kiến trúc máy tính là môn học nhằm cung cấp kiến thức về cấu tạo bên trong của máy tính CPU, bộ nhớ…, các thành phần n

Trang 1

www.hutech.edu.vn

ĐẠI HỌC CÔNG NGHỆ TP.HCM

Biên Soạn:

TS Nguyễn Văn Mùi

ThS Cao Trần Bảo Thương

Trang 2

KIẾN TRÚC MÁY TÍNH

Ấn bản 2014

Trang 3

MỤC LỤC

MỤC LỤC I HƯỚNG DẪN IV

BÀI 1: TỔNG QUAN 1

1.1 KHÁI NIỆM 1

1.2 CHỨC NĂNG, CẤU TRÚC 1

1.3 LỊCH SỬ PHÁT TRIỂN 2

1.4 KIẾN TRÚC VON-NEUMANN 9

TÓM TẮT 12

CÂU HỎI VÀ BÀI TẬP 12

BÀI 2: BIỂU DIỄN THÔNG TIN TRÊN MÁY TÍNH 13

2.1 KHÁI NIỆM HỆ THỐNG SỐ 13

2.2 HỆ THỐNG SỐ ĐẾM 15

2.2.1 Hệ thập phân (Decimal system) 15

2.2.2 Hệ nhị phân (Binary system) 16

2.2.3 Hệ bát phân (Octal Number System) 18

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

2.3 CÁCH CHUYỂN ĐỔI 19

2.4 SỐ ÂM 22

2.4.1 Dấu lượng 23

2.4.2 Bù 1 24

2.4.3 Bù 2 24

2.4.4 Cách biểu diễn số thừa K 25

2.5 DẤU CHẤM TĨNH 26

2.6 DẤU CHẤM ĐỘNG 27

2.7 KHOẢNG GIÁ TRỊ BIỂU DIỄN 29

2.8 CÁC PHÉP TOÁN TRÊN NHỊ PHÂN 30

2.8.1 Phép cộng, trừ 30

2.8.2 Phép nhân, chia 31

2.9 CÁC MÃ KHÁC 31

TÓM TẮT 33

CÂU HỎI VÀ BÀI TẬP 34

BÀI 3: ĐẠI SỐ BOOLE VÀ MẠCH SỐ 36

3.1 GIỚI THIỆU 36

3.1.1 Đại số Boole và các cổng logic 36

3.1.2 Quy trình chế tạo 38

3.1.3 Biểu thức logic 39

3.2 RÚT GỌN BIỂU THỨC LOGIC 40

Trang 4

3.2.1 Giản đồ Karnaugh 41

3.2.2 Quine McCluskey 43

3.3 MẠCH TÍNH TOÁN SỐ HỌC 44

3.3.1 Mạch cộng/trừ 44

3.3.2 Mạch nhân 47

3.4 MẠCH SO SÁNH, ĐA HỢP/GIẢI ĐA HỢP 48

3.4.1 Mạch so sánh 48

3.4.2 Mạch đa hợp/giải đa hợp 49

3.5 ALU (ARITHMETIC LOGIC UNIT) 50

TÓM TẮT 51

CÂU HỎI VÀ BÀI TẬP 51

BÀI 4: BỘ VI XỬ LÝ 54

4.1 BỘ VI XỬ LÝ - CPU 54

4.1.1 Tốc độ của bộ vi xử lý 55

4.1.2 Bộ xử lý luận lý số học - ALU 57

4.1.3 Bộ điều khiển - CU 57

4.1.4 Thanh ghi - Register 58

4.1.5 Lịch sử 58

4.2 GIAO TIẾP GIỮA CPU VÀ NGOẠI VI 60

4.2.1 Phân loại bus 60

4.2.2 Chu kỳ bus 61

4.2.3 Mô hình tổng quát 63

4.3 CẤU TRÚC CỦA VI XỬ LÝ 8088/ 8086 64

4.3.1 Sơ đồ khối 64

4.3.2 Bộ thanh ghi 66

4.3.3 Quản lý bộ nhớ của vi xử lý 8086/8088 69

4.4 CÁC HOẠT ĐỘNG CHÍNH CỦA VI XỬ LÝ 8086/8088 72

4.4.1 Nạp lệnh 72

4.4.2 Đọc bộ nhớ 73

4.4.3 Ghi bộ nhớ 74

4.4.4 Nhập 74

4.4.5 Xuất 75

4.4.6 Đáp ứng ngắt 75

TÓM TẮT 77

CÂU HỎI VÀ BÀI TẬP 77

BÀI 5: KIẾN TRÚC BỘ NHỚ MÁY TÍNH 78

5.1 KHÁI NIỆM VỀ BỘ NHỚ MÁY TÍNH 78

5.2 KIẾN TRÚC TỔNG THỂ BỘ NHỚ 80

5.3 QUẢN LÝ BỘ NHỚ (MMU, Memory Management Unit) 82

5.4 BỘ NHỚ TRONG - BỘ NHỚ BÁN DẪN 83

5.4.1 Bộ nhớ của vi xử lý 83

Trang 5

5.4.2 Bộ nhớ RAM 84

5.4.3 Bộ nhớ ROM 86

5.4.4 Bộ nhớ cache 86

5.5 BỘ NHỚ NGOÀI 87

5.5.1 Đĩa từ - Ổ cứng 87

5.5.2 Redundant Array of Independent Disks (RAID) 91

5.5.3 Đĩa Quang 95

5.5.4 Thẻ nhớ 97

5.5.5 Băng từ 98

5.5.6 Cấu trúc MBR và EBR 99

5.5.7 Quá trình khởi động của máy tính 100

TÓM TẮT 102

CÂU HỎI VÀ BÀI TẬP 102

BÀI 6: HỆ THỐNG BUS 103

6.1 BUS LIÊN KẾT 103

6.2 CÁC CHUẨN BUS 106

6.3 GIAO DIỆN 106

TÓM TẮT 109

CÂU HỎI VÀ BÀI TẬP 109

BÀI 7: HỆ THỐNG VÀO/RA – CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN VÀO/RA 110

7.1 HỆ THỐNG VÀO/RA 110

7.1.1 Thiết bị ngoại vi 111

7.1.2 Các phương pháp định địa chỉ cổng vào/ra 112

7.2 PHƯƠNG PHÁP VÀO/RA DỮ LIỆU 113

7.3 GIAO DIỆN NỐI GHÉP VỚI THIẾT BỊ NGOẠI VI 117

7.3.1 Cổng nối tiếp 117

7.3.2 Cổng song song 118

7.3.3 Giao diện USB và IEEE1394 118

TÓM TẮT 119

CÂU HỎI VÀ BÀI TẬP 119

TÀI LIỆU THAM KHẢO 120

Trang 6

NỘI DUNG MÔN HỌC

 Bài 1: TỔNG QUAN Giới thiệu các khái niệm cơ bản liên quan đến kiến trúc máy tính và lịch sử hình thành

 Bài 2: BIỂU DIỄN THÔNG TIN TRÊN MÁY TINH Trình bài các hệ cơ số đếm, cách chuyển đổi giữa các hệ cơ số và các phép toán cơ bản

 Bài 3: ĐẠI SỐ BOOLE VÀ MẠCH SỐ Cách biến đổi các biểu thức logic và các phương pháp rút gọn Cách thiết kế một số các mạch số cơ bản sử dụng các cổng logic

 Bài 4: BỘ VI XỬ LÍ Cấu trúc của CPU Các thành phần bên trong một máy tính, chức năng, nhiệm vụ và cách hoạt động Khái quát về vi xử lý 8088/8086

 Bài 5: KIẾN TRÚC BỘ NHỚ MÁY TÍNH Giới thiệu về cấu tạo, cách hoạt động của các bộ nhớ bán dẫn (bộ nhớ trong) và bộ nhớ ngoài

 Bài 6: HỆ THỐNG BUS Trình bày về các chuẩn bus giao tiếp trong máy tính

 Bài 7: HỆ THỐNG VÀO RA – CÁC PHƯƠNG PHÁP VÀO RA Trình bài tổng thể các hệ thống vào/ra dữ liệu và các phương pháp vào ra dữ liệu giữa hệ thống máy tính và thiết bị ngoại vi

Trang 7

KIẾN THỨC TIỀN ĐỀ

Sinh viên có kiến thức khái quát về máy tính

YÊU CẦU MÔN HỌC

Người học phải dự học đầy đủ các buổi lên lớp và làm bài tập đầy đủ ở nhà

CÁCH TIẾP NHẬN NỘI DUNG MÔN HỌC

Để học tốt môn này, người học cần đọc trước các nội dung chưa được học trên lớp; tham gia đều đặn và tích cực trên lớp; hiểu các khái niệm, tính chất và ví dụ tại lớp học Sau khi học xong, cần ôn lại bài đã học, làm các bài tập và câu hỏi Tìm đọc thêm các tài liệu khác liên quan đến bài học và làm thêm bài tập

PHƯƠNG PHÁP ĐÁNH GIÁ MÔN HỌC

Môn học được đánh giá gồm:

 Điểm thi thực hành: 30% Hình thức và nội dung do GV quyết định, phù hợp với quy chế đào tạo và tình hình thực tế tại nơi tổ chức học tập

 Điểm thi lý thuyết: 70% Hình thức bài thi tự luận trong 90 phút, không được mang tài liệu vào phòng thi Nội dung gồm các câu hỏi và bài tập tương tự như các câu hỏi và bài tập về nhà

Trang 9

BÀI 1: TỔNG QUAN

Sau khi học xong bài này, sinh viên có thể:

- Nắm được chức năng, cấu trúc cơ bản của máy tính

- Nắm được lịch sử hệ thống máy tính

- Nắm được các xu hướng phát triển các hệ thống máy tính hiện đại ngày nay

- Hiểu được mô hình máy tính tiêu chuẩn Von Neumann

1.1 KHÁI NIỆM

Kiến trúc máy tính là môn học nhằm cung cấp kiến thức về cấu tạo bên trong của máy tính (CPU, bộ nhớ…), các thành phần ngoại vi và cách hoạt động của hệ thống Chức năng cơ bản nhất của một hệ thống máy tính đó chính là xử lý (process) các tín hiệu đầu vào (input) và đưa ra các tín hiệu đầu ra (output) phục vụ cho một mục đích xác định (application) nào đó Ngày nay, cùng với sự phát triển của máy tính cá nhân (desktop và laptop), điện thoại thông minh, cuộc sống của con người ngày càng được

“số hóa”, tiện nghi và gần gũi hơn

1.2 CHỨC NĂNG, CẤU TRÚC

Hệ thống máy tính hoạt động dựa trên việc thực hiện tuần tự các lệnh liên tiếp nhau Tập hợp các lệnh này được gọi là tập lệnh Người viết các lệnh này theo thứ tự nhất định để thực hiện một ứng dụng được gọi là lập trình viên Hình 1.1 là mô hình hoạt động của máy tính Các lệnh được nạp tuần tự vào bộ giải mã lệnh Bộ giải mã lệnh sẽ tạo ra các tín hiệu điều khiển đi vào từng khối chức năng tương ứng Các khối này sẽ lấy dữ liệu vào và xử lý Sau khi xử lý xong sẽ trả về kết quả

Trang 10

Hình 1.1 Mô hình hoạt động của máy tính

Các hệ thống máy tính ngày nay được chia thành 2 loại chính: đa nhiệm và đơn

nhiệm Đa nhiệm là các hệ thống máy tính có thể kiêm nhiệm nhiều chức năng, ví dụ

soạn thảo văn bản, xem phim, nghe nhạc, lướt web Đây chính là các máy tính

cá nhân (desktop và laptop), điện thoại thông minh Đơn nhiệm là các hệ thống máy

tính chỉ thực hiện một nhiệm vụ duy nhất Các hệ thống này được gọi chung là hệ

thống nhúng (embedded system) và thường có ở trên máy chụp hình, quay phim,

máy chiếu, máy giặt, hệ thống điều khiển xe hơi

Có 4 khối phần cứng chính trong cấu trúc một hệ thống máy tính tiêu chuẩn là đơn

vị tính toán luận lý số học (ALU - Arithmetic Logic Unit), đơn vị điều khiển (CU – Control Unit), bộ nhớ (memory), và đơn vị xuất nhập (I/O – input/output unit)

1.3 LỊCH SỬ PHÁT TRIỂN

Sự phát triển của máy tính được mô tả dựa trên sự tiến bộ của các công nghệ chế tạo các linh kiện cơ bản của máy tính như: bộ xử lý, bộ nhớ, các ngoại vi, … Việc chuyển từ thế hệ trước sang thế hệ sau được đặc trưng bằng một sự thay đổi cơ bản

về công nghệ

Cho đến ngày nay, máy tính đã có những sự phát triển vượt bậc, ứng dụng trong hầu hết các hoạt động của xã hội với rất nhiều chủng loại thế hệ tùy theo công việc Tuy nhiên kể từ đó đến nay có thể phân máy tính thành các thế hệ sau:

Thế hệ zero (1642 – 1945):

Là loại máy tính vận hành hoàn toàn bằng cơ khi Người đầu tiên sáng chế ra máy tính thế hễ này là nhà bác học người Pháp, Blaise Pascal (1623 – 1662), vào năm

Trang 11

1942 khi ông mới 19 tuổi Máy tính này được vận hành bằng tay, truyền động qua các kết cấu cơ khí (đòn bẩy, bánh răng) và chỉ làm được các phép toán cộng và trừ Sau

đó khoảng 30 năm, nhà toán hoc Đức Von Leibniz (1646 – 1761) đã chế tạo một máy tính cơ học khác có thể thực hiện thêm được cả phép nhân và phép chia

Ý tưởng về một máy tính số hoàn chỉnh ra đời năm 1834 Khi đó một nhà toán học người Anh tên là Charles Babbage (1792 – 1871) đã chế tạo ra một máy tính gọi là Analytical Engine Máy tính của ông gồm có bốn bộ phận là: khối nhớ, khối tính toán, khối thiết bị vào (máy đọc card đục lỗ) và khối thiết bị ra (máy in hoặc máy đục lỗ)

Bộ nhớ của Analytical Engine gồm 1000 từ, mỗi từ có 50 chữ số thập phân để chứa các giá trị biến và các kết quả tính toán Khối tính toán có thể nhận các toán hạn từ khối nhớ, thực hiện các phép tính cộng, trừ, nhân hoặc chia và cất kết quả tính vào khối nhớ Mặt dù, Analytical Engine hoạt động hoàn toàn bằng cơ khí, nhưng ở đây đã bắt đầu xuất hiện khái niệm về hoạt động theo chương trình Nó đọc các lệnh từ card đục lỗ và thực hiện chúng Một số lệnh thực hiện việc đọc các toán hạng từ khối nhớ đưa về khối tính toán để thực hiện phép tính sau đó cất kết quả vài khối nhớ; một số lệnh khác kiểm tra kết quả tính toán để thực hiện phép tính đó cất kết quả vào khối nhớ; một số lệnh khác kiểm tra kết quả tính để quyết định chiều hướng rẽ nhánh chương trình

Hình 1.2 Máy tính Analytical Engine

Trang 12

Thế hệ 1: (1946 – 1957):

Năm 1943, John Mauchley và các học trò của ông đã chế tạo ra chiếc máy tính điện tử đầu tiên ở Mỹ - máy tính được đặt tên là ENIAC (Electronic Numerial Itergrator And Calculator) Đây là một máy tính khổng lồ, nó gồm 18.000 đèn điện tử, 1.500 rơ le, nặng 30 tấn, có chiều dài 20 mét, cao 2,8 mét và rộng vài mét, công suất điện tiêu thụ 140KW Nó có 20 thanh ghi 10 bit (tính toán trên số thập phân) Có khả năng thực hiện 5.000 phép toán cộng trong một giây Công việc lập trình bằng tay bằng cách đấu nối các đầu cắm điện và dùng các ngắt điện

Chiếc máy này mục đích phục vụ quân đội trong chiến tranh thế giới thứ 2 nhưng đến năm 1946 nó mới hoàn thành

Hình 1.3 Máy tính ENIAC

Chiếc máy tính tiếp theo sử dụng bóng đèn chân không là Colossus của Anh (hình 1.4) Chiếc máy này được chế tạo vào năm 1943 Tác giả của nó là Alan Turing Chiếc máy này được xem là thế hệ đầu tiên của những chiếc máy tính hiện đại ngày nay

Trang 13

Hình 1.4 Máy tính Colossus và Alan Turing

Đặc trưng của bóng đèn chân không là công suất tiêu thụ lớn, hiệu suất thấp, tuổi thọ ngắn Đây chính là những khuyết điểm của máy tính thời kỳ này

Thế hệ thứ hai (1958 – 1964)

Máy tính thế hệ II đã khắc phục được những khuyết điểm của bóng đèn chân không bằng cách sử dụng transistor thay thế (transistor cấu tạo từ chất bán dẫn) Thế hệ này nổi tiếng nhất là 2 máy PDP-1 (đây là sản phẩm đầu tiên của DEC) và IBM

7094 (hình 1.5) Đèn bán dẫn hay transistor nhỏ hơn, rẻ hơn, khả năng tích hợp cao (trọng lượng và thể tích máy nhỏ lại), tỏa nhiệt ít hơn và rất bền Đây là những ưu điểm chính của chất bán dẫn và nó được sử dụng cho đến các thế hệ máy tính hiện đại sau này

Hình 1.5 IBM 7094 (1962)

Trang 14

Vào thời điểm này, mạch in và bộ nhớ bằng xuyến từ được dùng Ngôn ngữ cấp cao xuất hiện (như FORTRAN năm 1956, COBOL năm 1959, ALGOL năm 1960) và hệ điều hành kiểu tuần tự (Batch Processing) được dùng Trong hệ điều hành này, chương trình của người dùng thứ nhất được chạy, xong đến chương trình của người dùng thứ hai và cứ thế tiếp tục

Thế hệ thứ ba (1965 – 1971)

Máy tính thế hệ III đã phát triển khả năng của chất bán dẫn và bắt đầu sử dụng vi mạch tích hợp (Integrated Circuit) Tiêu biểu cho dòng này chính là chiếc IBM 5100 ra đời vào năm 1975 (hình 1.6) Chiếc máy tính này cũng hình thành nên khái niệm máy tính cá nhân (Personal Computer)

Mạch in nhiều lớp xuất hiện, bộ nhớ bán dẫn bắt đầu thay thế bộ nhớ bằng xuyến

từ Máy tính đa chương trình và hệ điều hành chia thời gian được dùng

Hình 1.6 IBM 5100 (1975)

Năm 1976, Apple I ra đời với 4K RAM (hình 1.7)

Hình 1.7 Apple I, Steve Jobs và Steve Wozniak

Trang 15

Thế hệ thứ tư (1972 - ?)

Thế hệ thứ tư được đánh dấu bằng các IC có mật độ tích hợp cao (LSI: Large Scale Integration) có thể chứa hàng ngàn linh kiện Các IC mật độ tích hợp rất cao (VLSI: Very Large Scale Integration) có thể chứa hơn 10 ngàn linh kiện trên mạch

Với sự xuất hiện của bộ vi xử lý (microprocessor)

Các bộ nhớ bán dẫn, bộ nhớ cache, bộ nhớ ảo được dùng rộng rãi

Các kỹ thuật cải tiến tốc độ xử lý của máy tính không ngừng được phát triển: kỹ thuật ống dẫn, kỹ thuật vô hướng, xử lý song song mức độ cao, …

Các sản phẩm chính của công nghệ VLSI:

- Bộ vi xử lý (Microprocessor): CPU được chế tạo trên một chíp

- Vi mạch điều khiển tổng hợp (chipset): một hoặc một vài vi mạch thực hiện được nhiều chức năng điều khiển và nói ghép

- Bộ nhớ bán dẫn (Semiconductor Memory): ROM, RAM

- Các bộ vi điều khiển (Microcontroller): máy tính chuyên dụng được chế tạo trên một chíp

Máy tính thế hệ IV chính là các máy tính hiện đại ngày nay Năm 1981, máy IBM

PC trên cơ sở CPU Intel 8088 và dùng hệ điều hành MS-DOS của Microsoft ra đời (hình 1.8)

Hình 1.8 IBM PC

Các máy tính hiện đại ngày nay đều theo xu hướng đơn giản hóa, đẹp hơn, bền hơn và khả năng di động cao Đặc trưng cho các dòng máy hiện nay chính là các dòng AiO (All in One) và máy tính bảng (Tablet) (hình 1.9)

Trang 16

Hình 1.9 ASUS Transformer AiO và iPAD

Xu hướng tương lại

Việc chuyển từ thế hệ thứ tư sang thế hệ thứ năm còn chưa rõ ràng Người Nhật

đã và đang đi tiên phong trong các chương trình nghiên cứu để cho ra đời thế hệ thứ năm của máy tính, thế hệ của những máy tính thông minh, dựa trên các ngôn ngữ trí tuệ nhân tạo như LISP và PROLOG,… và những giao diện người – máy thông minh Tính đê

Một hướng của máy tính thế hệ tiếp theo chính là các robot thông minh có khả năng cũng như hình dáng giống con người, có thể thực hiện các hành vi như của con người Tiêu biểu cho dòng này chính là robot ASIMO của Honda (hình 1.10) Một hướng khác chính là các máy tính được tích hợp vào trong một tòa nhà, một căn hộ theo mô hình Smarthome (hình 1.11) Và hướng cuối cùng chính là các máy tính lượng tử với khả năng thực hiện hàng loạt các phép tính phức tạp trong cùng 1 lúc (thay vì từng phép tính một như các máy thông thường)

Hình 1.10 ASIMO

Trang 17

1.4 KIẾN TRÚC VON-NEUMANN

Hình 1.12 là kiến trúc máy tính tiêu biểu theo mô hình Von Neumann Trong mô hình này có đủ các thành phần cơ bản như bộ nhớ, ALU, CU, I/O

Máy tính hiện đại ngày nay được thiết kế dựa trên mô hình Von Neumann Nguyên

lý cơ bản của mô hình này như sau:

Nguyên lý điều khiển bằng chương trình: máy tính thực hiện một công việc

theo chương trình được đưa vào bộ nhớ Nguyên lý này đảm bảo khả năng thực hiện

tự động để giải quyết một bài toán của máy tính điện tử

Nguyên lý truy cập qua địa chỉ: đữ liệu trong chương trình không chỉ định bằng

giá trị mà thông qua địa chỉ trong bộ nhớ Nguyên lý đảm bảo tính mềm dẻo của

Trang 18

chương trình, có thể thể hiện thuật toán không phụ thuộc vào các giá trị phát sinh trong chương trình

Kiến trúc Von-Neumann nói trên chính là kiến trúc máy tính thực hiện phù hợp với nguyên lý Von Neumann

Hình 1.12 Mô hình Von Neumann

Giáo sư toán học John Von Neumann đã đưa ra ý tưởng thiết kế máy tính IAS (Princeton Institute for Advanced Studies): chương trình được lưu trong bộ nhớ, bộ điều khiển sẽ lấy lệnh và biến đổi giá trị của dữ liệu trong phần bộ nhớ, bộ làm toán

và luận lý (ALU: Arithmetic And Logic Unit) được điều khiển để tính toán trên dữ liệu nhị phân, điều khiển hoạt động của các thiết bị vào ra Đây là một ý tưởng nền tảng

cho các máy tính hiện đại ngày nay Máy tính này còn được gọi là máy tính Von Neumann

Máy tính gồm CPU, Memory, I/O

CPU gồm:

- Thanh ghi (regiser)

- ALU (Arithmetic Logical Unit)

- CU (Control Unit)

Trang 19

- Không có sự phân biệt rõ ràng giữa dữ liệu và lệnh trong bộ nhớ

- Không phù hợp với các ngôn ngữ lập trình cấp cao sử dụng mảng đa chiều, danh sách liên kết

- Không thể phân biệt kiểu dữ liệu (kiểu biến) được lưu trữ trong bộ nhớ

Trang 20

TÓM TẮT

Lịch sử máy tính

- Thế hệ máy tính đầu tiên là máy tính cơ khi

- Tiếp theo có 4 thế hệ máy tính cho đến ngày nay

- Máy tính thế hệ I sử dụng bóng đèn chân không

- Máy tính thế hệ II sử dụng transistor (chất bán dẫn)

- Máy tính thế hệ III sử dụng vi mạch tích hợp

- Máy tính thế hệ IV tương tự như các máy tính hiện đại ngày nay, có CPU và hệ điều hành

- Thế hệ máy tính tương lai có rất nhiều hướng phát triển

- Giới thiệu mô hình Von Neumann và nhược điểm

CÂU HỎI VÀ BÀI TẬP

Câu 1: Hãy tóm tắt quá trình phát triển của các hệ thống máy tính

Câu 2: Mục đích của hệ thống máy tính đầu tiên (thế hệ I) ra đời là gì?

Câu 3: Vẽ mô hình máy tính Von Neumann và trình bày khuyết điểm của mô hình

này

Trang 21

BÀI 2: BIỂU DIỄN THÔNG TIN

TRÊN MÁY TÍNH

Sau khi học xong bài này, học viên có thể:

- Nắm được mục đích của từng hệ cơ số

- Nắm được cách chuyển đổi giữa các hệ cơ số

- Nắm được cách tính toán trên hệ nhị phân

- Nắm được một số mã khác ngoài hệ nhị phân trên máy tính

Máy tính hoạt động dựa trên các mức điện thế tượng trưng cho 2 giá trị 0 và 1 Cho nên hầu hết giá trị của các phép toán được xử lý trên máy tính đều là các chuỗi bit nhị phân từ đầu vào đến đầu ra Có thể nói, nhị phân chính là hệ cơ số chính được

sử dụng trong máy tính cũng như trong các hệ thống số khác Ngoài nhị phân, thập phân, chúng ta thường được học thêm về hệ bát phân và thập lục phân Mục đích chính là hỗ trợ chúng ta đọc và viết hệ nhị phân dễ dàng hơn

2.1 KHÁI NIỆM HỆ THỐNG SỐ

Về bản chất ở mức vật lý máy tính là một chiếc máy điều khiển luồng electrons

Do đó hoàn toàn có thể xây dựng một chiếc máy tính dựa trên các trạng thái điện áp (voltage) khác nhau Nhưng để vừa điều khiển vừa kiểm tra mức điện áp là khá phức tạp ở cấp độ phần cứng và mạch điện để đơn giản hóa người ta xây dựng máy tính như một chiếc máy xử lý số nhị phân với quy ước:

- Có điện áp: ta có trạng thái “1” (hoặc “0”)

- Không có điện áp: ta có trạng thái “0” (hoặc “1”)

Cách tổ chức xử lý dữ liệu của máy tính dựa trên hệ thống số Hệ thống số là tập hợp các thiết bị được thiết kế để thao tác thông tin logic hay đại lượng vật lý được

Trang 22

biểu diễn dưới dạng số, tức là những đại lượng chỉ có giá trị rời rạc Đây thường là các

hệ thống điện tử nhưng đôi khi cũng có hệ thống từ, cơ hay khí nén Một vài hệ thống

kỹ thuật số ta thường gặp là: máy vi tính, máy tính tay, thiết bị nghe nhìn số và hệ thống điện thoại Tín hiệu số được minh họa như hình sau:

Hình 2.1 Tín hiệu số

Một số ưu điểm và nhược điểm hệ thống số:

Ưu điểm:

- Thiết bị số dễ thiết kế hơn

- Thông tin được lưu trữ và truy cập dễ dàng và nhanh chóng

- Tính chính xác và độ tin cậy cao

- Mạch số ít bị ảnh hưởng bởi nhiễu, có khả năng lọc nhiễu tự phát hiện sai và sửa sai

- Nhiều mạch số có thể được tích hợp trên một chip IC

- Độ chính xác và độ phân giải cao

Nhược điểm:

Hầu hết các đại lượng vật lý có bản chất tương tự, và chính những đại lượng này thường là đầu vào và đầu ra được một hệ thống theo dõi, xử lý và điều khiển Như vậy muốn sử dụng kỹ thuật số khi làm việc với đầu vào và đầu ra dạng tương tự ta phải thực hiện sự chuyển đổi từ dạng tương tự sang dạng số, sau đó xử lý thông tin

số từ ngõ vào và chuyển ngược lại từ dạng số đã xử lý sang dạng tương tự, đây là một nhược điểm lớn của kỹ thuật số

Trang 23

Ví dụ: Để sử dụng được hệ thống số đối với đầu vào và đầu ra là dạng tương tự ta cần thực hiện các bước sau đây:

- Biến đổi thông tin đầu vào dạng tương tự thành dạng số (Analog Digital Converter

2.2.1 Hệ thập phân (Decimal system)

Trước khi có máy tính, con người dùng hệ số đếm thập phân Hệ thập phân – hay còn gọi là hệ cơ số 10 Bao gồm 10 chữ số (ký số) đó là 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Hệ thập phân là một hệ thống theo vị trí vì trong đó giá trị của một chữ số phụ thuộc vào

vị trí của nó Để hiểu rõ điều này ta xét ví dụ sau: xét số thập phân 123 Ta biết rằng chữ số 1 biểu thị 1 trăm, 2 biểu thị 2 chục, 3 là biểu thị 3 đơn vị Xét về bản chất, 1

mang giá trị lớn nhất trong ba chữ số, được gọi là chữ số có nghĩa lớn nhất (MSD) Chữ số 3 mang giá trị nhỏ nhất, gọi là chữ số có nghĩa nhỏ nhất (LSD) Các chữ số

của số thập phân chính là các hệ số trong khai triển số thành tổng các lũy thừa của

10 Vì vậy hệ thập phân còn gọi là hệ cơ số 10

Ta có công thức sau để chuyển đổi từng chữ số thập phân ra giá trị của chính nó:

0 0

1 1

1 1

0 1 1 10

10 10

10 10

a a

a a

a a a

a A

n n

n n

n n

Trang 24

Để diển ta một số thập phân lẻ người ta dùng dấu chấp thập phân để chia phần nguyên và phần phân số Ý nghĩa của một số thập phân được mô tả như sau:

Số có ý nghĩa nhỏ nhất (LSD)

Ví dụ: số 435.568

435.568 = 4x102 + 3x101 + 5x100 + 5x10-1 + 6x10-2 + 8x10-3

2.2.2 Hệ nhị phân (Binary system)

Sau khi máy tính số ra đời, các hệ thống số đếm mới hình thành trong đó có hệ nhị phân Hệ thống nhị phân (binary system) chỉ có hai ký số là 0 và 1 Nhưng có thể biểu diễn bất kỳ đại lượng nào mà hệ thập phân và các hệ thống số khác biểu diễn được, tuy nhiên phải dùng nhiều số nhị phân để biểu diễn đại lượng nhất định

Tất cả các phát biểu về hệ thập phân đều có thể áp dụng được cho hệ nhị phân

Hệ nhị phân cũng là hệ thống số theo vị trí Mỗi nhị phân đều có giá trị riêng, tức trọng số, là lũy thừa của 2

Cách viết hệ nhị phân như sau: 11012 hoặc 1101b (o chính là binary)

Ví dụ 2.1:

11012 = 1x23 + 1x22 + 0x21 + 1x20

= 8 + 4 + 0 + 1 = 13

- Một con số trong số nhị phân được gọi là 1 bit (Binary Digital)

- Bit đầu (hàng tận cùng bên trái) có giá trị cao nhất được gọi là MSB (Most Significant Bit – bit có nghĩa lớn nhất)

- Bit cuối (hàng tận cùng bên phải) có giá trị nhỏ nhất và được gọi LSB (Least Significant Bit – bit có nghĩa nhỏ nhất)

Trang 25

Từ khái niệm bit ta có một số khái niệm sau:

- Tổ hợp của 4 bit gọi là nibble

- Tổ hợp của 8 bit goi la byte

- Tổ hợp của 2 byte trở thành từ

- Tổ hợp của 4 byte trở thành từ đúp

- Tổ hợp của 8 byte trở thành từ kép

- Bộ vi xử lý xử lý số liệu có độ dài 1 byte gọi là vi xử lý 8 bit

- Bộ vi xử lý xử lý số liệu có độ dài 2 byte (Word) gọi là vi xử lý 16 bit

- Bộ vi xử lý xử lý số liệu có độ dài 4 byte (Double Word) gọi là vi xử lý 32 bit

- Bộ vi xử lý xử lý số liệu có độ dài 8 byte (Quad Word) gọi là vi xử lý 64 bit

Cách biểu diễn một số nhị phân :

Lũy thừa của 210 = 1024 được gôi tắt là 1K (đọc k hay kilo), trong ngôn ngữ nhị phân 1k là 1024 chứ không phải là 1000

Để biểu diễn một số nhị phân lẽ ta cũng dùng dấu chấm thập phân để phân cách phần nguyên và phần lẻ

Trang 26

23 22 21 20 2-1 2-2 2-3

= 8 = 4 = 2 = 1 = 1 2⁄ = 1 4⁄ = 1 8⁄MSB Dấu chấm thập

phân LSB

Ví dụ:

1100.1012 = (1x23) + (1x22) + (0x21) + (0x20) + (1x2-1) + (0x2-2) + (0x2-3)

= 8 + 4 + 0 + 0 + 0.5 + 0 + 0.125 = 12.125

2.2.3 Hệ bát phân (Octal Number System)

Hệ bát phân có cơ số 8 Nghĩa là có 8 ký số: 0, 1, 2, 3, 4, 5, 6, 7, mỗi ký số của số bát phân có giá trị bất kỳ từ 0 đến 7 Cách viết hệ bát phân như sau: 378 hoặc 37o (o

chính là octal) Mỗi vị trí số của hệ bát phân có trọng số như sau:

83 82 81 80 8-1 8-2 8-3

= 512 = 64 = 8 = 1 = 1 8⁄ = 1 64⁄ = 1 512⁄MSD Dấu chấm

bát phân LSD

Ví dụ: 1788 = 1x82 + 7x81 + 3.80 = 64 + 56 + 3 = 123

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

Hệ thống số thập lục phân sử dụng cơ số 16, nghĩa là có 16 ký số Hệ thập lục phân dùng các ký số từ 0 đến 9 công thêm 6 chữ A, B, C, D, E, F Mỗi một ký số thập lục phân biểu diễn một nhóm 4 ký số nhị phân nhầm hỗ trợ biễu diễn hệ nhị phân Cách viết hệ thập lục phân như sau: AB16 hoặc ABh (h chính là hexadecimal) Ý

nghĩa của hệ thống thập lục phân được mô tả bằng bẳng sau:

163 162 161 160 16-1 16-2 16-3

= 1024 = 256 = 16 = 1 = 1 16⁄ = 1 256⁄ = 1 4096⁄MSD

Dấu chấm thập lục phân

LSD

Trang 27

Cách đếm số thập lục phân: khi đếm số thập lục phân, mỗi vị trí được tăng dần 1 đơn vị từ 0 cho đến F Khi đếm đến giá trị F, vòng đếm lại trở về 0 và vị trí ký số kế tiếp tăng lên 1

Ví dụ:

A4B5 = 10x163 + 4x162 + 11x161 + 5x160

= 40960 + 1024 + 176 + 5

= 42165

Ta có bảng giá trị như sau:

Thập phân Nhị phân Bát phân Thập lục phân

Các qui tăc chuyển đổi qua lại giữa các hệ thống số:

Qui tắc 1: Muốn đổi một số từ hệ thống số này sang hệ thống số khác, ta đổi

phần nguyên sang phần nguyên và phần thập phân (nhỏ hơn 1) sang phần lẻ

Qui tắc 2: Muốn đổi một số thập phân nguyên sang số nhị phân ta thực hiện các

phép chia liên tiếp cho 2 đến khi thương số bằng 0

Đầu tiên lấy số thập phân chia cho 2, thương số của phép chia trước đó là số bị chia của phép chia tiếp theo Số nhị phân cần tìm là dư số của phép chia viết theo thứ

tự ngược (từ dưới lên)

Trang 28

Ví dụ: đổi số 106 sang số nhị phân

Qui tắc 3: Muốn đổi một số thập phân lẻ nhỏ hơn 1 sang số nhị phân ta thược

hiện các phép nhân liên tiếp với 2 cho đến khi phần lẻ của tích số bằng 0 Đầu tiên lấy

số thập phân nhân với 2, phần lẻ của tích số trước là số bị nhân của phép nhân tiếp theo Số nhị phân cần tìm là phần nguyên của các tích số viết theo thứ tự thuận (từ trên xuống)

Ví dụ: đổi số 0.25 sang số nhị phân:

Trang 29

Ví dụ : Đổi số 271.78125 sang số thập lục phân :

- Đổi phần nguyên 271 sang số thập lục phân = 10F

- Đổi phần lẻ 0.78125 sang số thập lục phân = 0.C8

Vậy : 271.78125 = 10F.C816

Qui tắc 4 : mỗi nhóm 3 chữ số nhị phân, tính từ dấu chấm phân cách phần

nguyên và phần lẻ, tương đương với chữ số bát phân theo bảng sau :

Qui tắc 5 : Mỗi nhóm bốn chữ số nhị phân, tính từ dấu chấm phân cách phần

nguyên và phần lẻ, tương đương với chữ số thập lục phân theo bảng sau :

Trang 30

Do hệ bát phân và thập lục dùng để biểu diễn hệ nhị phân nên cách chuyển đổi khá đơn giản Một chữ số bát phân có thể chuyển thành 3 bit nhị phân và ngược lại Tương tự, 1 chữ số thập lục phân có thể chuyển thành 4 bit nhị phân và ngược lại Ví dụ: ta có chuỗi bit 1010110100112, muốn chuyển sang bát phân chỉ việc gom 3 bit thành nhóm lại với nhau từ phải qua trái, mỗi 3 bit nhị phân sẽ chuyển thành 1 chữ

số bát phân (53238) Tương tự, muốn chuyển sang thập lục phân chỉ việc gom 4 bit nhị phân từ phải qua trái, mỗi 4 bit nhị phân sẽ chuyển thành 1 chữ số thập lục phân (AD316)

Như vậy, 3 hệ cơ số (nhị phân, bát phân, thập lục phân) thực chất là một và việc chuyển đổi giữa 3 hệ này rất nhanh chóng

Việc chuyển đổi từ nhị phân sang thập phân sẽ như sau: ví dụ ta có 11012 Như vậy thập phân sẽ là: 1x23 + 1x22 + 0x21 + 1x20 = 8 + 4 + 0 + 1 = 13

Ngược lại, chuyển đổi từ thập phân sang nhị phân có thể thực hiện chia 2 hoặc tính nhẩm Để tính nhẩm cần học thuộc bảng sau:

Trang 31

mọi ký hiệu, con số, đều được biểu diễn dưới hệ nhị phân thông qua hai chữ số 0 và

1 thì mọi chuyện lại trở nên phức tạp hơn

Có nhiều cách được sử dụng để biểu diễn số âm trong máy tính Bài này chỉ giới thiệu bốn phương pháp chủ yếu nhất, đó là: phương pháp dấu lượng (sign-and-magnitude), bù 1, bù 2 và số thừa K

Các máy tính hiện nay hầu hết đều sử dụng phương pháp biểu diễn số bù 2 Tuy nhiên, trong vài tình huống, các phương pháp khác vẫn có thể được sử dụng

Trang 32

2.4.2 Bù 1

Phương pháp bù 1 biểu diễn số âm theo cách sau:

- Thứ nhất, bit dấu là 0 nếu số là số dương, và 1 nếu số là số âm

- Thứ hai, sử dụng toán tử thao tác bit (bitwise) NOT để đảo tất cả các bit của số nhị phân dương (dĩ nhiên không tính bit dấu) để biểu diễn số âm tương ứng

Như vậy, phương pháp bù 1 hoàn toàn giống như phương pháp dấu lượng, duy chỉ khác ở cách biểu diễn độ lớn của số

Ví dụ: dạng bù 1 của 001010112 (43) là 11010100(−43)

Giống phương pháp dấu lượng, một byte 8 bit áp dụng phương pháp bù 1 cũng có thể biểu diễn các số từ −12710 đến +12710 (chú ý: đã mất đi một bit dùng làm bit dấu) Bù 1 cũng có hai dạng biểu diễn cho số 0, bao gồm: 00000000 (+0) và

11111111 (−0) (mẫu 8 bit)

Ví dụ: số −5 được biểu diễn trong máy tính theo phương pháp bù 1 như sau (với mẫu 8 bit): đầu tiên, xác định số 5 được biểu diễn trong máy tính: 0000 0101 Tiếp theo, đảo tất cả các bit có trong số 5: kết quả sau khi đảo: 1111 1010 Vì là biểu diễn

số âm nên bit bên trái cùng luôn giữ là 1

Vậy với phương pháp bù 1, số −5 được biểu diễn trong máy tính như sau: 1111

1010

Phương pháp biểu diễn số bù 1 được sử dụng rộng rãi trong các thế hệ máy tính

cũ, điển hình là các dòng máy PDP-1 và UNIVAC 1100/2200

11111011 là biểu diễn bằng bù 2 của −510 trong máy tính

Trang 33

đảo bit cộng 1

Phương pháp biểu diễn số bù 2 ra đời khi người ta gặp vấn đề với hai phương pháp dấu lượng và bù 1, đó là:

- Có hai cách biểu diễn cho số 0

- Bit nhớ phát sinh sau khi đã thực hiện phép tính phải được cộng tiếp vào kết quả Với phương pháp bù 2, số 0 chỉ có một cách biểu diễn duy nhất là 00000000 (mẫu

8 bit) Việc đổi dấu một số, kể cả từ âm sang dương hay từ dương sang âm Đều được thực hiện theo cùng một cách, đó là: đảo tất cả các bit rồi cộng thêm một vào kết quả Việc thực hiện phép cộng với số biểu diễn theo phương pháp bù 2 được thực hiện hoàn toàn giống như cộng hai số nhị phân bình thường Tuy nhiên, khi phát sinh bit nhớ ở bit dấu, ta có thể bỏ nó đi

Với mẫu 8 bit, phương pháp bù 2 có thể biểu diễn tốt các số nguyên có giá trị từ

−12810 đến +12710 (so với từ −12710 đến +12710 theo phương pháp dấu lượng và bù 1) do được lợi từ việc tiết kiệm được một cách biểu diễn số 0 (không phân biệt giữa

Trong cặp số bù 2 này người ta quy ước như sau:

- Đây là cặp số có giá trị tuyệt đối bằng nhau nhưng khác dấu

- Nếu số nào có giá trị MSB = 1 thì là số âm, nếu MSB = 0 là số dương

- Giá trị tuyệt đối được tính theo số dương

Trở lại ví dụ trên ta tính được đây chính là ±7 với 01112 = +7, 10012 = -7

2.4.4 Cách biểu diễn số thừa K

Trong cách này, số dương của một số N có được bằng cách “cộng thêm vào” số thừa K được chon sao cho tổng của K và một số âm bất kỳ luôn luôn dương Số âm –

N của số N có được bằng cách lấy K – N (hay lấy bù của số vừa xác định)

Trang 34

Ví dụ: (Số thừa K = 128, số “cộng thêm vào” 128 là một số nguyên dương Số âm

là số lấy bù hai số vừa tính, bỏ qua số giữ của bit cao nhất):

và tính trừ, và giúp phát hiện dễ dàng các trường hợp bị tràn

Các cách biểu diễn bằng “dấu, trị tuyệt đối” hoặc bằng “số bù 1” dẫn đến việc dùng các thuật toán phức tạp và bất lợi vì luôn có hai cách biểu diễn của số không Cách biểu diễn bằng “dấu, trị tuyệt đối” được dùng cho phép nhân của số có dấu chấm động

Cách biểu diễn bằng số thừa K được dùng cho số mũ của các số có dấu chấm động Cách này làm cho việc so sánh các số mũ có dấu khác nhau trở thành việc so sánh các số nguyên dương

2.5 DẤU CHẤM TĨNH

Một số thực nhị phân có thể biểu diễn dưới dạng dấu chấm tĩnh Trong đó trước dấu chấm sẽ là 20, 21, 22 … từ phải quá trái Sau dấu chấm sẽ là 2-1, 2-2, 2-3 từ trái qua phải

Trang 35

chấm động bao gồm : phần đấu, phần mũ và phần định trị Như vậy, cách này cho

phép biểu diễn gần đúng các số thực, tất cả các số đều có cùng cách biểu diễn

Có nhiều cách biểu diễn dấu chấm động, trong đó cách biểu diễn theo chuẩn IEEE

754 được dùng rộng rãi trong khoa học máy tính hiện nay Trong cách biểu diễn này,

phần định trị có dạng l.f với số l ẩn tăng và f là số phần lẽ

Chuẩn IEEE 754 định nghĩa hai dạng biểu diễn số chấm động :

- Số chấm động chính xác đơn với định dạng được định nghĩa: chiều dài số: 32 bit được chia thành các trường: dấu S (Sign bit - 1 bit), mũ E (Exponent - 8 bit), phần

lẻ F (Fraction - 23 bit)

Số này tương ứng với số thực (-1)S * (1,f1 f2 f23) * 2(E - 127)

- Số chấm động chính xác kép với định dạng được định nghĩa: chiều dài số: 64 bit được chia thành các trường: dấu S (Sign bit - 1 bit), mũ E (Exponent - 11 bit), phần lẻ F (Fraction - 52 bit)

Trang 36

Số này tương ứng với số thực (-1)S * (1,f1 f2 f52) * 2(E - 1023)

Để thuận lợi trong một phép tính toán, IEEE định nghĩa một số dạng mở rộng của chuẩn IEEE 754 :

Tham số Chính

xác đơn

Mở rộng chính xác đơn

Chính xác kép

Mở rộng chính xác kép Chiều dài (bit) 32 ≥ 43 64 ≥ 79

Chiều dài trường mũ (E) 8 ≥ 11 11 ≥ 15

Giá trị mũ tối da 127 ≥ 1023 1023 ≥ 16383

Giá trị mũ tối thiểu -126 ≤ −1022 -1022 ≤ −16383

Chiều dài trường lẻ F (bit) 23 ≥ 31 52 ≥ 63 Chuẩn IEEE 754 cho phép biểu diễn các số chuẩn hóa (các bit của E không cùng lúc bằng 0 hoặc bằng 1), các số không chuẩn hóa (các bit của E không cùng lúc bằng

0 và phần số lẻ f1f2 … khác không), trị số 0 (các bit của E không cùng lúc bằng 0 và phần số lẻ bằng không), và các ký tự đặc biệt (các bit của E không cùng lúc bằng 1

và phần lẻ khác không)

Ví dụ các bước biến đổi số thập phân -12.62510 sang số chấm động chuẩn IEEE

754 chính xác đơn (32 bit) :

- Bước 1 : Đổi số -12.62510 sang nhị phân : -12.62510 = -1100.1012

- Bước 2 : chuẩn hóa : -1100.1012 = -1.1001012 x 23 (số 1.1001012 dạng 1.f)

- Bước 3 : điền các bit vào các trường theo chuẩn :

Số âm : bit dấu S có giá trị S= 1

Phần mũ E với số thừa K = 127, ta có E-127 = 3

 E = 3 + 127 = 130 (1000 00102); M = 1001 0100 0000 0000 0000 000

Ví dụ:

Tìm dạng dấu chấm động của 0.75

B1 : Đổi sang nhị phân : 0.75 = 0.112

B2 : Đẩy lên hàng đơn vị một số 1 : 0.112 = 1.1 x 2-1

Trang 37

B1 : Đổi sang nhị phân : 9.125 = 1001.0012

B2 : Đẩy lên hàng đơn vị một số 1 : 1001.0012 = 1.001001 x 23

B3 : Số âm nên S=1

B4 : E = 3 + 127 = 130 = 1000 00102

B5 : M = 001 0010 0000 0000 0000 0000 (23 bit)

Một số trường hợp đặc biệt:

2.7 KHOẢNG GIÁ TRỊ BIỂU DIỄN

Với một số nhị phân có số bit cho trước, ta luôn có thể xác định được khoảng giá trị biểu diễn được cho nó Do nhị phân có trường hợp không dấu và có dấu nên khoảng giá trị biểu diễn được cũng sẽ khác nhau Ví dụ: Cho một số nhị phân 3 bit (8 giá trị):

Trường hợp không dấu: từ 0 đến 7 tương ứng 0002, 0012, 0102, 0112, 1002, 1012,

1102, 1112

Trường hợp có dấu: từ -4 đến +3 tương ứng 1002, 1012, 1102, 1112, 0002, 0012,

0102, 0112

Trang 38

2.8 CÁC PHÉP TOÁN TRÊN NHỊ PHÂN

Trên nhị phân cũng như trên thập phân, ta có một số phép toán cơ bản: cộng, trừ, nhân, chia Tổng quát cho trường hợp 1 bit, ta có:

cộng/trừ có dấu, phép toán phải bảo toàn số bit

Ví dụ: 2 phép toán cộng thực hiện trên số nhị phân không dấu và có dấu

Ví dụ: 2 phép toán trừ thực hiện trên số nhị phân không dấu và có dấu

Trang 39

* Các trường hợp bị tràn trên phép toán cộng/trừ: khi ta thực hiện các phép toán cộng và trừ, nếu kết quả có giá trị lớn hơn khoảng giá trị biểu diễn được, phép toán

sẽ bị tràn dẫn đến kết quả sai Có 4 trường hợp bị tràn như sau:

một số dương + một số dương = một số âm

một số âm + một số âm = một số dương

một số dương - một số âm = một số âm

một số âm - một số dương = một số dương

2.8.2 Phép nhân, chia

Trong nhị phân, các phép toán nhân, chia được thực hiện giống như thập phân Ví

dụ 2 phép toán nhân và chia như sau:

Các phép toán nhân và chia trong nhị phân thường được thực hiện trên số không dấu, nếu thực hiện trên số có dấu, người ta sẽ dùng mạch bù 2 để biến đổi dấu cho các toán hạng và kết quả

2.9 CÁC MÃ KHÁC

Giữa hệ thập phân và hệ nhị phân còn tồn tại một hệ lai: hệ BCD (Binary Coded Decimal) cho các số hệ thập phân mã hóa bằng hệ nhị phân, rất thích hợp cho các thiết bị đo có thêm phần hiển thị số ở đầu ra dùng các loại đèn hiệu số khác nhau Ở đây dùng bốn số hệ nhị phân (4 bit) để mã hóa một số hệ thập phân có giá trị nằm trong khoảng từ 0 đến 9 Như vậy ở đây ta không dùng hết các tổ hợp có thê có của 4 bit, 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

Trang 40

Số

thập

phân D3 D2 D1 D0

Số thập phân D3 D2 D1 D0

Để biểu diển số BCD có dấu, người ta thêm số 0 trước một số dương cần tính, ta

có số âm của số BCD bằng cách lấy bù 10 số cần tính:

Ví dụ: biểu diễn số +07910 bằng số BCD: 0000 0111 1001

Bù 9: 999 – 079 = 92010 = 1001 0010 00002

+ 1

Bù 10: 1001 0010 0001

Vậy ta có: số -07910 trong cách biểu diễn số BCD : 1001 0010 0001BCD

Cách tính toán trên tương đương với cách sau :

- Trước hết ta lấy bù 9 của số 079 bằng cách : 999 – 079 = 920

- Cộng 1 vào số bù 9 ta được số bù 10 : 920 + 1 = 921

- Biểu diễn số 921 dưới dạng BCD, ta có : 1001 0010 0001BCD

Mã BCD dùng để biểu diễn hệ thập phân bằng các bit nhị phân Mã này thường được sử dụng trước khi qua khối giải mã led 7 đoạn Do trong máy tính đều sử dụng

hệ nhị phân nhưng trong đời thực lại dùng hệ thập phân, nên khi chuyển các giá trị sau khi tính toán, xử lý trên máy tính ra hiển thị thì phải chuyển qua thập phân

Hình 2.1 thể hiện cách giải mã trên led 7 đoạn từ 0 đến 9

Hình 2.1 Giải mã trên led 7 đoạn

Ngày đăng: 21/09/2017, 21:03

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w