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

10 429 1
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

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

Thông tin tài liệu

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ố các vi mạch điện tử. Hai công nghệ này kết hợp lại với nhau 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 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 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 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 độ 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 độ 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 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 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 đượ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) đơ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 logic. + BIU thì thu nhận lệnh 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 logic (ALU – ARITHMETIC LOGIC UNIT) cộng với các thanh ghi xử lý số liệu lưu trữ các kết quả trung gian. EU nhận dữ liệu 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ỉ điều khiển Bus, dãy chứa lệnh 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ớ 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 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 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 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ờ, 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 đượ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ờ 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 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 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) (IY), con trỏ ngăn xếp (SP), thanh ghi PC (bộ đếm chương trình), thanh ghi I 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ý 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 đó đâ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 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ã 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 đối với người lập chương trình thì điều đó coi như không có. +Thanh ghi IX 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 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 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. . 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. là 80 51 và Z80 thì 80 51 có 11 1 lệnh khác nhau còn Z80 có 15 8 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

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

Từ khóa liên quan

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

Tài liệu liên quan