Giáo trình kiến trúc máy tính I - Chương 5 - Pdf 19


Chương V: Mạch tuần tự 130Chương V: Mạch tuần tự Trong chương trước chúng ta ñã xem xét các mạch tổ hợp
mà các ngõ ra tại một thời ñiểm chỉ phụ thuộc vào duy nhất các giá
trị ñầu vào tại thời ñiểm ñó. Tuy nhiên phần lớn các mạch số ñều
hoạt ñộng mà ở một thời ñiểm nhất ñịnh các ngõ ra sẽ phụ thuộc
không những vào các ngõ vào ở thời ñiểm ñó mà cón phụ thuộc
vào ngõ ra ở thời ñiểm trước ñó, hay nói cách khác một số ngõ ra
của một mạch lại là chính ngõ vào của mạch ñó. Những mạch như
vậy chủ yếu là các thành phần lưu trữ mà ta gọi là mạch tuần tự.
Chúng ta cũng biết rằng hầu hết các thiết bị số ngày nay ñều có các
thành phần lưu trữ, do ñó trước khi tìm hiểu về bộ nhớ máy tính ta
cần tìm hiểu về mạch tuần tự. Kiểu mạch tuần tự thông dụng thuộc
loại ñồng bộ. Mạch tuần tự ñồng bộ sử dụng các tín hiệu ảnh hưởng
ñến các thành phần lưu trữ chỉ tại các khoảng thời gian rời rạc.
5.1. Xung ñồng hồ
Trong nhiều mạch số, thứ tự diễn ra biến cố là vấn ñề rất
quan trọng. ðôi khi biến cố này phải ñi trước biến cố kia, thinh
thỏang hai biến cố phải diễn ra ñồng thời. Nhằm cho phép nhà thiết
kế ñạt ñược quan hệ ñịnh thời gian cần thiết, nhiều mạch số sử
dụng một ngõ vào cho xung ñồng hồ. Khi ñó, ñồng hồ (clock) là
mạch phát xung với ñộ rộng xung và thời khoảng chính xác giữa
các xung liên tiếp. Thời khoảng giữa các biến tương ứng của hai

4. Biên xuống của C
2

Ta ñã biết rằng các mạch số hoạt ñộng ở các mức cao và
thấp, do ñó các thời ñiểm khác nhau có thể ñược gắn với các biên
của xung ñồng hồ. Từ ñó ta có thể ñiều khiển ñược tại thời ñiểm
nào thì cho phép hay kích thích mạch nào ñó hoạt ñộng, và tại thời
ñiểm nào thì không.
5.2. Mạch Lật (chốt – latch)
Mạch lật hay một số sách gọi là chốt, là dạng mạch tuần tự
ñơn giản nhất có chức năng lưu trữ một bit nhị phân. Nó có hai ngõ
ra, một cho trị bình thường và một cho trị bù. Mạch lật ñồng bộ duy
trì trạng thái nhị phân cho ñến khi có một xung ñồng hồ ñiều khiển
làm ñổi trạng thái. Sự khác nhau giữa các loại mạch lật ở chỗ số
ngõ vào chúng có và cách thức các ngõ vào tác ñộng ñến trạng thái
nhị phân. Các loại mạch lật thông dụng nhất như trình bày dưới
ñây. Delay

C
1
C
2
a)

b)
U4
NOR2
1
2
3
_
Q
Q
S
R

b)
Hình 5.2. Mạch lật SR không ñồng bộ
Ta thử xem hoạt ñộng của mạch như sau:
– Giải sử Q ñang ở trạng thái 0 (Q=0,
Q =1), cho tín hiệu
vào S=R=0, như vậy ñầu ra của U3 sẽ là:
100 =+=+= SQQ ,
và ñầu ra của U4 sẽ là :
S

Q

Q
R


Chương V: Mạch tuần tự
SR.
=> Hoạt ñông của mạch lật SR ñược thể hiện qua bảng trạng thái
5.1.
S R Q(t+1)
0 0 Q(t) No change
0 1 0 Clear to 0
1 0 1 Set to 1
1 1 X Indeterminate
Bảng 5.1. Bảng trạng thái của mạch lật SR

Chương V: Mạch tuần tự 134

ðối với mỗi mạch lật thì bao giờ cũng có 2 loại, không
ñồng bộ và mạch lật ñồng bộ, nhưng trên thực tế thì người ta chủ
yếu dùng mạch ñồng bộ, do ñó ở ñây chúng ta cũng sẽ tìm hiểu kỹ
hơn về loại này. Mạch lật SR ñồng bộ (dùng xung ñồng hồ) như ở
hình 5.3 (a), hình 5.3 (b) là sơ ñồ mạch của mạch lật này. Nó có ba
ngõ vào, S (Setting- ñặt), R (Resetting - Khởi ñộng) và C (Clock-
ñồng hồ). Nó có một ngõ ra Q và ñôi khi có ngõ ra bù, ký hiệu
bằng một vòng tròn nhỏ.
a)
U2
AND2
1

ảnh hưởng theo trị của ngõ vào S và R. Nếu S=1, R=0, Q chuyển
sang 1. Nếu S=0, R=1 Q chuyển sang 0. Nếu S và R là 0 khi ñồng
hồ chuyển, ngõ ra không ñổi. Khi cả S và R là 1, ngõ ra không xác
ñịnh, có thể là 0 hoặc 1 tùy thuộc vào khoảng thời gian trì hoãn
trong mạch. Hay nói cách khác khi C luôn bằng 1 thì mạch lật SR
ñồng bộ (hình 5.3) hoạt ñộng như mạch lật SR không ñồng bộ
(hình 5.2) ở trên.

S

C

Q

Q
R


Chương V: Mạch tuần tự 135

5.2.2. Mạch lật D
Mạch lật D (Data) là loại mạch lật ñơn giản nhất, nó chỉ hơi
khác mạch lật SR. Mạch lật SR ñược ñổi sang mạch lật D bằng
cách ñưa vào một cổng ñảo giữa S và R và dùng ký hiệu D cho ngõ
vào duy nhất (xem hình 5.4 b). Khi D=1, ngõ ra là 1, khi D=0, ngõ
ra là 0.
Hình 5.4(a) cho ta thấy qui ước ký hiệu và bảng ñặc tính

1
2
3
U1
AND2
1
2
3
U5
NOT
12
D
Q
_
Q
C

b)
Hình 5.4. Mạch lật D
Lưu ý là không có ñiều kiện nhập ñể giữ trạng thái của
mạch lật D. Tuy mạch lật D thuận tiện là chỉ có một ngõ vào nhưng
bất tiện là không có ñiều kiện không ñổi Q(t+1) = Q(t). ðiều kiện
không ñổi có thể lấy bằng cách vô hiệu tín hiệu ñồng hồ hoặc cho

Chương V: Mạch tuần tự 136

ngõ ra trở lại ngõ vào, lúc ñó xung ñồng hồ sẽ giữ trạng thái mạch

chính do ñiều ñó mà mạch lật JK ñược sử dụng nhiều hơn.
5.2.4. Mạch lật T
Mạch lật cuối cùng là kế thừa của mạch lật JK bằng cách
kết nối hai ngõ vào với nhau thành một ngõ vào T. Hình 5.6, là ký
hiệu và bảng trạng thái mạch. Xuất phát từ mạch lật JK với hai ngõ
vào ñược kết nối thành một ngõ vào T. Vì vậy mạch lật T chỉ có hai
ñiều kiện. Khi T=0 (J=K=0) , với mọi giá trị của C không thay ñổi
trạng thái của mạch lật. Khi T=1 (J=K=1), và khi C =1 sẽ làm bù
trạng thái mạch lật. Các ñiều kiện này có thể biểu diễn bằng
phương trình thuộc tính : Q(t+1) = Q(t)

T.

Chương V: Mạch tuần tự 137

