Giáo Trình: kỹ thuật số Chương I: HỆ thống số



tải về 1.09 Mb.
trang1/5
Chuyển đổi dữ liệu23.08.2016
Kích1.09 Mb.
#26883
  1   2   3   4   5

Giáo Trình: KỸ THUẬT SỐ

Chương I: HỆ THỐNG SỐ


    1. Số nhị phân:

      1. Khái niệm:

Số nhị phân được dùng để mã hóa các số thập phân nhằm đáp ứng cho các mạch điện tử sử dụng kỹ thuật tín hiệu số.

Bất kỳ một hệ thống số nào mỗi một con số đều mang một “trọng số” của nó và hệ nhị phân cũng không loại trừ điều này.

Ví dụ: một số nhị phân 8 bit: B7 B6 B5 B4 B3 B2 B1 B0. Bit thứ 8 (B7) là bit có ý nghĩa lớn nhất, được gọi là MSB (most significant bit) và ý nghĩa của các bit còn lại giảm dần đến B0 là bit có ý nghĩa thấp nhất được gọi là LSB (less significant bit).

Trọng số bit được biểu diễn bởi vị trí bit trong số nhị phân đó, nó được tăng dần từ trái sang phải



Ví dụ:

      1. Vị trí bit109876543210Trọng số bit21029282726252423222120Giá trị Dec10245122561286432168421Gii mã từ nh phân sang thập phân:

Bây giờ dựa vào bảng trên ta có thể đổi một số nhị phân bất kỳ thành số thập phân tương đương. Sau đây ta đổi một số nhị phân 8 bit thành số thập phân:

101101102 = ?10

Ta sẽ đổi từng bit nhị phân ứng với trọng số của nó ra thập phân.

Như vậy số thập phân tương ứng với số nhị phân 10110110 là 10910.



Ví dụ:

Đổi các số nhị phân sau đây ra thập phân:



  1. 0110 4. 100011011

  2. 101010 5. 1010110011

  3. 00100111

      1. Mã hóa từ thập phân sang nhị phân:

Ví dụ: mã hoá số 7510 sang số nhị phân

1024 512 256 128 64 32 16 8 4 2 1

1 0 0 1 0 1 1


Kết quả: 7510 = 10010112



Ví dụ:

Đổi các số thập phân sau đây ra số nhị phân:



  1. 36 5. 89

  2. 116 6. 567

  3. 231 7. 747

  4. 1023 8. 483

    1. Số thập lục phân:

      1. Khái niệm:

Hệ thập lục phân hiện nay được dùng khá rộng rãi trong hệ thống vi xử lý. Nó dùng hai ký tự được biểu diễn bởi 8 bit, mỗi một nhóm 4 bit cho một kí tự. Các kí tự biểu diễn trong hệ thập lục phân được biểu diễn bởi 0-9 và A-F, 16 kí tự này thể hiện được một hệ đếm cơ số 16.

Bảng dưới đây cho biết quan hệ giữa các hệ đếm: thập phân, nhị phân, thập lục phân:


Thập phânNhị phânThập lục phân000000100011200102300113401004501015601106701117810008910019101010A111011B121100C131101D141110E151111FMột nhóm 8 bit theo trình tự được mã hóa như sau:

0100 1110

4 E


Như vậy số nhị phân 8 bit 010011102 được biểu diễn sang thập lục phân là 4E16.

      1. Chuyển đổi từ thập phân sang thập lục phân:

Tổng quát, sẽ có những phương pháp chuyển đổi hữu hiệu hơn là việc nhìn vào bảng ở trên.

Ví dụ: Chuyển đổi số 9010 sang thập lục phân.

Bước 1: chuyển 9010 sang nhị phân 9010 =10110102

Bước 2: Chuyển nhị phân sang thập lục phân 10110102 = 5A16

Kết quả 9010 = 5A16.

Ví dụ:

Đổi các số thập phân sau sang số thập lục phân:



  1. 6910 4. 20910

  2. 3010 5. 200710

  3. 12510 6. 9910

      1. Chuyển đổi từ thập lục phân sang thập phân:

Ta lấy một ví dụ để minh hoạ cho cách chuyển đổi này:

Chuyển đổi 1AF16 sang số thập phân

Bước 1: Chuyển đổi từ thập lục phân sang nhị phân

1AF = 000110101111

Bước 2: Chuyển đổi từ nhị phân sang thập phân

000110101111 = 43110



Ví dụ:

Chuyển đổi các số thập lục phân sau về thập phân:



  1. 1BA16 4. 10016

  2. 20C16 5. F616

  3. 3916 6. 12316

    1. Hệ bát phân:

      1. Khái niệm:

Đây là hệ đếm ít thông dụng hơn, người ta dùng 8 ký tự số để biểu diễn một số: 0, 1, 2, …., 7. Như vậy một số ở hệ bát phân thì không có ký tự số lớn hơn 7.

      1. Cách đổi từ thập phân sang bát phân:

Tương tự cách đổi từ thập phân sang nhị phân, ta lấy số thập phân cần đổi chia cho 8 và lưu lại số dư. Đến khi thương số bằng không thì dừng lại, số dư được lấy ngược từ dưới lên thì chính là số bát phân.

Ví dụ:


Đổi số thập phân 47 thành bát phân.
Số thập phânSố chia (8)Số dư47875850

Như vậy số bát phân là 578



      1. Cách đổi từ bát phân sang thập phân:

Tương tự như cách đổi nhị phân sang thập phân. Các số bát phân cũng có các trọng số của nó. Chúng ta lấy tổng các số hạng trong đó mỗi số hạng là từng chữ số nhân với 8 mũ trọng số của chính chữ số đó.

Ví dụ:


Đổi số 25oct thành thập phân

25oct = 2* 81 + 5* 80 = 2110

Như vậy 258 = 2110

BÀI TẬP :


  1. Đổi các số thập phân ra nhị phân: 64, 16, 25, 123, 95, 78

  2. Đổi các số nhị phân sau sang thập phân: 11101, 10010, 111100, 100001, 1001001, 0010110

  3. Đổi các số thập phân sau sang thập lục phân: 145, 325, 270, 984, 158, 45, 92

  4. Đổi từ số HEX sang DEC: ABF, 12C, EF, 178, FF, AEF, 3B4, 9F.

  5. Đổi các số nhị phân ở câu 2 sang số bát phân, thập lục phân.

    1. Số BCD (Binary code decimal):

BCD là một dạng số thập phân được mã hóa bởi nhị phân. Mỗi thành phần của số BCD là một số nhị phân 4bit, có giá trị thập phân tương ứng từ 0 đến 9 như sau:

0000 -> 0001 -> 0010 -> 0011 -> 0100 -> 0101 -> 0110 -> 0111 -> 1000 -> 1001.

Để chuyển đổi từ một số BCD sang thập phân ta chỉ đơn giản chia từng nhóm 4 bit và đưa về thập phân tương ứng. Ví dụ:
Ta cũng có thể đổi từ thập phân sang BCD bằng cách chuyển từng chữ số của số thập phân sang nhị phân và ghép lại. Ví dụ: 123DEC = 0001 0010 0011BCD


    1. Số có bit dấu và không có bit dấu:

      1. Khái niệm:

Nếu chỉ xét các số dương, kể cả số 0 thì số nhị phân đã được trình bày trong phần trên, các số này gọi là số không dấu.

Trong tính toán số học, ta dùng dấu (+) để chỉ số dương và dấu (-) để chỉ số âm. Do đó ta phải tìm cách để diễn tả các số nhị phân có dấu. Cách thực hiện cơ bản là thêm bit ở bên trái để chỉ dấu: bit 0 chỉ số dương và bit 1 chỉ số âm. Khi đó, số nhị phân có dấu sẽ gồm 2 phần: dấu và độ lớn.



      1. Các phương pháp thực hiện:

Có ba phương pháp được dùng trong vấn đề số có dấu:

  1. Phương pháp bit dấu và giá trị

  2. Phương pháp bù một

  3. Phương pháp bù hai

  1. Phương pháp 1: bit dấu và giá trị.

Trong phương pháp này, số nhị phân chứa cả dấu và giá trị của nó. Vì vậy số âm và dương được biểu diễn như sau:

Ví dụ: +4510 = 0 0101101

-4510 = 1 0101101

Bit có trọng số lớn nhất chỉ dấu của số và các bit còn lại chỉ giá trị của nó.

