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

Tài liệu đồ án vi mạch hệ vi xử lý 8085A, chương 2 doc

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 (67.47 KB, 7 trang )

Chương 2: Các đặc điểm bên trong
của Vi xử lý
a. Chiều dài từ dữ liệu:
Đặc điểm quan trọng nhất của Vi xử lý là chiều dài từ dữ
liệu. Vi xử lý đầu tiên có chiều dài từ dữ liệu là 4 bit, các Vi xử
lý sau này có chiều dài từ dữ liệu là 8 bit, 16 bit,
32 bit và 64 bit. Độ dài của từ dữ liệu nói lên tốc độ làm việc và
khả năng truy xuất bộ nhớ của Vi xử lý. Nếu Vi xử lý có chiều
dài từ dữ liệu lớn thì tốc độ xử lý công việc nhanh và khả năng
truy xuấ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. Nếu Vi xử lý có chiều dài từ dữ liệu
nhỏ hơn thì sẽ có tốc độ xử lý công việc chậm hơn và khả năng
truy xuất bộ nhớ cũng bò hạn chế hơn, được dùng trong các công
việc điều khiển và xử lý đơn giản. Các Vi xử lý 8 bit như:
8080A, 8085A của Intel; MC6800, MC6802 của Motorola; Z80
của Zilog; TMS9985 của Texas Instrument;
Các Vi xử lý 16 bit như 8086, 8088 của Intel; MC68000 của
Motorola; Z8000 của Zilog;
b. Độ dài từ đòa chỉ:
Dung lượng bộ nhớ mà Vi xử lý có thể truy xuất là một
phần trong cấu trúc của Vi xử lý. Để truy xuất được bộ nhớ thì
Vi xử lý phải biết được đòa chỉ của từng ô nhớ cụ thể, đòa chỉ của
ô nhớ được xác đònh bằng từ đòa chỉ. Độ dài của từ đòa chỉ cho
biết số lượng ô nhớ mà Vi xử lý có thể liên hệ trực tiếp, độ dài
của các thanh ghi rất cần thiết cho việc đònh đòa chỉ cũng phải có
khả năng tương ứng.
c. Tốc độ làm việc:
Tần số xung clock cung cấp cho Vi xử lý làm việc quyết
đònh tốc độ làm việc của Vi xử lý, tốc độ này được cho bởi nhà
chế tạo. Tốc độ xung clock càng cao thì Vi xử lý làm việc với
tốc độ càng lớn và khả năng xử lý lệnh càng nhanh.


d. Các thanh ghi:
Trong cấu trúc củaVi xử lý, các thanh ghi giữ một vai trò
quan trọng, chúng được dùng để xử lý dữ liệu. Có nhiều loại
thanh ghi trong Vi xử lý với các chức năng khác nhau, số lượng
thanh ghi đóng vai trò rất quan trọng đối với Vi xử lý và người
lập trình. Nếu Vi xử lý có số lượng thanh ghi càng nhiều thì
người lập trình có thể viết các chương trình điều khiển Vi xử lý
đơn giản hơn bởi việc sử dụng các thanh ghi được linh động và
đa dạng, điều này làm tăng tốc độ và khả năng xử lý chương
trình của Vi xử lý.
e. Tập lệnh:
Bất kì một Vi xử lý nào muốn hoạt động được thì phải có
tập lệnh. Do cấu tạo phần cứng khác nhau nên mỗi Vi xử lý có
tập lệnh khác nhau. Tập lệnh của Vi xử lý là một trong những
yếu tố cơ bản để đánh giá tốc độ làm việc của Vi xử lý. Nếu Vi
xử lý có nhiều mạch điện logic bên trong để thực hiện thì số
lượng lệnh điều khiển của Vi xử lý càng nhiều, khi đó Vi xử lý
càng lớn và độ phức tạp càng lớn. Tập lệnh của Vi xử lý càng
nhiều thì rất có ích cho người lập trình khi viết chương trình điều
khiển cho Vi xử lý.
3. Vi xử lý 8 bit:
Mỗi loại Vi xử lý sẽ có cấu trúc khác nhau nhưng thường có
các khối chính như sau:
- Khối đơn vò số học/logic (ALU -
Arithmetic Logic Unit).
- Các thanh ghi (Registers).
- Khối điều khiển logic (Control Logic).
Chức năng và nguyên lý hoạt động của các khối như sau:
a. Khối Đơn vò số học-logic (ALU - Arithmetic Logic Unit):
Đây là khối quan trọng nhất của Vi xử lý, khối này chứa các

mạch điện logic có chức năng chính là làm thay đổi dữ liệu.
ALU có hai ngõ vào là IN, đó chính là các ngõ vào dữ liệu cho
ALU xử lý và một ngõ ra OUT là ngõ ra kết quả dữ liệu đã được
ALU xử lý. Dữ liệu trước khi đưa vào ALU được chứa ở thanh
ghi đệm là TEMP1 và TEMP2. Thông thường, ALU luôn lấy dữ
liệu từ một thanh ghi đặc biệt có tên gọi là Bộ tích lũy
(Accumulator). Ngõ ra OUT cho phép ALU có thể gởi dữ liệu
đã được xử lý lên bus dữ liệu bên trong Vi xử lý, do đó thiết bò
nào kết nối với bus đều có thể nhận dữ liệu này, thường thì ALU
gởi dữ liệu đã được xử lý tới Bộ tích lũy. Khối ALU có thể thực
hiện các phép tính và xử lý sau:
Add Subtract And Or Exclusive Or
Shift right Shift left Increment Decrement
Complement
Memory Address
Register
High
| Low
Accumulator
(A)
Status
Register
Register B
Register C
16 bit
Address Bus
External input & output
control lines
Sơ đồ khối của một Vi xử lý 8 bit.
b. Các thanh ghi (Registers):