T
C
Q
Q
Complement1
Q(t) No change0
Q(t+1)T
Complement1
Q(t) No change0
Q(t+1)T
)(tQ

138

tiếp dương. Chuyển tiếp dương có hiệu lực thường là một phần rất
nhỏ trong tổng chu kỳ xung ñồng hồ.

D
C
Q
Q
D
C
Q
Q
Hình 5.7. Flip-flop D với chuyển tiếp dương
Thường ñối với các flip-flop ngoài cách dùng bảng trạng
thái người ta còn hay dùng biểu ñồ trạng thái như trong hình 5.8 (a)
và ñồ thị miêu tả hoạt ñộng của mạch ở dạng tín hiệu ở hình 5.8(b).

a)

b)
Hình 5.8. Biểu ñồ trạng thái và ñồ thị của flip-flop D
Biểu ñồ trạng thái (hình 5.8a) cho ta cái nhìn khái quát và
dễ hiểu hơn của việc chuyển ñổi các trạng thái mạch. Khi ñang ở
trạng thái 0 (vòng tròn có số 0), nếu D=0 thì trạng thái không ñổi

các tổ hợp nhập cần có ñể tạo ra một thay ñổi trạng thái yêu cầu.
Bảng này ta gọi là bảng kích thích mạch lật lề.
Trong bảng 5.2. cho ta thấy hoạt ñộng của bốn loại mạch lật
lề D, SR, JK và T. Mỗi bảng gồm các cột :
– Q(t) – cho giá trị mạch ở thời ñiểm t

Q(t+1) – cho giá trị mạch ở thời ñiểm sau ñó t+1

Các cột cho mỗi ngõ vào.
Bảng này cho thấy ứng với các ngõ vào trạng thái của mạch
sẽ ñược chuyển tiếp ra sao. Có bốn khả năng chuyển tiếp từ trạng
thái hiện hành Q(t) sang trạng thái kế Q(t+1). Các ñiều kiện nhập
cho mỗi một chuyển tiếp này xuất phát từ thông tin trong bảng ñặc
tính. Ký hiệu x trong bảng biểu diễn một ñiều kiện không cần
D

C

Q

Q

Chương V: Mạch tuần tự 140

(don’t care condition) hoặc tùy chọn; tức là 0 hoặc 1 ñều không ảnh
hưởng.



Q(t+1)

J

K

Q(t)

Q(t+1)

T

0 0 0

x 0 0 0
0 1 1

x 0 1 1
1 0 x

1 1 0 1
1 1 x

0 1 1 0
Bảng 5.2 Bảng kích thích của bốn mạch lật lề
Lý do có ñiều kiện không cần trong bảng kích thích vì có
hai cách lấy chuyển tiếp. Ví dụ, trong mạch lật JK, một chuyển tiếp
từ trạng thái hiện hành 0 sang trạng thái kế 0 có thể nhận ñược
bằng cách cho J=K=0 (không ñổi) hoặc J=0, K=1 ñể xóa mạch lật

Clock
Input
Output
Combinational
circuit
Flip-flops
Clock
Input
Output

Hình 5.9. Sơ ñồ khối mạch tuần tự
Qui trình thiết kế mạch tuần tự ñược thể hiện qua các bước sau:
Bước 1: Chuyển ñặc tả mạch sang lược ñồ trạng thái
Bước 2: lược ñồ trạng thái => bảng trạng thái
Bước 3: Từ bảng trạng thái viết hàm cho các ngõ nhập của
Flip-flops
Bước 4: vẽ sơ ñồ mạch
ðể hiểu rõ mạch tuần tự và cách thiết kế nó, ta sẽ bắt ñầu
bằng việc xem xét một ví dụ ñơn giản sau
Ví dụ: Thiết kế mạch tuần tự dùng mạch lật SR. Khi ngõ nhập
x=0, trạng thái mạch lật lề không thay ñổi, ngõ xuất y=0. Khi x=1,
dãy trạng thái là 11,10,01,00 và lặp lại còn ngõ xuất y sẽ có giá trị
là 1 khi số bit trạng thái mạch lật lề bằng 1 là lẻ, các trường hợp
còn lại thì bằng 0.
Giải:
Bước 1:

Chương V: Mạch tuần tự

1/0

1/1

1/0

0/0

0/0

0/0

0/0

Chương V: Mạch tuần tự 143

=> trên ñường chuyển trạng thái ta ghi 1/0. Ở ñây ta lưu ý là trạng
thái mạch lật lề chỉ thay ñổi ở chuyển tiếp của xung ñồng hồ,
nhưng trong khi lập luận ñể cho ñơn giản và ñỡ nhầm lẫn ta không
ñề cập ñến nó.
Bước 2:
Từ lược ñồ trạng thái này ta sẽ xây dựng một bảng trạng
thái
. Theo yêu cầu dùng flip-flop SR, ma ta ñã biết mỗi flip-flop
cho phép ta nhớ 1 bit. Vậy ở ñây ta có 4 trạng thái, do ñó cần có hai
flip-flop ñể mã hóa chúng. Ta gọi 2 flip-flop ñó là A và B, và các

flip-flop A, khi A chuyển từ 0 sang 0 thì S
A
=0, R
A
=x; khi A chuyển
từ 0 sang 1 thì S
A
=1, R
A
=0;….
Chương V: Mạch tuần tự 144

Trạng
thái hiện
tại
Nhập

Trạng
thái
kế
Ngõ nhập vào các
flip-flop
ðầu ra


flip-flop. Chú ý là các hàm tìm ñược phải là ngắn gọn nhất, ñể làm
ñược việc ñó ta phải dùng bản ñồ Karnaugh ñể rút gọn chúng.
Trước hết từ bảng 5.3 => bản ñồ Karnaugh cho ñầu vào S
A
như
sau :

Từ bản ñồ này ta suy ra => S
A
= xBA
Tương tự như vậy cho các cổng còn lại, ta có bản ñồ Karnaugh cho
R
A
:
Bx
A

00011110

0



1110

0

1
1 1
Bx
A

00

01

11

10
0

x 1
1 x 1

=> R
B
= Bx

Bx

10

0 x x x
1 1
=> R
A
= xBA


Chương V: Mạch tuần tự 146

– S
A
= xBA
– R
A
= xBA
– S
B
= xB
– R
B
= Bx
Từ ví dụ này chúng ta thấy rằng phương trình nhập mạch lật
là biểu thức Boolean của mạch tổ hợp.
Bước 4:
Bước này là ñơn giản nhất vì khi ñã có hàm Boolean rồi thì

B

A

B

Hình 5.11. Sơ ñồ mạch của ví dụ
Clock

y


Chương V: Mạch tuần tự 147

Chú ý là khi vẽ mạch thì các ñầu vào lấy từ các ñầu ra
nghịch ñảo của flip-flop phải ñược lấy từ ñầu ra
Q
của flip-flop
tương ứng. Ví dụ R
A
= xBA thì ñầu
B
phải ñược lấy từ ñầu ra
Q

của flip-flop B chứ không ñược dùng ñầu ra Q của flip-flop B rồi
cho qua một cổng inverter.


Chương V: Mạch tuần tự 148

trạng thái hiện hành. Phần trạng thái kế cho thấy trạng thái
của mạch lật tại một chu kỳ sau ñó là thời ñiểm t+1. Phần
xuất cho trị của y với mỗi trạng thái hiện hành và ñiều
kiện nhập.
- Lược ñồ trạng thái và bảng trạng thái ñề mô tả hoạt ñộng
của mạch tuần tự. Có lược ñồ trạng thái thì ta có thể suy ra
bảng trạng thái và ngược lại.

Bài tập chương V

1. Hãy chứng minh rằng JK flip-flop có thể chuyển sang D
flip-flop với một cổng ñảo ñặt giữa các ngõ nhập J và K
2.
Thiết kế mạch tuần tự dùng mạch lật JK. Khi ngõ nhập
x=0, trạng thái mạch lật không thay ñổi. Khi x=1, dãy trạng thái là
11,01,10,00 và lặp lại.
3. Một mạch tuần tự gồm 2 D flip-flop A và B , 2 ngõ nhập
x,y một ngõ xuất z. Phương trình các ngõ nhập vào các flip-flop và

phép mạch hoạt ñộng hay không)
7.
Thiết kế mạch tuần tự dùng mạch lật T. Khi ngõ nhập
x=0, trạng thái mạch lật không thay ñổi. Khi x=1, dãy trạng thái là
00,10,01,11 và lặp lại.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status