0 (MSB): Số dương 1 (MSB): Số âm


  1. Phương pháp 2: bù một.

­Trong phương pháp bù 1, số dương được trình bày giống như ở trong phương pháp bit dấu và giá trị. Có nghĩa là MSB của số nhị phân được coi là bit dấu. Bit dấu bằng 0 thì số đó được coi là số dương, ngược lại bit dấu là 1 là số âm.

Ví dụ: +410 = 0 000 01002

+1710 = 0 001 01002

+12710 = 0 111 11112

Số âm được biểu diễn bằng cách lấy bù 1 của giá trị dương của số đó. Số bù 1 được thực hiện bằng cách chuyển đổi bit “1” thành bit “0” và ngược lại.

-410 = 1 111 10112

-1710 = 1 110 11102

-12710 = 1 000 00002



  1. Phương pháp 3: bù 2.

Để thể hiện số có dấu trong hệ thống vi xử lí, người ta dùng phương pháp bù 2. Trong phương pháp này, số dương được biểu diễn giống như ở phương pháp bit dấu và giá trị, cũng như phương pháp bù 1. Cách biểu diễn bit dấu như vậy cho các số dương lên đến +12710. Tuy nhiên các số âm được biểu diễn bằng cách bù 2 của số dương tương ứng.

Số bù 2 của một số là số bù 1 của số đó và cộng với 1

Ví dụ: tìm số bù 2 của –410

Bước 1: Số nhị phân của 410 0000 01002

Bước 2: Lấy bù một của 410 1111 10112

Bước 3: Cộng thêm 1 vào số bù 1 thì ta được số bù 2 của –410 là 1111 11002


Bit mẫuNhị phân không dấuSố bù haiSố bù 1Bit dấu và

giá tr0000 000000000000 00011+1+1+10000 00102+2+2+20000 00113+3+3+3…0111 1100124+124+124+1240111 1101125+125+125+1250111 1110126+126+1260111 1111127+127+1271000 0000128-128-12701000 0001129-127-126-11000 0010130-126-21000 0011131-125-3…1111 1100252-4-3-1241111 1101253-3-2-1251111 1110254-2-1-1261111 1111255-10-127 Phương pháp bù 2 trong các phép tính:

Một đặc tính của hệ thống bù 2 là cả các số có dấu và không dấu đều có thể cộng được trên cùng một mạch. Ví dụ ta cộng hai số 13210 với 1410 như sau:

Giả sử cả hai số hạng đều là những số bù hai có dấu, thì ta được:

Trong 1000 01002 MSB chính là bit dấu và là “1” nên là số âm, lấy bù 2 của các bit còn lại thì chính là 12410 nên 1000 01002 mới có giá trị là -12410 (bit dấu không xét trong giá trị)

Rõ ràng các cấu hình bit là như nhau. Chỉ có ý nghĩa mới thay đổi. Trong ví dụ đầu ta giả sử cấu hình bit là không dấu và bộ cộng sinh sang số không dấu. Trong ví dụ 2 cấu hình bit là số có dấu, nên bộ cộng sinh ra kết quả là số có dấu.

Điều này chứng tỏ một điều rất quan trọng đó là bộ cộng trong khối ALU luôn luôn cộng các số lại với nhau như thể chúng là những số không dấu. Ưu điểm của bù 2 là cấu hình bit được giải thích theo các kiểu khác nhau. Điều này cho phép ta làm việc với cả số có dấu và số không dấu mà không cần dùng các bộ cộng khác nhau cho mỗi trường hợp.

Các phép toán bù 2 mặt khác làm đơn giản hoá khối ALU. Trong tất cả các con vi xử lí đều có lệnh trừ. Vì vậy khối ALU phải có chức năng trừ một số này cho số khác. Tuy nhiên nếu tạo thêm mạch trừ trong khối ALU thì mạch điện sẽ trở nên phức tạp và giá thành sẽ cao.

Thực ra phương pháp bù 2 sẽ cho phép ALU sử dụng mạch cộng dể thực hiện phép trừ. Như vậy vi xử lí đã sử dụng cùng mạch điện cho cả việc cộng và trừ.



Phép trừ trong phương pháp bù 2

