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

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

Đang tải... (xem toàn văn)

Thông tin tài liệu

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à chiều dài từ dữ liệu. Vi xử đầ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ử có chiều dài từ dữ liệu lớn thì tốc độ xử 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ử dữ liệu, điều khiển phức tạp. Nếu Vi xử có chiều dài từ dữ liệu nhỏ hơn thì sẽ có tốc độ xử 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ử đơn giản. Các Vi xử 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ử 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ử 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ử 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ử 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à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àm việc với tốc độ càng lớn và khả năng xử 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ử dữ liệu. Có nhiều loại thanh ghi trong Vi xử 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ử và người lập trình. Nếu Vi xử 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ử đơ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ử chương trình của Vi xử lý. e. Tập lệnh: Bất kì một Vi xử 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ử có tập lệnh khác nhau. Tập lệnh của Vi xử 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ử 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ử càng nhiều, khi đó Vi xử càng lớn và độ phức tạp càng lớn. Tập lệnh của Vi xử 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ử 8 bit: Mỗi loại Vi xử 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 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ử 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ê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ử tới Bộ tích lũy. Khối ALU có thể thực hiện các phép tính và xử 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ử 8 bit. b. Các thanh ghi (Registers): Các thanh ghi cơ bản luôn có trong một Vi xử 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ệnh đang thực hiện và lệnh sẽ được thực hiện tiếp theo. Trước khi Vi xử 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ử sẽ tự động tăng nội dung PC để chuẩn bò đón lệnh kế, PC chỉ tăng khi Vi xử 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 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ử thực hiện lệnh lấy dữ liệu ra khỏi ngăn xếp. 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ử sai. Thanh ghi đòa chỉ (Address Register) : khi Vi xử 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ử đang thực hiện. Thanh ghi này do Vi xử 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ử dữ liệu, người lập trình không sử dụng thanh ghi này. . 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ó. 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ó

Ngày đăng: 21/01/2014, 19:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan