Nội dung giáo trình Kỹ thuật số 1 bao gồm:
Trang 1Trang 1
LỜI NÓI ĐẦU
Hiện nay các thiết bị số và đặc biệt là máy tính ngày càng được
sử dụng rộng rãi để giải quyết vô số các vấn đề khoa học và kỹ thuật của thời đại chúng ta
Các thiết bị số và máy tính là những hệ thống có độ tin cậy cao,
dễ xây dựng, sử dụng và có hiệu quả cao Nó đã mở ra những khả năng vô cùng to lớn trước kỹ thuật hiện đại
Các thiết bị số và máy tính là những hệ thống có cấu tạo phức tạp, nhưng số các phần tử cơ bản để tạo thành nó thì tương đối ít Nghĩa là trong số các vấn đề cấu trúc máy việc thiết kế các đơn
vị chiếm ít thời gian Nhưng một loại công việc hoàn toàn khác đòi hỏi nhiều thời gian hơn đó là thiết kế logic hệ thống
Thiết kế logic hay còn gọi là Kỹ Thuật Số là công cụ đắc lực giúp
ta thiết kế tốt nhất các thiết bị số nghĩa là đảm bảo độ tin cậy, sự hoạt động đúng đắn của thiết bị với số các phần tử linh kiện là ít nhất
Người ta chia các hệ logic thành 2 loại:
Hệ logic tổ hợp (Combinational) và Hệ logic kế tiếp (sequential)
Đặc điểm của hệ logic tổ hợp là giá trị logic ở đầu ra tại một thời điểm bất kì chỉ phụ thuộc vào tổ hợp giá trị logic của các đầu vào của hệ tại thời điểm đó
Ngược lại ở các hệ logic kế tiếp giá trị logic ở đầu ra tại một thời điểm bất kỳ không những phụ thuộc vào các giá trị logic tại thời điểm đó mà còn phụ thuộc vào các giá trị đầu vào trước đó Nghĩa là hệ logic kế tiếp có trí nhớ hay có tính kế thừa các trạng thái vào của hệ trước đó
Để xây dựng các thiết bị số người ta có thể dùng logic mắc dãy
cố định (logic cable) nghĩa là dùng các phần tử logic cơ bản AND, NOT, OR, NOR và các phần tử nhớ
Nhưng với sự phát triển mạnh mẽ của kỹ thuật vi điện tử trong những năm qua, đặc biệt là sự ra đời của các vi điện tử cỡ lớn (LSI, VLSI), các bộ vi xử lý (µP) và các máy vi tính (µC), người ta xây dựng các hệ thống số điều khiển theo chương trình
Trang 2Nội dung giáo trình Kỹ thuật số 1 bao gồm:
Z Cơ sở số học của thiết bị số, đó là cơ sở để thực hiện các phép tính số học, xử lý tin tức số của hệ thống
Z Cơ sở logic của thiết bị số đó là cơ sở để thực hiện mạch điện cho các thiết bị số
Z Tổng hợp các hệ logic tổ hợp, nêu lên các bước và thiết kế xây dựng hệ tổ hợp Tổng hợp các hệ logic kế tiếp, nêu lên các bước thiết kế và xây dựng hệ kế tiếp
Người biên soạn
PGS.TS NGUYỄN GIA HIỂU
Trang 3Trang 3
CHƯƠNG 1 CƠ SỞ SỐ HỌC CỦA MÁY TÍNH ĐIỆN TỬ
Máy tính điện tử xử lý thông tin số và chữ Muốn vậy phải biết:
Cách biểu diễn thông tin
Cách thực hiện các phép tính
I Biểu diễn thông tin trong máy tính điện tử
Các thiết bị số, máy tính dùng để xử lý thông tin, đó là các dữ liệu được biểu diễn dưới dạng đặc biệt nhờ các bộ ký hiệu mà ta gọi là mã
Đối với thông tin chữ - số ta dùng mã ký tự để biểu diễn các chữ số “0, 1, 2, , 9”, các ký hiệu phép toán “+”, “-”, “* “, “/” và các bộ chữ cái (alphabet)
Để tiến hành các phép tính số học trong máy tính ta dùng mã số như mã nhị phân,
mã nhị thập phân, mã cơ số 8, mã cơ số 16
1 Mã hoá các thông tin không số
Hai loại mã phổ cập nhất là ASCII và EBCDIC
Trang 4b Mã EBCDIC
(Extended Binary Coded Decimal Interchange Code) dùng cả 8 bit để mã hoá thông tin Nó được sử dụng trong các máy tính lớn IBM và Burroughs
Sản phẩm của IBM phổ cập rộng rãi trên thế giới
Mã BAUDOT: dùng 5 bit để mã hoá thông tin Nó được dùng trong bưu điện và một
- Mã nhị thập phân (BCD Code – Binary Coded Decimal Code)
Các số thập phân được biểu diễn dưới dạng mã nhị phân Trong trường hợp khối lượng số liệu lớn và số phép tính phải thực hiện ít, thực hiện phép tính ngay trên mã nhị thâp phân, cần phải biên chỉnh kết quả khi nó lớn hơn 9
Một vài BCD Code 4 bít như sau:
Số thập phân Mã 8-4-2-1 Mã 4-2-2-1 Mã 8-4-(-2)-(-1) Mã dư 3 (Stibitz)
Trang 5Thường ngày ta dùng hệ đếm thập phân, trong máy tính dùng hệ nhị phân Ngoài
ra ta còn dùng hệ cơ số 8, hệ cơ số 16 Cơ số của hệ đếm là số lượng các chữ số khác nhau cần thiết để biểu diễn một con số bất kỳ
Một số N có thể viết dưới dạng tổng quát:
k
kRaN
Trong đó: R: cơ sở của hệ đếm
Trang 6Nhân liên tiếp N và các phần phân của tích nhận được sau mỗi phép nhân với cơ
số B (biểu diễn theo hệ đếm A) Các phần nguyên nhận được sau mỗi phép nhân cho ta dãy số biểu diễn số phân N theo hệ cơ số B
0,101 101110,101(2) = 141,3030…(5)
Trang 7b Ưu điểm của hệ nhị phân
Tính toán nhanh vì 0 → 1 và 1 → 0 xảy ra nhanh
Thiết bị có độ tin cậy cao vì chỉ có 2 trạng thái (1 hoặc 0)
Thực hiện các phép tính đơn giản
bù 10 hay –27
III Mô tả các số trong máy tính số
1 Mô tả các số trong máy dấu phẩy cố định và dấu phẩy di động
Ngoài việc tạo các số trong các hệ thống số ta cần xét:
- Dấu của các số được mô tả như thế nào
- Vị trí của các dấu phẩy thập phân hay nhị phân đặt ở đâu
Trang 8b Mô tả dấu phẩy cố định
Dấu phẩy sẽ phân chia chuỗi chữ số thành phần nguyên và phần phân số Ví dụ viết vào ngăn nhớ 2 số nhị phân
Ta thường sử dụng 3 loại: mã thuận, mã ngược (bù 1), mã bù (bù 2)
- Đối với số dương thì cả 3 loại mã này đều có dạng như sau:
A = +0,10010 → (A)th = (A)ng = (A)b = 0,10010
- Đối với số âm thì
A = -0,11001 → (A-)th = 1,11001 (dấu “ - ” = 1)
(mã ngược) → (A-)ng = 1,00110 (bù 1)
(mã bù) → (A-)b = 1,00111 (bù 1 sau đó thêm 1 vào ô cuối cùng)
IV Thực hiện các phép tính số học trong máy tính số
1 Cộng và trừ trong máy dấu phẩy cố định
Trang 9Trang 9
2 Cộng và trừ trong máy dấu phẩy di động
- Trước hết cần làm bằng nhau các phần đặt tính Phần đặc tính nhỏ hon được làm lớn lên bằng cách dịch phần định trị của số đó về bên phải tương ứng
- Sau đó đặc tính của tổng bằng đặc tính chung Còn phần định trị tiến hành cộng lại như ở dấu phẩy cố định
- Cuối cùng chuẩn hoá kết quả
3 Nhân: Trong phép nhân ta dùng mã thuận
a Nhân trong máy dấu phẩy cố định:
- Xác định dấu của tích bằng cách cộng modul 2 của 2 ô dấu
- Xác định trị số của tích bao gồm các phép tính tịnh tiến và cộng
b Nhân trong máy dấu phẩy di động:
- Xác định dấu như trên
- Cộng phần đặc tính, kết quả là đặc tính của tích
- Nhân phần định trị (không chú ý đến dấu)
- Chuẩn tắc kết quả Kết quả là định trị của tích
Ví dụ:
X = 0,1011 10+100
Y = 0,1010 10+100
X * Y = 0,01101110 10+1000 = 0,11011100 10+111
4 Chia: Để thực hiện phép chia ta cũng dùng mã thuận
a Chia trong máy dấu phẩy cố định
Trang 10- Xác định dấu của thương bằng phép cộng modulo 2 của 2 ô dấu
- Xác định trị số của thương bao gồm các phép tính trừ và dịch trái
b Chia trong máy dấu phẩy di động
- Xác định dấu của thương
Trang 12CHƯƠNG 2 – CƠ SỞ LOGIC CỦA MÁY TÍNH ĐIỆN TỬ
Đại số Boole là công cụ toán học quan trọng trong thiết kế máy tính điện tử Trong đại số Boole, các biến số lấy giá trị nhị phân và thực hiện các phép tính logic AND,
OR, NOT
I Các định lý cơ bản của đại số Boole:
1 Luật giao hoán
A.(B + C) = (A.B) + (A.C)
4 Tồn tại các hằng 0, 1 sao cho
A
B.AB)A
Trang 13Trang 13
B.AB
BAB
II Hàm Boole và bảng giá trị thật
1 Hàm Boole
Hàm Boole f của các biến số A, B được kí hiệu f(A, B) trong đó A và B lấy các giá trị nhị phân
- Nếu f1 và f2 là các hàm Boole thì f1 f2, f1 + f2, f1.f2 cũng là các hàm Boole
- Các tính chất của đại số Boole có thể được dùng để chứng minh sự tương đương của các hàm Boole
- Hàm yi = fi(x1, x1,…, xn) sẽ có 2n tổ hợp tín hiệu vào; nếu yi được xác định với mọi tổ hợp tín hiệu vào ta bảo đó là hàm Boole được xác định hoàn toàn
Nếu với tổ hợp tín hiệu vào nào đó mà yi không được xác định ta bảo đó là hàm Boole không được xác định hoàn toàn
2 Bảng giá trị thật (Truth table)
Ta cũng có thể cho hàm Boole dưới dạng bảng giá trị của hàm ứng với những tổ hợp giá trị khác nhau của các biến
Một danh sách đầy đủ các giá trị của hàm Boole gọi là bảng giá trị thật của hàm Hai hàm Boole tương đương với nhau nếu chúng có cùng bảng giá trị thật như nhau
Từ một hàm Boole ta viết ra được bảng giá trị thật của
nó Ngược lại từ bảng giá trị thật ta có thể viết ra hàm
Boole của nó
Cho hàm Boole 2 biến f(A,B)= AB+AB ta sẽ có bảng
giá trị thật như hình bên
Từ bảng giá trị thật này ta cũng suy lại được hàm f(A,B)
Giá trị f = 1 Nếu A = 0 và B = 1
Hoặc A = 1 và B = 0
Từ đây, f =AB+AB
Giá trị f = 0 Nếu A = 0 và B = 0
1Bvµ1
1B
1B
A =
0Bvµ0
0Bvµ0
0B
A + =
Trang 14Hoặc A = 1 và B = 1
Từ đây, =(A+B)(A+B)
Hàm này cũng trùng với hàm trên vì cùng từ một bảng:
BABABBABBAB A)BAB)(
=Như vậy từ một bảng giá trị thật ta viết ra được hai hàm Boole, nó chỉ khác nhau về hình thức
Ta cũng có thể viết ra 2 hàm Boole bù nữa (dual)
B)A)(
B(Af
ABBA
++
III Dạng chính tắc của hàm Boole
Ngoài bảng giá trị thật, ta có thể dùng dạng chính tắc của hàm Boole để kiểm tra các hàm Boole tương đương với nhau
Dạng chính tắc của hàm Boole là dạng đầy đủ các biến số của hàm trong các nhân
tố tích (tích logic) hoặc các nhân tố tổng (tổng logic)
n i i m
n
mα
Trang 15Trang 15
Với αi là giá trị số đặc tính phụ thuộc mối quan hệ hàm bằng 0 hay 1
αi = 0 vì 0.A = 0 nên minterm tương ứng với nó được bỏ đi
Ví dụ: Viết dạng chính tắc tuyển của hàm 3 biến số
3 7 7 3
2 2 3 1 1 3 0
0m αm αm αmα
C)B,
Nếu α0 = α2 = α3 = α4 = α6 = 0 và α1 = α5 = α7 = 1
∑
=++
7 3 5 3
mC)B,F(A,
b Dạng chính tắc hội của hàm logic
Là tích của các tổng dạng maxterm F (β M )
1 2 0 k
n k k M
Khi βk = 1 vì 1 + A = 1 nên maxterm tương ứng với vế được bỏ đi
Ví dụ: F(A,B,C)=∑3 (0,5,6,7)=∏3 (1,2,3,4)
))(
AB C B A C B A F
+++
++
++
+
=
++
+
=
Ta có thể nhận các dạng chính tắc từ các hàm Boole bằng cách áp dụng các định lý Boole
Từ hàm Boole biểu diễn dưới dạng tổng của các tích hay tích của các tổng nên hàm Boole có thể được thực hiện bằng mạch điện 2 mức với các phần tử AND, OR, NOT hoặc NAND hoặc NOR
IV Cực tiểu hàm Boole
1 Phương pháp đại số
Dựa vào các định lý cơ bản của đại số Boole biến đổi biểu thức tới dạng đơn giản
Ví dụ:
thô)hÊpL
§(theoD
CBA)BAD(
C
B
A
B)AD(
CBABD)DA
§(theoBD)
DA(CCBADCBDCAC
B
A
F
++
=+
+
=
+++
=++
+
=
+
=++
++
=+
Trang 16- Hàm n biến sẽ có 2n ô vuông, mỗi ô lấy giá trị 1, 0, d (don’t care) tuỳ theo quan
hệ hàm
- Cách sắp xếp các phần tử trên bảng sao cho 2 ô lân cận chỉ khác nhau 1 biến số
để áp dụng được các định lý:
yxyxvµyy
2.3 Thuật toán tối thiểu hoá hàm Boole dưới dạng tổng cách tích
Biểu diễn hàm trên bảng Karnaugh
Tạo nhóm ô vuông chứa “1” và “d” kề nhau thành khối vuông hay chữ nhật
chứa 2n ô vuông
Chọn các nhóm và ô vuông riêng lẻ theo quy luật
Mỗi chữ số “1” được chứa ít nhất 1 lần trong các nhóm đã chọn
Số lượng nhóm sao cho ít nhất và lớn nhất
Tổng các tích tương đương với các nhóm đã chọn chính là dạng tối thiểu của hàm Boole đã cho
Ví dụ: Cực tiểu hàm F(A,B,C)=∑3 (0,5,6,7)
ABACCBA
ABBCADCAD)
Trang 173 Phương pháp Quine - Cluskey
Dựa trên cơ sở Xy +Xy=X
3.1 Định nghĩa Implicant và Prim Implicant
- Implicant của hàm f là một nhân tố tích bao phủ ít nhất một điểm “1” của hàm f
và không bao phủ điểm “0”
- Prim Implicant là một implicant có tồn tại điểm “1” mà các Implicant khác không bao phủ nó
- Dạng cực tiểu của hàm f phải nằm trong số các Prim Implicant của hàm
3.2 Cực tiểu hàm với dạng tổng của các tích
- Đưa hàm cần cực tiểu về dạng chính tắc tổng các tích
- Xác định các Prim implicants của hàm đã cho bằng áp dụng Xy+Xy =X
- Chọn trong số các Prim implicants có dạng cực tiểu của hàm bằng bảng Prim Implicants
Ví dụ: Cực tiểu hàm F =∑6 (0,2,6,7,8,10,12,14,15,41)
Xác định các Prim implicants
Để áp dụng F= Xy+Xy =X một cách thuận lợi, ta nhóm các minterm theo
số các số 1, viết nó kế tiếp nhau trong 1 cột Trong mỗi nhóm sắp xếp theo thứ tự tăng dần, nhóm nọ cách nhóm kia bằng đường ngang
Chỉ 2 nhóm kế tiếp nhau mới có khả năng kết nối với nhau, nghĩa là các nhân
tố tích chỉ khác nhau 1 biến số hay hiệu 2 chữ số thập phân của nó phải bằng luỹ thừa số nguyên của 2 (2i=1, 2, 4, 8,…)
Nguyên tắc để kết nối tiếp theo là:
Hiệu các số thập phân đầu tiên là 2i
Chữ số nằm trong dấu ngoặc trùng nhau (vị trí đã kết nối)
Trang 18101001 41 (a) 12, 14 (2) 9 a, b, c, d, e
Lựa chọn các Prim implicants
Ta lập bảng Prim imlicant các cột là các minterm, các hàng là các prim
implicant nó bao các minterm của nó
Prim implicant được chọn là nó chứa cột mà các prim implicants khác không
xx(x
Trang 19Trang 19
V Mạng logic nhiều đầu ra
Trong trường hợp mạng logic tổ hợp có nhiều đầu ra ta cũng có thể sử dụng các phương pháp đã nêu và tiến hành với từng hàm riêng rẽ
Nhưng để đơn giản mạch điện, ta cần tìm những phần tử chung cho nhiều hàm Khi này bảng Prim implicant gồm các cột là các nhóm minterm của các hàm
Các hàng là các Prim implicant riêng và chung
Prim implicant có mặt cả ở phần chung và phần riêng thì chỉ cần lưu giữ ở phần chung nhất để rút gọn bảng Prim implicant và tận dụng phần tử chung
1x x ,x x x ,x x xx
Trang 201 x x x x x x x x
4 3 1 4 2
2 x x x x
3 2 1 4 3 1 4 3 1
3 2 1
x x
x x
2 1 2
xx
xxf
3 1 2
1, : x x
Trang 21Trang 21
1 1 1 1
3 2 1 3 2,
1, : x x x
2 1 3 2 3 2 1 3 1 2 3 1 2 1 3 2
Trang 23a Liệt kê các minterm và maxterm của E,F,E ,F ,E+F,E F
b Tìm dạng cực tiểu của hàm (E + F) và (E F) dưới dạng tổng các tích
và tích các tổng
Trang 24CHƯƠNG 3 TỔNG HỢP CÁC HỆ LOGIC TỔ HỢP
Các hàm logic (hàm Boole) được thực hiện nhờ các hệ vật lý gọi là hệ logic Có hai
loại hệ logic: hệ logic tổ hợp và hệ logic kế tiếp Chương này giới thiệu cách xây
dựng một số hệ logic thường gặp ở máy tính điện tử
I Dạng tín hiệu và các phần tử logic cơ bản
1 Dạng tín hiệu
Các giá trị nhị phân “0” và “1” của các hệ logic ứng với hai dạng tín hiệu xung hoặc
điện thế
Ví dụ: Dãy tín hiệu nhị phân “1101”
Theo quy ước mức logic dương: “1” ứng với có xung hay điện thế cao, “0” ứng với có
không có xung hay có mức điện áp thấp
Mức logic âm là có quy ước ngược lại
2 Các phần tử logic cơ bản
Để thực hiện các phép toán logic cơ bản ta dùng những phần tử logic cơ bản: AND,
OR, NOT, NAND, NOR
Sau đây là ký hiệu sơ đồ của các phần tử logic cơ bản:
1 Đặc trưng của hệ logic tổ hợp
Ở hệ logic tổ hợp giá trị các tín hiệu ra chỉ phụ thuộc vào giá trị các tín hiệu vào ở
thời điểm đó
t
v1
t Dạng tín hiệu xung
Trang 25Trang 25
Xác định được zi ta sẽ xây dựng được mạch điện
2 Các bước thiết kế mạch tổ hợp
- Từ bài toán đề ra ta xây dựng bảng giá trị thật của nó
- Cực tiểu hàm Boole của mạch nhờ bảng Karnaugh
- Xây dựng mạch điện trên cơ sở hàm Boole đã tìm được
1 1
1 1
=
++
+
=
n n n
n n n
n n n n
n n n
n n n
n n n
C B C
A B A Cn
C B A C
B A C
B A C
B A S
Trang 26c Thực hiện bộ giải mã
d Xây dựng mạch điện phục vụ máy bán kẹo
Máy bán 2 loại kẹo, loại c1 giá 10 xu, loại c2 giá 25 xu
Mua kẹo c1 bằng cách bỏ 10 đồng xu vào ngăn #1 và bấm nút c1 hay bỏ đồng 25
xu vào ngăn #2 và bấm nút c1, ta nhận được kẹo c1 và tiền thừa 5 xu ở ngăn #3 và
10 xu ở ngăn #4
Mua kẹo c2 bằng cách bỏ đồng 25 xu vào ngăn #2 và bấm c2
Hàm số có các đầu vào nhị phân sau:
xd(10) = 1 nếu đồng 10 xu đặt vào ngăn #1 và = 0 các trường hợp khác
xd(25) = 1 nếu đồng 25 xu đặt vào ngăn #2 và = 0 các trường hợp khác
xC1 = 1 nếu nút c1 được bấm và = 0 các trường hợp khác
xC2 = 1 nếu nút c2 được bấm và = 0 các trường hợp khác
Các đầu ra nhị phân sau:
zd5 = 1 nếu trả lại 5 xu ở ngăn #3 và = 0 các trường hợp khác
zd10 = 1 nếu đồng 10 xu ở ngăn #4 và = 0 các trường hợp khác
zC1 = 1 nếu trả kẹo c1 và = 0 các trường hợp khác
xC2 = 1 nếu trả kẹo c2 và = 0 các trường hợp khác
Bảng giá trị thật có 16 giá trị biến số vào (xd10, xd25, xC1, xC2) và tương ứng các giá trị của hàm đầu ra (zd5, zd10, zC1, zC2)
Các hàng 6, 7, 11: mô tả hoạt động đã được nêu ra ở đầu bài
A
B
C