Bộ vi xử lí có thể thực hiện phép trừ bằng cách cộng trực tiếp số bù 2 của số trừ vào số bị trừ.

Thí dụ trên cho thấy nguyên nhân chính của việc dùng hệ thống bù 2 trong số có dấu, nó cho phép bộ vi xử lí thực hiện phép trừ và phép cộng trên cùng một mạch điện.


    1. Các mã số:

      1. Giới thiệu:

Để giao diện từ môi trường tương tự sang môi trường số, người ta chuyển tất cả các thông tin thành tín hiệu số ở dạng nhị phân. Do có nhiều dạng dữ liệu khác nhau nên phải có các qui định khác nhau về số nhị phân, mỗi một cách qui định ta gọi là mã số hay gọi tắt là mã. Có rất nhiều dạng mã, nhưng thông dụng nhất về mã số thập phân là mã BCD, mã về chữ số là mã ASCII.

      1. Mã BCD:

BCD được viết tắt của chữ Binary Code Decimal (số thập phân mã hoá thành nhị phân). Trong lĩnh vực máy tính, một chữ, số, ký tự nào đó đều được mã hóa thành các mã. ví dụ: chữ A máy tính sẽ không hiểu nên người ta dùng số nhị phân 1000001 để biểu diễn nó. Các tính chất về BCD đã được xét ở chương 1. Ngoài ra chúng ta xét đến các phép tính cơ bản trên BCD.

  1. Cộng số BCD:

Cộng hai số BCD có điểm khác với cộng hai số nhị phân. khi cộng hai số BCD có kết quả nhỏ hơn hoặc bằng 9 (1001) thì đó chính là kết quả cuối cùng. Khi tổng > 9 (1001) thì ta phải cộng kết quả đó với 6 (0110) để có kết quả là số BCD và tạo một số nhớ “1” lên hàng BCD có nghĩa cao hơn.

ví dụ: 0011 + 0100 = 0111 là một số nhỏ hơn 1001 nên 0111 là kết quả của việc cộng hai số BCD trên. Ví dụ khác: 0110 + 0101 = 1011 kết quả không là một số BCD (>1001) nên ta cộng kết quả với 0110 ta được 1011 + 0110 = 10001 và nhớ 1 ở hàng BCD có nghĩa cao hơn cụ thể là 1 0001 viết một cách chính xác là 0001 0001BCD (11DEC).



  1. Trừ số BCD:

Cũng giống như trừ nhị phân, nêu số bị trừ nhỏ hơn số trừ thì ta mượn ở hàng cao hơn đưa về, chú ý khi đưa 1 đơn vị ở hàng cao hơn về hàng nhỏ hơn kế nó thì ta cộng với hàng đang trừ một lượng là 1010, và dĩ nhiên ở hàng cao hơn phải mất đi một đơn vị. Ví dụ: 0011 0010 – 0001 0111 (tương đương 32 – 17) rõ ràng hàng đơn vị là 2 –7 không được người ta lấy 1 ở hàng chục. Khi đó hàng đơn vị là 0010 + 1010 = 1100 khi đó số bị trừ sẽ là 0010 1100 và số trừ là 0001 0111 vậy ta thực hiện phép trừ là:
Còn khi số bị trừ lớn hơn số trừ thì chúng ta thực hiện như ở nhị phân.

  1. Parity bit:

Như phần trên khảo sát, người ta dùng mã ASCII chuẩn 7 bit để truyền tải và xử lý dữ liệu. Nhưng thông thường người ta dùng 1 byte cho trường hợp này. Lúc đó người ta dùng bit thứ 8 cho việc kiểm tra quá trình truyền sai hay không, bit này được gọi là bit kiểm tra. Có hai dạng : kiểm tra chẵnkiểm tra l. Ở phần phát tín hiệu đi, khi tổng số bit “1” của dữ liệu và cả bit kiểm tra là một số chẵn thì được gọi là mạch phát chẵn, ngược lại gọi là mạch phát lẻ. Khi bên phát là phát chẵn thì bên thu cũng là kiểm tra chẵn. Nếu bên thu kiểm tra không phải là chẵn số bit “1” thì đã có lỗi ở đường truyền. Đây là một phương pháp kiểm tra lỗi khá đơn giản nhưng không thể phát hiện sai kép. Sau đây là một ví dụ cho cách thêm Parity bit ở mạch phát chẵn:

Dữ liệu gốc 7 bit Bit parity Dữ liệu 8 bit

100 0001 0 0100 0001

100 0101 1 1100 0101

Tương tự cho mạch phát lẻ, là ở dữ liệu 8 bit sẽ chứa một số lẻ bit “1”.

Chương 2: CỔNG LOGIC VÀ ĐI SỐ BOOLE


  1. Cổng logic:

  2. Cổng NOT:

- Ký hiệu:

Có ký hiệu như hình vẽ 2.1, gồm hai chân, một ngõ vào A và một ngõ ra Y.


- Bảng sự thật:

Bảng sự thật của cổng là quan hệ logic giữa ngõ vào và ngõ ra của cổng.

Cổng NOT hay còn gọi là cổng đảo có đặc điểm là ngõ ra có trang thái ngược với ngõ vào, được biểu diễn như sau:
- Các mạch tương đương:

Cho mạch điện như hình vẽ 2.2: khi công tắt A đóng thì đèn Y tắt, ngược lại khi công tắt A mở thì đèn Y sáng. Ơ đây ta qui định A đóng là mức “1”, A mở là mức “0”; tương tự như vậy, đèn sáng là múc “1”, đèn tắt là mức “0”. Như vậy rõ ràng mạch như một cổng NOT.

Ở hình 2.3, khi qui định VIN đủ lớn là mức “1”, VOUT có điện là mức “1” và ngược lại. Thì rõ ràng một cổng đảo được hình thành. Ơ đây ta xem VIN chính là A, VOUT là Y.

VINVOUT



01

10


  1. Cổng OR:

- Ký hiệu:

Ký hiệu như hình vẽ 2.4.



- Bảng sự thật:

Cổng OR có ít nhất là hai ngõ vào và một ngõ ra. Một cổng OR có thể có nhiều ngõ vào nhưng chỉ có một ngõ ra.

Ngõ ra Y của cổng OR lên một khi chỉ cần “1” ngõ vào lên “1”. Ngõ ra xuống “0” khi tất cả các ngõ vào xuống “0”. Bảng sự thật như sau:


ABY= A+B



000

011

101

111


- Mạch tương đương:

Mạch tương đường theo công tắt:

Xét mạch như hình vẽ 2.5, A và B là hai công tắt đóng vai trò ngõ vào, đèn Y là ngõ ra, thì hình 2.6 tương đương cổng OR. Đèn Y sáng khi chỉ cần A hoặc B đóng hay cả A và B cùng đóng.

Mạch tương đương theo diode:

Xét mạch như hình vẽ 2.6. A, B là hai ngõ vào có điện hoặc không có điện; Y là LED được xem là ngõ ra.

Chỉ cần một trong các ngõ vào lên “1” thì Y sẽ sáng (lên “1”).



  1. Cổng AND:

- Ký hiệu:

Cổng AND được ký hiệu như hình vẽ 2.7. Cổng AND có thể có nhiều ngõ vào (tối thiểu là 2) và có một ngõ ra, ngõ ra được ký hiệu Y=A.B



- Bảng sự thật:

Ở cổng này ngõ ra Y lên “1” khi tất cả các ngõ vào lên “1”. Chỉ cần một ngõ vào xuống “0” thì ngõ ra sẽ xuống “0”. Tính chất được thể hiện ở bảng bên dưới.


ABY=A.B

000

010

100

111

- Mạch điện tương đương:

Ta có thể dùng mạch điện để thể hiện tính chất của cổng AND như hình 2.8.

A, B là hai ngõ vào và đèn Y là ngõ ra. Đèn Y sáng khi và chỉ khi cả hai công tắt A, B cùng đóng.


  1. Cổng NOR:

- Ký hiệu:

Ký hiệu cổng NOR giống như cổng OR nhưng thêm phần đảo ở sau. Vì vậy mà tính chất của nó là OR + NOT. Số ngõ vào có ít nhất là 2, ngõ ra chỉ có 1.

Biểu thức ngỏ ra như sau:
- Bảng sự thật:

Tính chất của NOR, ký hiệu như hình 2.9, là OR +NOT nên có bảng sự thật ngược với OR. Bảng sự thật sau cho ta thấy tính chất của cổng OR hai ngõ vào.




