Tải bản đầy đủ (.pdf) (10 trang)

Tài liệu Thiết kế mạch quang báo kết hợp KIT VXL và máy tính, chương 1 ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (70.26 KB, 10 trang )

CHƯƠNG 1:
TỔNG QUAN KỸ THUẬT VI XỬ LÝ
I.1.Lòch sử phát triển vi xử lý.
I.1.1.Giới thiệu chung về hệ thống vi xử lý.
Vi xử lý là sự kết hợp của hai kỹ thuật công nghệ quan
trọng:Đó là máy tính dùng kỹ thuật số và các vi mạch điện tử.
Hai công nghệ này kết hợp lại với nhau và các nhà nghiên cứu
đã chế tạo ra vi xử lý.
Chức năng chính của vi xử lý là xử lý dữ liệu chứa trong bộ
nhớ. Để làm được điều này vi xử lý phải có các mạch logic cho
việc xử lý dữ liệu và cần phải có chương trình. Chương trìng là
tập hợp các lệnh. Vi xử lý thực hiện một lệnh với trình tự như
sau:
 Đón lệnh từ bộ nhớ.
 Giải mã lệnh
 Thực hiện lệnh.
I.1.2.Năng lực của vi xử lý.
Khi nói đến năng lực của Microprocessor có nghóa là nói
đến khả năng xử lý dữ liệu, có 3 thông số để đánh giá năng lực
của Microprocessor.
 Chiều dài của từ dữ liệu của Microprocessor.
 Số lượng các ô nhớ mà Microprocessor có thể truy xuất
được.
 Tốc độ mà Microprocessor có thể thực hiện một lệnh.
I.2.Các khái niệm cơ bản về cấu trúc của vi xử lý.
I.2.1.Chiều dài từ dữ liệu.
Microprocessor đầu tiên có chiều dài từ dữ liệu là 4 bit,
tiếp theo là các Microprocessor 8 bit, 16 bit, 32 bit và 64 bit. Mỗi
Microprocessor có chiều dài từ dữ liệu khác nhau có một khả
năng ứng dụng khác nhau, các Microprocessor có chiều dài từ dữ
liệu lớn, tốc độ làm việc nhanh, khả năng truy suất bộ nhớ lớn


được dùng trong các công việc xử lý dữ liệu, điều khiển phức
tạp, các Microprocessor có chiều dài từ dữ liệu nhỏ hơn, khả
năng truy suất bộ nhớ nhỏ hơn, tốc độ làm việc thấp hơn được sử
dụng trong các công việc điều khiển và xử lý đơn giản chính vì
thế các Microprocessor này vẫn tồn tại.
I.2.2.Khả năng truy suất bộ nhớ.
Dung lượng bộ nhớ mà Microprocessor làm việc quyết
đònh đến tốc độ làm việc của Microprocessor. Các
Microprocessor đầu tiên bò giới hạn về khả năng truy xuất bộ
nhớ. Microprocessor 4004 có 14 đường điạ chỉ nên có thể truy
xuất được 2
14
= 16.384 ô nhớ, vi xử lý 8 bit có 16 đường điạ chỉ
nên có thể truy xuất được 2
16
= 65.536 ô nhớ, Microprocessor 16
bit có 20 đường điạ chỉ nên có thể truy suất 2
20
= 1.024.000 ô
nhớ, Microprocessor 32 bit như 386 hay 68020 có thể truy suất 4
G ô nhớ, Microprocessor có khả năng truy xuất bộ nhớ càng lớn
nên có thể xử lý các chương trình lớn. Tùy theo ứng dụng cụ thể
mà chọn một Microprocessor thích hợp.
I.2.3.Tốc độ làm việc của microprocessor
Tần số xung clock cung cấp cho Microprocessor làm việc
quyết đònh đến tốc độ làm việc của Microprocessor.
Microprocessor có tốc độ làm việc càng lớn thì khả năng xử lý
lệnh càng nhanh. Tần số xung Clock làm việc của các
Microprocessor được cho bởi các nhà chế tạo
I.2.4. Các thanh ghi của Microprocessor.

Các thanh ghi là một phần quan trọng trong cấu trúc của
Microprocessor. Các thanh ghi bên trong của Microprocessor
dùng để xử lý dữ liệu. Nếu Microprocessor có số lượng thanh ghi
nhiều thì người lập chương trình có thể viết các chương trình điều
khiển Microprocessor đơn giản hơn, làm tăng tốc độ xử lý
chương trình. Nếu Microprocessor có số lượng thanh ghi ít thì
chương trình sẽ phức tạp hơn, tốc độ xử lý chương trình chậm
hơn. Vậy số lượng các thanh ghi bên trong Microprocessor cũng
ảnh hưởng đến tốc độ và khả năng xử lý chương trình.

I.2.5.Các lệnh của Microprocessor.
Tập lệnh của Microprocessor là một trong những yếu tố cơ
bản để đánh giá tốc độ làm việc của Microprocessor. Nếu
Microprocessor có nhiều mạch điện logic bên trong để thực hiện
thì số lệnh điều khiển của Microprocessor càng nhiều, khi đó
Microprocessor càng lớn và độ phức tạp càng lớn. Ví dụ so sánh
2 tập lệnh của 2 Microprocessor 8 bit là 8051 và Z80 thì 8051 có
111 lệnh khác nhau còn Z80 có 158 lệnh. Tập lệnh của một
Microprocessor càng nhiều rất có ích khi lập trình hay viết
chương trình cho Microprocessor.
I.2.6.Cấu trúc truy xuất bộ nhớ.
Một phần quyết đònh sự mềm dẻo trong lập trình là số
lượng các kiểu truy suất bộ nhớ khác nhau của Microprocessor,
Microprocessor có nhiều kiểu truy suất bộ nhớ sẽ có khả năng xử
lý càng nhanh và cấu trúc các mạch điện bên trong càng phức
tạp. Microprosesor có chiều dài từ dữ liệu càng lớn thì có số
lượng các kiểu truy xuất bộ nhớ càng lớn.
I.2.7.Các mạch điện giao tiếp bên ngoài của Microprocessor.
Ngoài giao tiếp với bộ nhớ, Microprocessor có các mạch
điện giao tiếp với các mạch điện bên ngoài để điều khiển hay

mở rộng khả năng điều khiển. Các mạch điện bên ngoài là các
IC và được gọi là IC ngoại vi. Mỗi IC có một chức năng riêng,
tùy thuộc vào yêu cầu điều khiển mà chọn các IC ngoại vi.
Hình 1.1: Sơ đồ tổng quát của một hệ thống vi xử lý
I.3.Cấu trúc bên trong của bộ vi xử lý.
Một bộ vi xử lý gồm có hai phần chính là đơn vò thực hành
EU (execution unit) và đơn vò tương thích BUS là BIU.
+ EU thực hiện tất cả các phép tính toán số học và logic.
+ BIU thì thu nhận lệnh và dữ liệu từ bộ nhớ. Các lệnh này
dùng để điều khiển hoạt động CPU.
I.3.1.Đơn vò thực hiện.
EU là nơi xảy ra các quá trình xử lý dữ liệu trong bộ vi xử
lý. Ở đây có đơn vò số học và logic (ALU – ARITHMETIC
LOGIC UNIT) cộng với các thanh ghi xử lý số liệu và lưu trữ
các kết quả trung gian. EU nhận dữ liệu và các lệnh do BIU thu
được rồi xử lý các thông tin đó. Dữ liệu đã được xử lý trong EU
lại được chuyển ra bộ nhớ hoặc thiết bò ngoại vi thông qua BIU.
Như vậy EU không liên hệ trực tiếp với bên ngoài mà không
phải thông qua BIU.
I.3.2.Đơn vò tương thích Bus.
BIU gồm các mạch phát điạ chỉ và điều khiển Bus, dãy
chứa lệnh và con trỏ lệnh. Nó có nhiệm vụ bảo đảm cho Bus
được sử dụng hết dung lượng để tăng tốc độ các thao tác.
I.3.3. Bus đòa chỉ, Bus dữ liệu, Bus điều khiển.
a> Bus đòa chỉ
Một đòa chỉ ứng với môït vò trí duy nhất trong bộ nhớ. Đòa
chỉ rất cần thiết để có thể truy xuất chính xác đến vò trí cần thao
tác. Mỗi bộ vi xử lý đều có số Bus đòa chỉ khác nhau tương ứng
dung lượng nhớ mà CPU có thể truy suất tới.
b> Bus dữ liệu

Bus dữ liệu (Data Bus) để chuyển thông tin từ CPU đến bộ
nhớ và các bộ phận khác (thao tác ghi), nhận dữ liệu vào CPU
(thao tác đọc). Bus dữ liệu vừa thu vừa phát thông tin nên được
xem là Bus dữ liệu hai chiều. Tuy nó không thể đồng thời thu và
phát thông tin cùng một lúc.
c> Bus điều khiển
Các đường dây của Bus điều khiển dùng để xác đònh một
lệnh thực hiện vào lúc nào và như thế nào, xác đònh các thao tác
đọc, viết bộ nhớ, xác đònh chế độ hoạt động của CPU.
I.4.Cấu trúc CPU Z80.
I.4.1.Cấu tạo căn bản CPU Z80.
CPU Z80 có những đặc điểm sau:
 8 bit tác động song song.
 158 loại bệnh căn bản.
 Có 22 thanh ghi bên trong.
 Có tính năng ngắt (interrupt).
 Có thể nối trực tiếp với RAM tónh hoặc RAM động mà
hầu như không cần mạch phụ trợ bên ngoài.
 Tốc độ của lệnh Fetch là 1,6s (Z – 80), 1s (Z – 80A),
0,76
s (Z – 80B).
 Chỉ cần dùng một nguồn điện +5V duy nhất.
 Tất cả các chân xuất tín hiệu ra và nhập tín hiệu vào
đều thuộc loại TTL.
 Cấu trúc bên trong của CPU Z80
Các thanh ghi thường dùng
Thanh ghi chủ yếu Thanh ghi bổ trợ
Accumulator
A
Flag

F
Accumulator
A’
Flag
F’
B C B’ C’
D E D’ E’
H L H’ L’
Các thanh ghi chuyên dùng
Interrupt vector
Register I
Memory refesh
Register R
Index register IX
Index register IY
Stack Pointer SP
Program counter PC
I.4.2. Các thanh ghi của CPU -Z80.
a> Các thanh ghi đa năng: Bao gồm A, B, C, D,E, H, L.
Các thanh ghi đa năng có độ dài bằng số bit của BUS dữ liệu,
chúng có những chức năng sau:
 Là nơi CPU trao đổi dữ liệu, chứa dữ liệu được đọc từ
bên ngoài hay gởi dữ liệu ra.
 Là nơi chứa các toán hạng, kết quả của một phép toán.
b>Thanh ghi F (8bit):
Đây là thanh ghi cờ, và còn một thanh ghi cờ phụ là F’.
Khác với các thanh ghi trên, mỗi bit của thanh ghi cờ độc lập với
nhau và được CPU phản ánh tình trạng của kết quả sau một
phép toán nào đó. Mỗi bit được gọi là một cờ và người sử dụng
có thể kiểm tra bằng cờ.

S Z X H X P/V N C
Cấu trúc thanh ghi cờ CPU Z80
+ Cờ ZERO (cờ Z):
Sau một phép toán kết quả bằng 0 thì cờ Z = 1 và nếu kết quả
khác 0 thì cờ Z = 0.
+ Cờ CARRY (cờ C):
Cờ này phản ánh số nhớ hay số mượn sau một lệnh cộng
hoặc trừ. Cờ này là cờ hiệu ở bit cao nhất của bộ tích lũy.
+ Cờ SIGN (cờ S):
Đây là cờ dấu hay cờ âm, phản ánh được đặt tính về dấu.
Nếu S = 0 :Kết quả phép toán là dương.
Nếu S= 1 :Kết quả phép toán là âm.
Nói cách khác cờ S chính là giá trò của bit MSB của thanh ghi.
+ Cờ PARITY hay cờ OVER LOW (cờ P hay cờ V):
Đây là cờ cực tính hay cờ âm, cờ này tùy theo tác vụ thực hiện
mà có ý nghóa P hay V.
Nếu phép tính là lý luận thì cờ này là P.
Nếu phép tính là số học cờ thì này là V.
Tất cả các cờ trên, người sử dụng có thể kiểm tra được.
Ngoài ra thanh ghi còn có hai cờ người sử dụng không thể kiểm
tra được, các cờ này dùng cho phép tính BCD.
+ Cờ CPU (cờ H):
Cờ này có tác dụng nhờ cờ Carry nhưng nó chỉ phản ánh số
nhớ hay số mượn sinh ra ở bit thứ tư.
+ Cờ SUBTRACT (cờ N):
Cờ này dùng cho phép tính DAA, cho cả hai phép cộng
hoặc trừ.
c> Nhóm các thanh ghi phụ: A’, B’, C’, D’,E’, H’, L’
Sáu thanh ghi còn lại không phải là bộ tích lũy có thể được
sử dụng riêng như những thanh ghi 8 bit: B, C, D, G, H, L. Hay

chúng có thể được ghép cặp và sử dụng như những thanh ghi
16bit: BC, DE, HL.
d> Z80 còn có hai nhóm thanh ghi đặt biệt: có chức năng cố
đònh người lập trình không thể dùng nó cho một chức năng khác.
* Nhóm thanh ghi đặt biệt thứ nhất gồm có: thanh ghi
vector ngắt (I), thanh ghi làm tươi bộ nhớ (R), thanh ghi chỉ số
(IX) và (IY), con trỏ ngăn xếp (SP), thanh ghi PC (bộ đếm
chương trình), thanh ghi I và thanh ghi R là các thanh ghi có độ
dài 8 bit, các thanh ghi còn lại có độ dài 16bit.
+Thanh ghi PC (program counter) :
Nguyên tắc đối với một bộ vi xử lý và thi hành một lệnh
đặt tại đòa chỉ là nội dung của thanh ghi PC. Như vậy, thanh ghi
PC chứa đòa chỉ của lệnh tại một thời điểm nào đó. Lúc mới cấp
điện hay Reset CPU, thanh ghi PC sẽ chứa một giá trò nào đó và
đây chính là đòa chỉ để CPU bắt đầu thi hành chương trình.
Thanh ghi PC sẽ tự động tăng 1 sau mỗi byte, đặt biệt giá trò của
một thanh ghi PC có thể được nạp theo ý muốn của người sử
dụng. Điều này cho phép chương trình điều khiển có thể nạp lại.
+Thanh ghi SP (stack pointer) :
Đây là thanh con trỏ nhà hầm.
Nhà hầm (STACK): trong quá trình làm việc của CPU có
thể xuất hiện một yêu cầu như cất một thanh ghi hoặc một giá
trò nào đó. Nó sẽ cất những giá trò này được chọn là một vùng
nhớ này gọi là nhà hầm.
+Thanh ghi vector ngắt I (interrupt vecror) :
Dùng trong khi phục vụ ngắt quãng cho phép chương trình
phục vụ ngắt quãng đặt ở trong bộ nhớ. Thanh ghi vector ngắt sẽ
lưu trữ byte đòa chỉ cao của một vector ngắt và byte đòa chỉ thấp
sẽ được cung cấp từ thiết bò yêu cầu ngắt bên ngoài. Người lập
trình phải nạp byte đòa chỉ cao vào thanh ghi I trước khi sử dụng

ngắt. Thanh ghi I có độ dài từ dữ liệu 8 bit.
+Thanh ghi R (memory refresh) :
Đây là thanh ghi phục vụ việc làm tươi bộ nhớ. Trong CPU
Z 80 có chứa một bộ nhớ đệm để có làm tươi dễ dàng bộ nhớ
động. Thanh ghi R sẽ tự động tăng sau mỗi lần lấy lệnh. Dữ liệu
trong thanh R được gửi ra phần thấp của Bus đòa chỉ cùng với tín
hiệu làm tươi trong khi CPU giải mã và thực hiện lệnh vừa được
lấy ra. Do đó việc làm tươi không làm chậm chương trình và đối
với người lập chương trình thì điều đó coi như không có.
+Thanh ghi IX và thanh ghi IY (index register) :
Đây là các thanh ghi chỉ sử dụng trong kiểu đònh vò chỉ số,
hai thanh ghi này kết hợp với một giá trò tương đối có độ dài 8
bit làm tăng khả năng truy xuất bộ nhớ có điạ chỉ khác với điạ
chỉ đang chứa trong thanh chỉ số.
* Nhóm thanh ghi đặt biệt thứ hai là các flipflop điều
khiển ngắt.
Z80 có hai ngắt NMI và INT, ngắt NMI là ngắt không thể
ngăn được, ngắt INT là ngắt có thể ngăn được bởi người lập
trình.
Ngắt không ngăn được NMI được tác động bởi yêu cầu
ngắt NMI từ bên ngoài, khi tác động đến ngõ vào ngắt này, vi
xử lý sẽ nhảy đến đòa chỉ 0066
H
để thực hiện chương trình, đòa
chỉ này cố đònh.
Ngắt có thể ngăn được INT bởi lệnh DI và có thể cho phép bởi
lệnh EI. Trạng thái hiện tại của ngắt này được thiết lập trong
flip flop IFF1. Khi người lập trình cho phép ngắt INT, IFF1 được
set ở mức logic 1, khi người lập trìng không cho phép ngắt INT
thì IFF1 được reset về 0.

×