Các thanh ghi cơ bản luôn có trong một Vi xử lý là A, PC,
SP, F, các thanh ghi thông dụng là B, C, D, E, thanh ghi lệnh,
thanh ghi đòa chỉ.
Thanh ghi A (Accumulator): hay bộ tích lũy, đây là thanh
ghi quan trọng của Vi xử lý, nó có chức năng là lưu trữ dữ liệu
khi tính toán. Hầu hết các phép tính logic và số học đều diễn ra
giữa thanh ghi này và ALU. Nó có chức năng quan trọng khác là
truyền dữ liệu từ ô nhớ hay từ các thanh ghi bên trong ra các
thiết bò ngoại vi.
Thanh ghi PC (Program Counter)
: hay bộ đếm chương trình,
là thanh ghi cơ bản của Vi xử lý. Chức năng của thanh ghi PC là
quản lý lệnh đang thực hiện và lệnh sẽ được thực hiện tiếp theo.
Trước khi Vi xử lý thực hiện một chương trình thì thanh ghi PC
phải được nạp một con số, đó chính là đòa chỉ của ô nhớ chứa
lệnh đầu tiên của chương trình. Sau thực hiện việc đón lệnh từ
bộ nhớ, Vi xử lý sẽ tự động tăng nội dung PC để chuẩn bò đón
lệnh kế, PC chỉ tăng khi Vi xử lý bắt đầu thực hiện lệnh đón
trước đó.
Thanh ghi trạng thái (Status Register)
: còn được gọi là thanh
ghi cờ (Flag Register), dùng để lưu trữ kết quả của một số lệnh
kiểm tra có ảnh hưởng đến thanh ghi này. Các bit thường có
trong thanh ghi cờ là:
- Bit Carry “C”: khi kết quả tràn thì C = 1, ngược lại C = 0.
- Bit Zero “Z” : kết quả bằng 0 thì Z = 1, ngược lại Z = 0.
- Bit Negative “N”: khi bit MSB của thanh ghi là 1 thì N =
1, ngược lại N = 0.
- Bit Intermediate Carry “I”: giống như bit Carry nhưng chỉ
có tác dụng với phép cộng hay trừ trên 4 bit thấp.

- Bit Interupt Flag “IF”: IF = 1 khi người lập trình cho phép
ngắt, ngược lại IF = 0.
- Bit Overflow “O”: O = 1 khi bit Carry của phép toán cộng
với bit dấu của dữ liệu.
- Bit Parity “P”: P = 1 khi kết quả phép toán là số chẵn,
ngược lại P = 0.
Thanh ghi con trỏ ngăn xếp SP (Stack Pointer)
: chức năng
của thanh ghi con trỏ ngăn xếp là quản lý bộ nhớ ngăn xếp khi
có dữ liệu được lưu trữ tạm thời vào ngăn xếp. Cũng giống như
PC, SP cũng tự động chỉ đến ô nhớ kế. Các dữ liệu chứa trong
ngăn xếp được tổ chức theo nguyên tắc vào sau ra trước (LIFO:
Last In First Out). Trong hầu hết các Vi xử lý, SP tự giảm sau
khi thực hiện lệnh cất giữ dữ liệu vào ngăn xếp và ngược lại SP
sẽ tự tăng lên để chỉ đến ô nhớ tiếp theo trong ngăn xếp sau khi
Vi xử lý thực hiện lệnh lấy dữ liệu ra khỏi ngăn xếp. Vì thế giá
trò cho SP khi thiết lập thường là đòa chỉ cuối cùng của bộ nhớ.
Quá trình này do người lập trình thiết lập được gọi là khởi tạo
con trỏ ngăn xếp. Nếu không được khởi tạo, con trỏ ngăn xếp sẽ
chỉ đến một ô nhớ ngẫu nhiên. Khi đó dữ liệu cất vào ngăn xếp
có thể ghi đè lên dữ liệu khác làm chương trình xử lý sai.
Thanh ghi đòa chỉ (Address Register)
: khi Vi xử lý cần truy
xuất bộ nhớ, thanh ghi đòa chỉ phải tạo ra đúng đòa chỉ mà Vi xử
lý mong muốn. Ngõ ra của thanh ghi đòa chỉ được đặt lên bus đòa
chỉ, bus đòa chỉ dùng để lựa chọn một ô nhớ hay một port I/O
cần truy xuất.
Thanh ghi lệnh (Instruction Register)
: dùng để chứa lệnh Vi
xử lý đang thực hiện. Thanh ghi này do Vi xử lý sử dụng, người

lập trình không sử dụng.
Thanh ghi chứa dữ liệu tạm thời (Temporary Register)
:
dùng để ALU thực hiện các phép toán xử lý dữ liệu, người lập
trình không sử dụng thanh ghi này.

×