- Mạch điện tương đương:

Rõ ràng theo mạch điện hình 2.10, khi A và B cùng mở thì Y sáng (Y= “1”). Chỉ cần A hoặc B hoặc cả A và B đóng thì đèn Y tắt (Y= “0”).



  1. Cổng NAND:

- Ký hiệu:

Cổng NAND có ký hiệu như hình 2.11

Thực ra nó chính là đảo của cổng AND, và được ký hiệu là

cho nên ngõ ra của nó có trạng thái ngược với cổng AND.



- Bảng sự thật:

Từ những nhận xét trên nên cổng NAND có bảng sự thật như sau:





H2.11

- Mạch điện tương đương:

Trong mạch này A, B là hai ngõ vào, đèn Y là ngõ ra. Ngõ ra Y chỉ lên “0” (đèn tắt) khi và chỉ khi cả hai công tắt A, B đều đóng (A= “1”, B= “1”).



  1. Cổng EX-OR:

- Ký hiệu:

Ký hiệu cổng EX-OR như hình vẽ 2.13.

Biểu thức ngõ ra của cổng như sau:

- Bảng sự thật:

Từ biểu thức ngõ ra, suy ra quan hệ giữa các ngõ vào và ra như bảng sự thật:




H2.13

- Mạch nửa cộng (half adder):

Mạch nửa cộng là một trong những ứng dụng của cổng EX-OR. Đây là mạch cộng hai số nhị phân một bit. Mạch được minh hoạ như hình 2.14. tính chất cộng của mạch được thể hiện qua bảng trạng thái sau:


ABSC

0000

0110

1010

1101

Ở đây ngõ ra S (Sum) là kết quả cộng, C (Carry) là ngõ ra lưu số nhớ.

Giả sử khi A= “1” và B= “1” thì tổng sẽ bằng “10” thì S=“0” và C=“1”, có thể coi S là LSB và C là MSB của số nhị phân hai bit SC.

- Mạch nửa trừ (half subtractor):

Đây chính là mạch trừ hai số nhị phân một bit. Bảng sự thật và sơ đồ mạch trên hình 2.15 cho ta thấy rõ tính chất của nó:


ABDW

0000

0101

1010

1100


H2.15

Trong đó WD là kết quả của phép trừ, cụ thể D(difference) là hiệu số và W (borrow) là phần mượn khi số bị trừ nhỏ hơn số trừ.



  1. Cổng EX-NOR:

Cổng EX-NOR, hình 2.16, là đảo của cổng EX-OR cho nên ký hiệu và tính chất của nó được suy ra từ cổng EX-OR.


H2.16

  1. Chuyển Đổi Giữa Các Cổng:

  2. Từ cổng NAND hoặc NOR sang NOT:


H2.17



  1. Từ cổng NAND, NOR sang AND, OR:


H2.18


  1. Từ cổng AND sang NAND, từ OR sang NOR:


H2.19

  1. Từ NAND sang OR, từ NOR sang AND:



H2.20


  1. Từ AND sang NOR, từ OR sang NAND:

H2.21


  1. Đại Số Boole:

  2. Giới Thiệu:

Đại số Boole là đại số của các biến số 2 trạng thái – các số nhị phân.

Hai trạng thái có thể là mức logic 0 và 1, hoặc trạng thái đóng và mở công tắc, hoặc cơ sở lý luận đúng và sai, …

Thông thường ta hay gọi các biến số ngõ vào là các chữ A, B, C, … và các hàm ngõ ra là các chữ X, Y , Z, …


  1. Các phép toán cơ bản về đại số Boole:

Các phép toán cơ bản:

- Phép cộng:

1+ 1 = 1 A + 1 = 1

1+ 0 = 1 A + 0 = A

0+ 0 = 0 A + A = A

Các cổng logic minh hoạ các phép toán trên hình H2.22.



H2.22

- Phép nhân:

Trong phép nhân có một số tính chất sau:

1*1 = 1 A*A = A

1*0 = 0 A*1 = A

0*0 = 0 A*0 = 0


Các cổng logic minh hoạ trên hình H2.23.

tải về 1.09 Mb.

Chia sẻ với bạn bè của bạn:
  1   2   3   4   5




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương