1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Vi xử lý và cấu trúc máy vi tính

36 52 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 36
Dung lượng 7,81 MB

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

Nội dung

PC2001 có mục đích đơn giản hoá cấu trúc và các giao diện ngoại vi của máy tính cá nhân, tác giả hy vọng trong lần tái bản tđi cuốn sách này sẽ có nội dung ngắn gọn và đơn giản hơn nhiều

Trang 2

NGUYỄN NAM TRUNG

VI XỬ LÝ VÀ CẤU TRÚC MÁY VI TÍNH

V ~ T 7

N H À X U Ấ T BẢN K H O A H Ọ C V À K Ỹ T H U Ậ T

Hà Nội - 2001

Trang 3

L Ờ I N Ó I Đ Ầ U

Do lốc độ phát triển của công nghệ máy tính quá nhanh và chu kỳ chấp nhận/loại

bỏ một kỷ thuật quá ngăn nên viết một cuốn sách về máy tính cá nhân giông như ngắm bắn mục tiêu di động Tác giả đã cố gắng hiên soạn cuốn sách để nội dung có thế di trước lừ một đến hai năm so với công nghệ hiện có trên thị trường Cuốn "VI

x ử LÝ VẢ CẨU TRÚC MÁY VI TÍNH” được biên soạn lại trên cơ sở phần đầu của cuốn “CẤU TRÚC MÁY VI TÍNH VÀ THIET b ị n g o ạ i VI” Cuốn sách tập trung mô tả cấu trúc cơ bản một máy vi tính cá nhân, cấu tạo và nguyên tắc hoạt động các thế hộ vi xử lý 16, 32 và 64 bit

C hương I dược bổ sung thêm một phần giải thích các nguyên tắc xử lý mới như câu trúc siêu vô hướng, cấu trúc siêu đường ống, xử lý xen kẽ, bộ lệnh giản lược v.v

Phần này cung cấp các khái niệm cơ bản giúp bạn dọc hiểu cặn kẽ các cấu trúc vi

xử lý hiện đại đề cập đến trong chương 4 và chướng 5

( ác khái niệm, câu văn, cách trình bày được sửa đổi để thông nhất từ đầu đến euổì cuốn sách Tác giả đã tham khảo và chọn lọc nhiều thuật ngữ tiếng Việt troag các tài iiệu về công nghệ thông tin hiện có tại Việt Nam Mặc dù vậy để tránh nhầm lẫn do dùng lừ không chính xác, tác giả vẫn chú thích thuật ngữ tiếng Anh ngay sau khái niệm tiếng Việt tướng ứng

Một số nội dung đă lỗi thời như các giao diện ổ đĩa cứng trước IDE, giao diện bus

mở rộng ISA được lược bỏ Thay vào đó, các giao diện EIDE mới, giao thức USB, cấc giao thức mạng được bổ sung và đề cập kỹ hơn Nhiều hình minh họa được sửa đổi giúp hạn dọc nắm được tầm nhìn tổng quát về từng nội dung đề cập trong cuốn sách Phần cấu trúc máy tính tương lai đề cập đến định hướng PC2001 thay vi PC99 trong lần xuất bản trước PC2001 có mục đích đơn giản hoá cấu trúc và các giao diện ngoại vi của máy tính cá nhân, tác giả hy vọng trong lần tái bản tđi cuốn sách này sẽ có nội dung ngắn gọn và đơn giản hơn nhiều do không phải đề cập đến các giao diện ổ đĩa mềm, giao diện song song, tuần tự và giao diện bàn phím của

đã lỗi thời

Góp ý và phê binh của bạn đọc xin gửi trực tiếp cho tác giả qua email

(naềntrungnguyen@ yahoo.com) hay gửi đến nhà xuất bản Khoa học và Kỹ thuật, 70

Trần Hưng Đạo, Hà Nội

Singapore, tháng 5 năm 2001

TS Nguyễn Nam Trung

Trang 4

MỤC LỤC

1 Khái niệm cớ bản 1

1.2 Đổi sô thập phân ra sô" nhị phân hoặc thập lục phân 5

2.3.4 Lập trình và tmy nhập các vi mạch ngoại vi trên bản mạch chính 64

Trang 5

3.3.1 Địa chỉ, bộ chọn đoạn và bộ IĨ1Ô tả đoạn 84

4 Vi xử lý 32 bit - .95

4.1 Nguyên tắc hoạt động của Vi xử lý 32 bit th ế hệ P6 95

Trang 6

4.5.5 Ngoại lệ và ngắt trong c h ế độ quản lý hệ thống 2054.5.6 Lưu trữ trạng thái đơn vị dấu chấm dộng FPLJ trong SMM 2064.5.7 Khởi động tự động dừng (Auto Halt-Restart) 207

4.5.10 C h ế độ quản lý hệ thống trong hệ thống đa vi xử lý 210

5 Vi xử lý 64 bit 211

5.1 Nguyen tắc hoạt động của vi xử lý 64 hit 211

VII

Trang 7

1 KHÁI NIỆM c ơ BẢN

Máy vi tính cá nhân PC (personal computer), đặc biệt máy vi tính cá nhân tương thích với cấu trúc của hãng IBM (International Business Machine) đă và dang c h iê m lĩnh thị tnícìng xử lý thông tin Từ một cấu hình độc lập, chậm, rẻ tiền, vài chỉ được trang bị các thiết bị ngoại vi tôi thiểu, máy vi tính cá nhân ngày naiy đã trở thành một cấu tnìc chuẩn đa chức năng và vượt ra khỏi cấu hình của IBM hiện dà lỗi thời Máy tính cá nhân xuất hiện trong mọi lĩnh vực ứng dụng c u a xã hội hiện đại, từ công việc văn phòng đến những hệ thông điều khiển pihức tạp Trước khi đi sâu vào từng chi tiết của một máy vi tính cá nhân,

cách tn iy nhập và lập trình chúng, chương này giới thiệu những khái niệm cơ

bản n h ấ t của kỹ thuật vi xử lý số Nhừng khái niệm này đặt nền tang cho toàn cuốn sáích, trang bị cho hạn đọc những kiến thức cơ sở trước khi đi sâu nghiên cứu cấui trúc một m áy vi tính cá nhân

Nội dung chính của cuốn sách này là cấu triíc một máy tính cá nhân tương thích IB M , hay nói cách khác là 1Ĩ1Ô tả p h ầ n cứ n g (hardware) của một máy tính cá nhân Nền tảng công nghệ tin học hiện đại là kỹ thuật điện tử số Kỹ thuật n à y đưực hoàn thiện như ngày nay và còn phát triển mạnh m ẽ trong tương lai là nihờ tiến hộ vượt bậc của công nghệ vi điện tử Vi mạch tích hợp mật độ cao lố c ố t lõi của phần cứng m áy tính Phần cứng có thể được định nghĩa là một

<iối tơỢtng vật lý hữu hình như: vi mạch, bản mạch in PCB (printed circuit board),

cả\) die n, bộ nhđ, m àn hình, máy in v.v.

NgiiíỢc lại với phần cứng, p h ầ n m ểm (software) là một khái niệm trừu tƯỢng Phần m ề m có thể được coi là một thuật toán, một phương pháp xử lý thông ttin Thuật toán này được th ể hiện trên máy dưới dạng các loại chương trình N ế u tuân theo định nghĩa này, các chương trình tồn tại dưới dạng tín hiệu điộn tnong bộ nhđ và vi xử lý của máy vi tính cũng như dưới dạng các vùng từ tính trê n đĩa từ hay những lỗ thông tin trên đĩa CD đều không phải là phần m ềm

vì chiírng là những đối tượng vật lý hffu hình Chỉ ý tưởng và thuật toán phía sail một chtưđng trình được coi là phần mềm

Trang 8

2 I KJ IÁ1 n i í : m r ơ BẢN

Mâu thuẫn về định nghía phần m ềm (V trên dược thổ hiện rõ nét Ì1 firmw<are

Người ta dùng kliái niệm này d ể chỉ những chương trình cài dặt sẵn dưới chạn» thông tin trong hộ nhđ chỉ đọc dược ROM (read only memory), v ề nguyên tắc firmware hoàn toàn giông vđi phần mềm trên đĩa từ hay trong hộ nhớ truy nthập bât kỳ RAM (random access memory) Chúng đều là thông tin số dùng đ ể cíhạy trong vi xử lý và chúng đều tồn tại dưđi dạng vật lý hữu hình Như v ậ y firmware trong m áy vi tính cá nhân gồm có phần cứng (vi mạch bộ nhđ R O M )

và phần m ềm (hệ điều hành vào ra cơ sòt BIOS - basic input output system) đíưực cài đặt vĩnh viễn bôn trong R O M 1

1.1 HỆ NHỊ PHÂN VÀ THẬP LỤC PHÂN

Kỹ tlmật sò hiện đại dựa trên cơ sở hộ nhị phân Cũng như các hệ đ ếm klnác

hệ nhị phân hiểu diễn m ột s ố nguyên bất kỳ theo nguyên tắc sau:

N = a„ , .au = a () • Vo + a xs' + 4- • v" 1 = £ ats*, (1.1)

Trong đỏ N là m ột số nguyên cổ n chừ số Chữ số Gị tại vị Irí ị

được gọi là trị số (hay còn gọi là trọng số) Giá trị s là cơ số của hệ đếm Hệ

d ếin dược đặt ten theo giá trị cđ sỏ s C hẳng hạn, với s=2 ta có hệ đ ế m 2 ((nhị

phân), với 9=10 ta cổ hệ d ế m 10 (thập phân) và với 9=16 ta cổ hệ đ ế m 16 (tlhập lục plìân) Giá trị củ a s cùng xác định số ký tự cần dùng đ ể biểu diễn trị số

Chẳng hạn vđi s=2 hệ đ ế m cần hai ký tự để biểu diễn, vì th ế ta có khái niiệm

hệ nhị phân (chia ra làm hai) Tương tự như vậy, hệ đ ếm 10 và hệ đ ế m 16 cỏn

được gọi là hệ thập phân và hệ thập lục phân Một vài ví dụ hệ đ ế m sau (đây ininlì họa cụ the định nghĩa trong phương trình (1.1)

Hệ th ậ p p h ả n là hệ đếm quen thuộc nhất của nhân loại Hệ đếm này c(6 lẽ

hắt nguồn từ viộc người tiền sử dùng mười ngón tay đ ể đếm các đồ vật xmng quanh Hệ thập phân cần mười ký tự để biểu diễn các giá trị của nổ Ngày may, toàn thế giới thống nhất sử dụng hệ số A Rập để biểu diễn hệ thập phân (Hiình 1.1) Số’ không với ký tự 0 là một phát minh vĩ đại của người Ả Rập Chỉ vđỉi số

0 ngitôỉ ta iììdi có k h ả năng biểu diễn số nguyên theo đúng nguyên lắ c đã lììêu trong phương trình (1.1) Đ ể so sánh, chúng ta hày lấy ví dụ cách viết sô" của người Trung Quốc cổ đại Người Trung Quốc cung dùng hệ mufti đ ể đ ếin ỉitìọi

1 Phần lớn các máy tính hiện đại dùng FlashRQM (một dạng EEPROM, xem chương ọ)) ílể nạp lạ i các chưdng trinh BIOS uiới do nhà sán xuất bản mạch chính cung câp Đ iều này rấtt cổn thiết vì thay đổi rât nhanh về câu hình của máy vi tính, BIOS cần được bổ sung để tưdng tthích với plian cứng hiện đại.

Trang 9

Hình 1.1 Các ky tự biểu diẻn số nguyén: a) Hệ thập phản Trung quốc, b) Hệ thập phản ARập; c)

Hê nhị phân của 8 quẻ đơn trong Kinh Dịch

Ta lấy số Ị537 làm ví dụ Giá trị số nguyên này được tính theo công thức ( l l ) như sau:

N = 1 5 3 7 /) = 7 • 10" + 3 - 1 0 ' + 5 - 1 0 2 + 1 - 1 0 3 (1.2)

4

Hệ nhị p h â n được hình thành từ cơ sở dại số logic Boole, xuất hiện từ cuối

th ế kỷ 19 Hệ đ ếm này và các môn toán liên quan đến nó thực sự phát huy được

sức mạnh từ khi cổ mạch điện logic hai trạng thái (đóng, mở) Vđi cơ s ố 5=2, hệ nhị phân chỉ cần hai ký tự để biểu diễn một số nguyên bất kỳ Mỗi ký tự (hay mỗi trị số) của hệ nhị phân dược gọi là m ột bit (binary digit) C ách biểu diễn hit tưdng đối đa dạng Đối với con người, hai ký tự cùa chứ s ố Á Rập là 0 và 1

("lược dùng d ể hiểu diễn giá trị không và một Đối với một mạch điện tử, mỗi bit

cổ th ể được hiểu diễn bằng một hiệu điện th ế tương ứng (0 V là không, 5V là

một2) Trên đìa từ, mỗi hit tồn tại dưới dạng chiều từ trường của vật liệu cảm từ Trôn dĩa CD-ROM, một bit được biểu diễn qua chiều sâu bề m ặt đĩa (một lỗ tương với giá trị m ột)3 Hình l l c minh họa cách biểu diễn 8 quẻ dơn trong Kinh Dịch của văn minh Trung Quốc cổ đại Vđi hai ký tự â m ( — — ) và dương

’ Trong vi mạch hiện đại logic 1 có thể là 3,3V , 2,8V hay thấp hơn nữa

* Trên thực tế, cách mã hóa thông tin trên đĩa từ và đĩa quang phức tạp hơn m ột chút (chương 9)

Trang 10

• 2 l0bit là một Kilobit (Kbit),

• 220 bit là một Megabit (Mbit),

• 2M) bit là m ột Gigabit (Gbit),

• 240 hit là một Terabit (Tbit),

• 250 hit là một Petabit (Pbit),

• 2°° bit là một Exabit (Ebit)

Khái niệm về kích thước 1 từ (word) rất tương đốì và phụ thuộc vào công nghệ vi xử lý hiện hành Đối với vi xử lý 16 bit, một từ dài 2 byte (16 bit) và một từ kép dài 4 byte (32 bit) ĐỐỈ với vi xử lý 32 hit, một từ dài 4 byte (32 bit), nửa từ (halfw ord) dài 2 byte và một từ kép (dopple word) dài 8 byte (64 hit).Khác biệt về nhừng khái niệm Kilo, Mega, Giga giữa hệ thập phan và hệ nhị

phân cần được Ill'll ý ở đây c ả hai hệ cùng dùng những khái niệm trên đ ề chỉ

bội sô đếm, nhưng cách định nghĩa và giá trị của các hệ đ ếm khác nhau Bảng1.1 so sánh các hệ đ ếm trên của hệ thập phân và nhị phân

C ách tính giá trị số nhị phân 1011B sau đây minh họa lại nguyên tắc cơ bản

dã nêu trong phương trình (1.1):

M = 1 0 1 1 « = 1-2" + 1 -2 ' + 0 - 2 2 + 1 - 2 ’ = 1 + 2 + 0 + 8 = 1 \I ) (1.3)

4

Hệ th ặ p lục p h â n xuất hiện như một cách biểu diễn giản tiện trong công nghệ tín học Vì một số nhị phân quá dài và hất tiện khi viết và tính toán, 4 chữ

số nhị phân (bit) được gộp thành một chữ sô" thập lục phân Như vậy, cơ số của

hệ thập lục phân là £=16 Điều này Cling có nghĩa là ta cần 16 ký tự đ ể biểu diễn hệ thập lục phân: 0 I 2 3 4 5 6 7 8 9 A B c D E F Ví dụ sau đây cho thấy cách tính giá trị số thập lục phân 2BC1H:

N = 2 B C X H = 1 • 16ft + 1 2 -1 6 ' + 1 1 - 162 + 2 - 163 = 1120 !/-> (1.4)

Trang 11

ỉ 2 Đ Ổ I S ố T HẬP P HẢN RA s ố NHỊ PHÂN HOẶC’ THẬP L ự c PHÂN 5

Việc qui định đánh dấu hộ đ ế m tương đôi tự do Ta có thể viết chữ D

(decimal) sau một sô" để đánh dấu đó là số thập phân Tương tự chữ B (binary)

và chữ Ị í (hexadecimal) ở phía sau được dùng đ ể đánh dấu một số nhị phân và một số thập lục phân C ác ngôn ngữ lập trình đều có quy định riêng đổ xác định

hộ đếm của m ột sô" Thông thường, nếu không viết thêm gì ta có một số thập

phân Ngôn ngữ Pascal dùng ký tự đô-la “$” trước một số d ể chỉ ra số đó là sô"

thập lục phân HỢp ngữ của vi xử lý họ Intel dùng quy ước viết ký tự “B” và “H” sau số như đã n êu trôn Hợp ngữ của vi xử lý hay vi điều khiển họ Motorola dùng tự phần trăm “%” và ký tự “Ox” trước một sô đ ề quy ưđc số nhị phân và

nhân nằm ở thổi quen tư duy và sử dụng hệ thập phân của loài người Ngày nay,

phép dổi số cổ th ể dược thực hiện dễ dàng hầng một máy tính bỏ túi Tuy vậy, khả năng thực hiện những phép tính này được coi như m ột kỹ năng cơ bản của người lạp trình Đ ể đổi ra hệ nhị phân hay thập lục phân, ta chỉ cần chia s ố thập phân cho cơ số của hệ (2 hoặc 16) s ố dơ là trị số, thương sổ được chia tiếp để tinh trị sỏ tiếp theo Trong hệ nhị phân, trị số đầu tiên (ngoài cùng bên phải) được gọi là LSB (least significant hit) và trị số cuối cùng (ngoài cùng bên trái)

được gọi là MSB (most significant bit) Bảng 1.2 minh họa cách dổi một số thập phân ra thập lục phân hay nhị phân:

Trang 12

6 1 KHÁI Nựi M r ơ BẢN

1.3 BIỂU DIỄN SÔ NGUYÊN THEO MÃ NHỊ PHÂN

1.3.1 Số thập phân mã hóa nhị phân BCD

Vì hệ thập lục phân cổ den 16 ký tự nôn đủ đ ể hiểu diễn 10 ký tự của chữ sỏ thập phân Nêu ta dùng 4 hit của hệ nhị phân hay một chữ số’ của hệ thập hục phân d ể biểu dien một s ố thập phân, thì sỏ đó dược gọi là số thập phân mã h(óa nhị phan BCD (binary coded decimal) Phương pháp này hay dùng tro n g cômg nghẹ vi iínlì vì nó rât tiện chuyển đổi Chẳng hạn muốn dổi một số BCD saing

mã ASCII (american Standard code for in fo rm a tio n interchange, đề cập trti ở phần sau), ta chỉ cần cộng thêm giá trị 30H (là mẵ của số 0) vào số BCD d ẩ n

dổi Sỏ 410 hiểu diễn dưới dạng BCD không nén như sau:

N = 4 1 0 / ) = 0 0 0 0 0 1 0 0 0000 0001 0000 OOOOtfl RCD = 0 4 0 1 0 0 H \fírn (1 6)

Phần Iđn các vi xử lý và hộ nhđ đều dùng đ(fn vị xử lý nhỏ nhất là m ột by te (lbyte=8bit, thanii ghi nhỏ nhất và một tế bào bộ nhớ đều cổ kích thước 1 hytíe) nôn phải dùng ca H hit đ ể hiểu diễn một trị sô của BCD Việc này quá lãng p)hí

vì chỉ cổ 4 hit thấp (hay 1 nipple thấp) được dùng đến, 4 bit cao bị bỏ trống Niếu dùng cả 4 hit cao đ ể biểu diễn ta có một số BCD nén (packed BCD) C ách bỉtểu diễn này được CMOS-RAM của máy vi tính cá nhân dùng đ ể hiểu diễn ngàiy, giờ, tháng, năm ( dược đi sâu trong chương 6) Ví dụ sau đây cho thấy cách biíểu diễn số thập phân 59 hằng một hy te BCD nén:

N = 5 9 D = 010 1 1 0 0 1 « = 5 9 H Rrn (I 7)

Khi lập trình, ta thường phải định nghĩa cách biểu diễn các hiến số nguyỗằn

S ố nhị phân thường được.coi là m ộ t số nguyên không dấu (unsigned intẹgcĩr) Tương tự như hệ số học, d ể hiểu diễn số nguyên cổ dấu (signed integer) ta (Cổ

thể dùng I hit de hiểu diễn dấu Phương pháp này còn gọi là hiểu diễn dâu-gjiả

trị (signed-magnitude) r á c h biểu diễn dấu giá trị bất tiện khi cài đặt trong vi xử

lý n ên cổ hai cách hiểu diễn khác là: dâu-bù 1 (signed-Ts complement) và

dấu-bù 2 (signed-2's complement) Ví dụ sau minh họa hiểu diễn số - 9 bằnỄD K bit qua 3 cách hiểu diễn trôn:

Trang 13

1.4 B l Ể t I DIỄN SỐ T H ự ( 1 TI ỈBO MÃ NHỊ PHẢN 7

• Sỏ +9:

• Mil u (Jicn dâu-giá trị:

• Hit'll dien dau-bù ỉ (nghịch đảo +9):

(XXK) 1001

1()(K) 1001

1111 0110

• Bic U dien dấu-bù 2 (dâu-hù 1 cộng thêm 1): 1111 0111

c ách bien dien dấu-bù 2 hay được dùng nhất trong vi xử l ý Bit cao nhất MSH I-IÔn xác dịnh dấu số nguyôn (0 là số dưđng, 1 là số âm) Nếu hit MSB bằng (-, g iấ trị số nguyên hằng giá trị nhị phân Nếu hit MSB hằng 1, giá trị tuyệt ôối của sỏ nguyên có dấu bù 2 dược tính theo nguyên tắc sau:

• S ô n h ị p h â n ( - 9 =1 1 1 0 1 1 1 ) t r ừ đi 1: (1111 0 1 1 1 - 1 = 1111 0 1 1 0 ) ,

• Báo ttừng giá trị (0 thành 1, 1 thành 0, ra giá trị tuyệt đối:) (XXX) l(X)l (+9)

( Y> liai cách hiểu diễn một số thực trong hệ nhị phân: số có dấu chấm tĩnh (fixedpoint number) và số cố dâu chấm dộng (floating point number) Cách thứ nhất diĩực dùng trong những vi xử lý (microprocessor) hay vi điều khiển (niicrtcomtrollcr) cu Cách thứ hai hay được dùng hiện nay và cỏ dộ chính xác

cao Dflfu chain ở dây là dấu ngăn thập phân (giữa hàng đơn vị và phần giá trị

nhỏ h(fn m ột đơn vị) Dấu chấm này của hệ Anh-Mỹ tương đơdng vđi dấu phẩy cil a V ọt Nam và các hệ lục địa châu Âu Đ ề tiện so sánh vđi tài liệu về công nghe thô ng tin (phần lớn được viết bằng tiếng Anh), khái niệm dấu châm được giữ llạitnong cuốn sách này

1.4.1 Biểu diễn dấu châm tĩnh

( 'ấ.h biểu dien dấu chấm tĩnh trong hệ nhị phan hoàn toàn tương tự như cách hiểtii (icm một số thực thông thường của hệ thập phân Phần giá trị lớn hơn 1 dtíỢk: vic t vào phía bên trái của dấu chấm và phần giá trị nhỏ hơn 1 dược viết vào pliai bên phải Công thức chung đ ể biểu diễn m ột số thực dâu chấm tĩnh (iìx<edpo>int number) được viết như sau:

(1.8)

ï'pnjg đó K là số thực cần biểu diễn gồm n trị số đứng trước và m trị số đứng

sa» díu chấm Tùy thuộc vào hộ thập phân hay hộ nhị phân mà C(1 số 5 có giá trị

Trang 14

8 1 KHÁI NIỆM C ơ BẢN

10 hay 2 Giá trị nhỏ nhất có thể biểu diễn được (hay độ chính xác của cách biểu diễn này) được tính như sau (già thiết có 8 bit đ ể hiểu diễn phần sau d ấu c h ấ m ):

A R = s m = 8 => A R = 2 8 = 0.00390625 <( 1.9)

1.4.2 Biểu diễn dâ'u châm động

Khác với cách biểu diễn dâu chấm tĩnh, cách biểu diễn số thực dấu c:hítm động (floating point number) có khả nãng hiệu chỉnh theo giá trị cùa s ố tthực ('ách hiểu diễn chung cho mọi hệ đ ếm như sau:

Trong đó m là phần định trị (mantissa), trong hệ thập phân giá trị tuyệit đối của nó phải luôn nhò hơn 1 (-1</H<1) s ố e là phần mũ (exponent) và li là Ihằng

số (2,16 ) Ta có thể dùng hằng s ố với m ột giá trị bất kỳ (2, 10, 16), nhữmg hệ dếm hay dùng nhât là ,8=10 Hai ví dụ sau đây minh họa cách biểu diễm dấu chấm dộng trong hệ thập phân:

~ 7 5 0 = - 0 , 7 5 • 103 = - 0 7 5 £ 3

( 1 1 1 )0,00105 = 0,1 0 5 -1 0 = 0 , 1 0 5 £ - 2

C huẩn IEEE 754-1985 là chuẩn được mọi hãng chấp nhận và đưực idùng trong bộ xử lý toán học của Intel Bít dấu nằm tại vị trí cao nhât Kích tthưđc phần mil và khuôn dạng phần định trị thay đổi theo từng loại s ố thực, (hình 1.2) Ciiá trị đầu tiên Mo luôn được mặc định là 1 Giá trị s ố thực ngắn IEEE dượcc tinh như sau:

R = ( - \ ) s - ( Ì + M r 2-' +„ + M „ 2 - n ) - 2 E1 E°-w ( 1.14)Phần 5.3 đề cập rõ hđn cách gài đạt chuẩn sô" thực dấu chấm động ỊIEEE trong vi xử lý hiện đại

Trang 15

1.5 B I Ể U DIỄN THÔNG TIN THEO DẠNG MÃ NHỊ PHÂN 9

Giá trị thự c (tính bit cao nhất là bit dâu):

133-127= 6 Dẵu: 0=số dương

G iá tri sỗ thự c là: R = + 1 ,1008906 2°=70,457

Hình 1.2 Khuôn dạng và ví dụ tính số thực của chuẩn IEEE

1.5.1 Biểu diễn ký tự

Phần trên đà dề cập đến cách hiểu diễn số của hệ nhị phân Những số này

được dùng cho các phép toán được xử lý trong máy vi tính Đ ể biểu diễn thông tin mà con người có thể hiểu được, máy vi tính cần một giao diện thích hợp ( 'á c h truyền thống nhất đ ể con người trao đổi thông tin là chữ viết Khái niệm chít viết khỏng chỉ giới hạn trong bộ ký tự chữ cái La tinh, nó còn có thể là chữ tƯỢng hình như chữ Trung Quốc hay chữ cái khác như chữ

Ả Rập) Vì công nghệ vi tính hiện đại xuất phát từ Mỹ nên bộ mã ký tự chuẩn trong còng nghệ thông tin là mã của người Mỹ Mã này gán cho mỗi ký tự đọc tiưực (bao gồm cả số và các chữ cái La tinh) và không đọc được (ký tự điều khiển) một số nhị phân nhất định Mã này dược gọi là mã chuẩn của Mỹ dành

Trang 16

10 1 KHÁI NIỆM c ơ BẢN

cho việc trao đổi thông tin ASCII4 (american Standard code for iníbnnmtion interchange) Chuẩn này dùng một byte đ ể biểu diễn m ột ký tự Mà ASCHI cơ hản chỉ dùng 7 hit đ ể mã hóa, hit cuối cùng (bit 7, MSB) là hit kiểm tra chẵĩn lẻ (parity bit) Bit này giúp phát hiện lỗi khi truyền dữ liệu sô"

Văn bản chỉ dùng ASCII cơ bản được gọi là văn bản thô (plain te x t ) \ iLoại văn bản này chỉ chứa ký tự Trái lại, văn bản đặc tả (còn gọi là “ fancy text” hay

“rich text” ) được hổ xung thêm thông tin mô tả đặc điểm ký tự (nghiêng, (đậm

) như LATEX, SGML, HTML, XML Do Internet cung như việc truyền một tệp nhị phân hằng thư điện tử ngày càng thông dụng Đ ể truyền tệp dạng’ nhị phân qua giao thức email chương trình phải mã hóa nổ m ột lần nữa Khi mhận được tệp, máy tính giải mã 7 bit sang mã 8 bit Nhiều chương trình thư điện tiử có khả năng mã hóa và giải mã cài đặt sẩnố Bảng 1.3 liệt kê sơ lược hảng mã

ASCII cơ hản Mã ASCII cơ bản được viện chuẩn quấc gia Mỹ ANSI (amerrican

national stadards institute) và tổ chức chuẩn quốc t ế ISO (international standlards • organisation) lấy làm chuẩn ISO 646

Bảng 1.3 cho thây, 32 ký tự đầu tiên của mã ASCII được dùng đ ể điều klhiển các hệ thống ngoại vi như máy in, hộ vào ra đầu cuối (terminal) M ột đặc đliềm hay một m ẹo nhỏ lý thú là mã ký tự chữ cái trừ di 64 ra mã diều khiển, p h é p trừ được tiến hành trong phần cứng của bàn phím khi ta cùng bấm phím Ctrrl và

m ột phím chữ cái Như vậy, d ể đưa một ký tự diều khiển (không nhìn thấy đtƯỢc)vào máy, ta chỉ cần bấm phím Ctrl và phím chữ cái tương ứng, chẳng hạn:

• Back Space (BS, mã 8, Ctrl+H),

• Tab (HT, nia 9, Ctrl+I),

• Escape (ECS, mã 27, Ctrl+W),

• Break (ETX, ină 3, Ctrl+C)

Ngoài ra, một mã ASCII bất kỳ có thể được nhận qua hàn phím bằng icách

b ấm phím Alt, sau đó đưa m ã dưới dạng thập phân vào qua bàn phínn số (numerical keys)

4 Đọc là “ As-xờ-ki"

* Khái niệm văn bản thô (plain text) được mở rộng cho cả Unicode

6 M IM E (multipurpose internet mail extensions) là quy định truyền các mã khác vớĩi mà

ASCII qua Internet, được IETF (internet engineering task force) khỏi xướng vào năm 11992 Chuẩn M IM E còn được dùng cho các chương trình truy nhập mạng để xem tệp dữ liệ u kháíc với khổ H TM L Chuẩn mới S /M IM B hồ trợ giao thức truyền mật inã (encryption)

Trang 17

1.5 BI ỂI I DIỄN THỎNG TIN THEO DẠNG MẢ NHỊ PHẢN 1 1

lìàng 1.3 Phân bỏ" mã trong chuẩn ASCII cơ bán

• D ù n g phần ASCII mở rộng gồm cả 8 bit của một byte 256 ký tự có thể có từ

X hit chỉ đủ cho chừ cái của các thứ tiếng châu Âu (Đức, Pháp, Tây Ban Nha ), và tạm đủ cho tiếng Việt, nhưng không đủ cho hệ chữ tượng hình

n h ư (Hán, Màn, Nhật) Chuẩn ISO 646 hổ sung thêm 1 bit dược gọi là inã

l alin 1 (X hil) Mã này chứa chữ cái của các thứ tiếng châu Au

• D ù n g nlìiều hyte đ ể hiểu diễn mã một ký tự Phương án này khiến văn bản

Iđn lên nhiều lần so vđi văn bản dùng mã ASCII Chuẩn ISO 10646 b ắt đầu

xuất hiộn từ năm 1983 Chuẩn này dùng 16 hit đ ể hiểu diễn 65536 ký tự

128 ký lự dầu của chuẩn này hoàn toàn tương thích với chuẩn ASCII cơ bản

M ột vấn đề lớn của chuẩn ISO 10646 là các mã điều khiển Phần lđn các

thict bị ngoại vị cần đến những mã điều khiển này Loại bỏ số ký tự bị mã

dieu khiển chiếm giừ (7 hit cuối của 2 byte m ã) ta m ất 40% trong tổng số

65536 mà Một vân đề khác là sự trùng lặp ký tự của các hệ chừ tượng hình

Ký tự Nhật và Hàn Quốc đều có nguồn gốc Hán tự nên hội đồng chuẩn ISO

10646 tìm cách tạo chuẩn ký tự tượng hình theo Hán tự đ ể tiết kiệm số mã Hội đồng chuẩn quốc gia Trung Quốc đồng ý vđi đề nghị này, nhưng hội đổng Hàn Quốc và Nhật Bản không đồng ý Kết quả là mỗi ngôn ngữ giữ một không gian mã riêng và chuẩn ISO 10646 cần đên 4 byte mã cho một

ký tự Vđi chuẩn này, một mã ASCII cơ bản được k èm theo 3 byte 20H (mã của ký tự trống <space>) Chuẩn Unicode do hăng Xerox dề nghị dùng 2 bytes d ể mã hóa m ột ký tự Đặc điểm chính của Unicode là nó không chứa

ký tự diều khiển và dùng cả 16 bit để m ã hỏa ký tự Bảng 1.4 cho thấy cách phân bô mã trong chuẩn Unicode: 8192 giá trị đầu được dành cho chữ cái chuẩn, 4096 giá trị tiếp là mã toán học, ký hiệu kỷ thuật v.v, 4096 giá trị sau nữa dành cho chữ tượng hình Hình 1.3 so sánh các chuẩn ký tự cơ bản

Trang 18

12 1 KHÁI NIỆM C ơ BẢN

Bảng ỉ 4 Phân bô' mã trong chuẩn Unicode

Mã thâp phân Ký tự

0 đến 8191 Chữ cái: Anh, Latin 1, chàu Âu, Latin mở rộng, chữ cái phiên âm, Việt

Nam, Hy Lạp Nga, Armenia Do Thái, Ả Rập, Ethiopy, Dvanagari, Benigali, Gurmukhi, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Ca-Na-Đa, Mã Lai Xây Lan, Thái, Lào, Miến Điện, Khơme, Tây Tạng, Mông c ổ V.V.

Hình 1.3 So sánh mã ASCII Latin l, Unicode và ISO 10646 của ký tự "C"

Unicode là mã 16 bit, đ ể dùng được trên môi trường 8 bit (ví dụ trong giao thức truyền dữ liệu hay giao diện lập trình ứng dụng A PI-appliaation programming interface) mã Unicode dược chuyển thành một chuỗi hyte theo) q u y

định UTF-8 (I ỉnicode transformation format-8).

Unicode cùng định nghĩa mã cho các âm tiết trong tiếng V iệt (diacríticas) và

các phụ âm nhân m ạnh (vocalized letter, như chữ “đ” ) T ên dài trong hệề tệp

FAT32 (xem chương 9) của Microsoft Windows được mã hoá băng Unicode

Unicode quy định các chữ cái có âm tiết của tiếng Việt là các ký tự tổng hợp (composite character) Ví dụ chữ “ấ ” là tổng hợp của hai ký tự “â ” và Một chuỗi ký tự tổng hợp bao gồm nguyên âm cd sở (“â ” trong ví dụ trên) được: tiếp nôì bởi các ký tự dấu thanh Nguyên âm cở sở và dấu thanh được đặt vào «cùng một vị trí khi hiển thị Nếu chữ cái được tổng hỢp từ hai hay nhiều hơn ký tiự âm tiết, thứ tự các d ấu không quan trọng nếu không cổ luật chính tả cụ thể

C ác ký tự được tổng hợp trước (precomposed character) như chữ “đ chỉ (dùng một lììă duy nhất d ể mô tả C ác chưđng trình xử lý văn bản thường phân tícHì các

ký tự tổng hợp trước thành ký tự tổng hợp với chứ cái cđ sở và â m tiết đ ế tiện

xử lý

Đ ể biểu diễn chữ cái tiếng Việt, các mã cần biểu diễn đủ:

• 33 chữ cái thường: a ả â b c d d e ê f g h i j k l m n ô ơ p q r s t u ư v w x y z

Ngày đăng: 06/01/2020, 23:45

TỪ KHÓA LIÊN QUAN