ôn tập kỹ thuật vi xử lý

36 496 3
ôn tập kỹ thuật vi xử lý

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HVBCVT C10VT123 ÔN TẬP MÔN KT VI XỬ LÍ I. Tổng quan CPU Kiến trúc lập trình theo tập lệnh (Instruction Set Architecture, ISA) 1. Là loại CPU lập trình, vạn năng. Về cơ bản lệnh của CPU bao gồm: - mã lệnh (opcode), cho biết lệnh thực hiện tính toán, hay là gì, bao gồm:  Tính toán: cộng, trừ, logic,  Chuyển dịch dữ liệu (M-M, M-CPU_REG, CPU_REG-I/O, I/O-M), quay trái/phải  Rẻ nhánh thực hiện chương trình theo điều kiện, nhảy không điều kiện. - Toán hạng (operand), là các dữ liệu của lệnh. Có thể có nhiều đối đi theo lệnh, đối có các kiểu khác nhau (là dữ liệu, hay địa chỉ bộ nhớ). - lưu trữ (storage), là các kiểu lưu trữ, phương thức địa chỉ hóa (tới bộ nhớ, tới thiết bị). - ngắt (interrupt), là phương thức làm cho qui trình điều khiển chuyển đổi sang xử lí một công việc nào đó khẩn cấp, sau đó trở lại qui trình trước đó. - Nguyên lí hoạt động: Theo mô hình Von Neumman 2.Ví dụ: 1 II. Các thành phần của HVXL II. 1 Cấu trúc cơ bản của hệ Vi xử lý Định thời hoạt động của CPU 2 Các khối chức năng cơ bản của một hệ Vi xử lý (hình I.3) gồm:  Đơn vị xử lý trung tâm (CPU)  Bộ nhớ ROM, RAM  Thiết bị vào (nhập dữ liệu - Input device)  Thiết bị ra (đưa dữ liệu ra - Output device)  Ngoài ra còn phải kể đến khối tạo xung nhịp (Clock Generator) và khối nguồn (Power Supply). Các khối chức năng cơ bản được nối với nhau qua một tập đường dây truyền dẫn tín hiệu điện gọi là BUS hệ thống. Dựa vào loại tín hiệu được truyền dẫn, BUS hệ thống được chia thành 3 BUS thành phần: BUS địa chỉ, BUS dữ liệu và BUS điều khiển. Thiết bị vào/ra thường được ghép nối với BUS hệ thống thông qua các mạch giao diện ghép nối (I/O Interface). Đơn vị xử lý trung tâm (Central Processing Unit – CPU) là khối chức năng cơ bản nhất để tạo nên một hệ Vi xử lý hay máy tính cá nhân (Personal Computer – PC). Máy vi tính là một trong những ứng dụng cụ thể của một hệ thống gọi là Hệ Vi xử lý. a) CPU thực hiện chức năng xử lý dữ liệu thông qua các hoạt động chính sau:  Đọc mã lệnh – đọc tập các bit thông tin ―0 và ―1 từ bộ nhớ Chính  Giải mã lệnh – tạo các xung điều khiển tương ứng với mã lệnh để điều khiển hoạt động của các khối chức năng khác  Thực hiện từng bước các thao tác xử lý dữ liệu theo yêu cầu của lệnh. Trong CPU có các thanh ghi (Registers):  Thanh ghi con trỏ lệnh IP (Instruction Pointer), trong các trung tâm vi xử lý trước đây còn gọi là thanh đếm chương trình PC (Program Counter) chứa địa chỉ của lệnh kế tiếp cần được thực hiện trong tuần tự thực hiện chương trình  Các thanh ghi đa dụng khác GPRs (General Purpose Registers) để lưu trữ tạm thời dữ liệu, kết quả trung gian hay trạng thái của hệ thống cùng với đơn vị số học và logic ALU (Arithmetic and Logic Unit) thực hiện các thao tác xử lý dữ liệu 3  Đơn vị điều khiển CU (Control Unit) là thành phần phức tạp nhất, có chức năng giải mã lệnh và tạo các tín hiệu điều khiển hoạt động của toàn hệ thống. b) Bộ nhớ chính được tổ chức từ các từ nhớ, theo chuẩn của IBM/PC từ nhớ có độ dài 1 byte (8 bits). Bộ nhớ này gồm các chip nhớ chỉ đọc ROM (Read Only Memory) và các chip nhớ truy xuất ngẫu nhiên RAM (Random Access Memory) có tốc độ truy cập nhanh. Bộ nhớ được sử dụng để chứa các chương trình và các dữ liệu điều khiển hoạt động của hệ thống. các chương trình ứng dụng và dữ liệu có thể được chứa ở ROM hoặc RAM, các kết quả trung gian hay kết quả cuối cùng của các thao tác xử lý có thể được chứa trong các thanh ghi đa dụng hoặc trong khối nhớ RAM . c) Các mạch ghép nối vào/ra là các mạch điện tử cho phép CPU trao đổi dữ liệu với các thiết bị ngoại vi như bàn phím, màn hình, máy in…làm giao diện với người dùng hoặc các bộ chuyển đổi số-tương tự DAC (Digital/Analog Converter), chuyển đổi tương tự-số ADC (Analog/Digital Converter), các mạch vào/ra dữ liệu dạng số DO (Digital Outputs), DI (Digital Inputs)… d) Hệ Vi xử lý còn có một mạch tạo xung nhịp gọi là đồng hồ hệ thống (Clock Generator) điều khiển và duy trì hoạt động đồng bộ của tất cả các khối chức năng. Bộ tạo xung này được điều khiển bằng một mạch thạch anh có tần số thích hợp và đảm bảo tần số làm việc ổn định cho toàn bộ hệ thống. e) Một khối nguồn nuôi (Power Supply) cung cấp năng lượng cho hệ thống từ mạng điện lưới. Bộ nguồn của các hệ Vi xử lý thông thường là bộ nguồn xung với kỹ thuật đóng-ngắt dùng bán dẫn công suất (Switching Power Supply), vừa gọn Ví dụ hoạt động của CPU 8085: Biểu đồ Timing thực hiện lệnh của CPU μP8085 Việc thực hiện một lệnh trong CPU P8085 thực tế là một chuỗi các thao tác READ và WRITE. Mỗi thao tác READ hay WRITE tương ứng với một chu 4 kỳ máy M. Mỗi lệnh được thực hiện qua 1 đến 5 chu kỳ máy. Mỗi chu kỳ máy cần từ 3 đến 5 nhịp đồng hồ (hay còn gọi là trạng thái T) Ở chu kỳ máy thứ nhất, CPU thực hiện việc nhận mã lệnh (Instruction Code Fetch), còn gọi là chu kỳ Opcode Fetch. Theo biểu đồ thời gian trên hình II.8, thấy rằng việc thực hiện chu kỳ máy M1 (chu kỳ nhận lệnh - Opcode Fetch), CPU gửi ra các tín hiệu IO/M, S1 và S0 (tương ứng 0, 1, 1 trên biểu đồ thời gian) xác định thao tác của chu kỳ. CPU cũng đồng thời gửi 16 bit địa chỉ ra ở chu kỳ máy đầu tiên, ngay từ nhịp đầu tiên (T1) để xác định ô nhớ hay thiết bị I/O. Nội dung PC chỉ tồn tại trong thời gian 1 nhịp nên cần phải được chốt lại nhờ tín hiệu ALE ở mức cao. Khi D7 – D0 đã ổn định trên các dây dữ liệu, CPU gửi tín hiệu RD. Khi 5 đã nhận được dữ liệu, RD chuyển lên mức cao để cấm vị trí ô nhớ hay thiết bị I/O. Số lượng chu kỳ máy và trạng thái cần cho thực hiện một lệnh là cố định, song số lượng này khác nhau đối với các lệnh khác nhau, tuỳ theo độ dài của từ lệnh (1 byte, 2 bytes, 3 bytes). Số lượng chu kỳ máy phụ thuộc vào số lần CPU phải liên lạc với các phần tử khác trong hệ thống, chủ yếu là với các chip khác. II.2 BUS Mô hình thường dùng để mô tả BUS: 1. BUS là tập các dây nối dùng để kết nối giữa các thành phần trong máy tính. Bus có một số đặc điểm sau đây:  Độ rộng của Bus: là tổng số đường dây nối tạo ra bus. Ví dụ: 16 bits, 32 bits, 64 bits, 128 bits, tạo thành bus 16 bits, bú 32 bits, …  Bus có thể là một chiều: tín hiệu chỉ đi ra từ một vi mạch, ví dụ từ CPU, nối đến các vi mạch khác hay, bus hai chiều, tín hiệu đi từ một vi mạch tới các vi mạch khác. Cách tín hiệu đi theo chiều nào do chương trình máy tính điều khiển và chiều được xác định chỉ trong chu kì lệnh đó, thời gian này rất ngắn.  Các loại bus trong máy tính:  Bus hệ thống: do CPU phát ra, bao gồm các tuyến bus như sau: 6  Bus địa chỉ (ADDRESS BUS), là các dây nối địa chỉ phát sinh từ CPU đến các vi mạch khác, số bít địa chỉ cho biết khả năng tạo ra các địa chỉ có thể, để truy nhập vào bộ nhớ (ROM, RAM chẳng hạn). Ví dụ Intel CPU 8085 có 16 bits địa chỉ (16 dây nối), cho không gian địa chỉ là 65.535 tổ hợp và đó cũng là mứ tối đa của bộ nhớ của máy tính loại này. Bus địa chỉ là một chiều.  Bus dữ liệu (DATA BUS) dùng để truyền dữ liệu trong máy tính. Số bits cho biết khả năng xử lí số liệu của CPU, Ví dụ bus data 8 bits có nghĩa CPU xử lí 1 lúc 8 bits. CPU loại này gọi là CPU 8 bits. Ví dụ Pentium 1,2 3,4 là CPU 32 bits. Bus dữ liệu là bus hai chiều, ba-trạng thái (mức logic 0 và 1 và trạng thái trở kháng cao).  Bus điều khiển (CONTROL BUS) bao gồm các tín hiệu điều khiển CPU sử dụng để đồng bộ hoạt động theo lệnh của chương trình. Số dây có khác nhau ở mỗi loại CPU. Thông thường có các tín hiệu như ALE, RD, WR, IO/M, INTA, HLDA, …  Bus ngoại vi (hay bus mở rộng): Khi hệ thống máy tính có CPU nhanh hơn, các thiết bị nhiều hơn và các tố độ hoạt động khác nhau và chậm hơn là tốc độ xử lí của CPU, cần một vi mạch để quan lí, thi vi mạch này tạo ra một bus thứ cấp, gọi là bus ngoại vi. Máy tính hiện đậi có vài cấp bus như vậy.  Thiết kế bus: Thông thường không nối trực tiếp bus của CPU tới các thành phần khác, mà nối thông qua các vi mạch đặc biệt, gọi là khuyếch đại bus.  Cách bus hoạt động:  Bus hệ thống, hoạt động theo lệnh của chương trình, được đồng bộ bởi lệnh và các tín hiệu điều khiển của CPU (qua Bus điều khiển).  Bus ngoại vi do vi mạch ngoại vi (I/O controller) kiểm soát.  Để đồng bộ hoạt động với CPU, các vi mạch I/O controller đều nhận xung đồng hồ từ CPU, có như vậy mọi hoạt động bảm bảo chính xác và cùng “nhịp”. 7 Ví dụ về hoạt động theo thời gian của BUS: Thực tế trong máy tính nhìn thấy các slots để cắm thêm các vĩ thiết bị khác, đó là bus mở rộng. Các chuẩn bus có: ISA, EISA, PCI, AGP, SCSI, IDE, SATA,… II.3 Bộ nhớ (Memory) 8 Ví dụ 1 chip nhớ: 1K x 4 bit: Phân loại bộ nhớ :  Bộ nhớ là thành phần không thể thiếu trong máy tính, dù ở hình thức nào (ROM, RAM, FLASH, ). Bộ nhớ phân biệt theo vị trí tương đối trong máy tính: - bộ nhớ trong (ROM, RAM, FLASH, NVRAM) - bộ nhớ ngoài (đĩa cứng từ, USB, CD, DVD, băng từ,…) Bộ nhớ có thể gọi theo chức năng: dữ liệu, chương trình, cache,  Thiết kế bộ nhớ: - chọn dung lượng bộ nhớ, không gian địa chỉ cần sử dụng. - sau đó chọn các dây địa chỉ phù hợp với khoản nhớ đã chọn nối vào chip nhớ. Phần địa chỉ còn lại dùng giải mã chọn chip. - thiết kế bộ giải mã theo kiểu chỉ chọn một trong các đầu ra của giải mã, mỗi đầu ra ứng với một tổ hợp đầu vào. 9 Ví dụ thiết kế 1 module nhớ: Ví dụ: Xây dựng module ROM có dung lượng 32KB, sử dụng Chip 2764 8K x 8 bit, địa chỉ đầu là 20000hex. Chương trình ứng dụng nạp vào module này. Thiết kế một ROM, loại 2764 (8Kx8bit), Vi mạch 2764 có thời gian truy xuất vào khoảng 250ns phù hợp với các bộ vi xử lý tốc độ cao như Intel 8MHz 8086-2 trong hệ thống này 2764 hoạt động không yêu cầu trạng thái "đợi" ( Wait state ). Vi mạch 2764 hoạt động trong chế độ dự phòng (standby mode ) cho phép giảm công suất tiêu tán mà không tăng thời gian truy cập . Dòng điện khi hoạt động là 150mA ,khi ở chế độ dự phòng là 35mA giảm 75%. Vi mạch 2764 được thiết kế chế tạo dựa trên công nghệ HMOS -E tốc độ cao, kênh N. Mạch tổ hợp logic giải mã chọn địa chỉ vùng được thiết kế dựa vào thông số địa chỉ đầu của vùng nhớ, đó là các bit nhớ cao nhất, có giá trị cụ thể và không thay đổi trong toàn bộ quá trình truy xuất đến các vị trí nhớ trong vỉ nhớ. Mạch tổ hợp logic giải mã tín hiệu chọn chip nhớ có đầu vào là các bit địa chỉ tiếp theo kể từ các bit địa chỉ độc lập (tức là các bit địa chỉ được nối trực tiếp vào các chân địa chỉ của chip nhớ). Số lượng bit địa chỉ là lối vào của mạch này phụ thuộc vào số lượng chip nhớ hoặc số lượng chip liên thông tạo nên từ nhớ cơ bản, tuân thủ công thức 2 i = M. Để truy nhập vào 8 K địa chỉ /chip cần 13 đường dịa chỉ, từ A12-A0 Để truy nhập vào mỗi chip trong 4 chip cần 2 dây địa chỉ: A14-A13 Để xác định vùng địa chỉ cần 5 đường địa chỉ: A14-A19 của 1MB đầu tiên CPU x86 sử dụng 20 dây địa chỉ cho 1 MB đầu tiên:A19 – A0: Giá trị =1 là cố định, giá trị =X thay đổi (0 hay 1) A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 1 0 0 X X x x x x x x x x x x x x x 10 [...]... thực, đây chính là điểm chủ yếu Có hai hình thức ngắt, thông thường với thiết bị, ta nói đến ngắt cứng, tức là ngắt từ một tín hiệu phát sinh từ thiết bị Ngoài ra còn có khái niệm ngắt mềm, sử dụng một nguyên lí mà hệ điều hành hỗ trợ thông qua lệnh máy tính, giúp tạo ra sự chuyển xử lý (chương trình) tạm thời đến một xử lý đột xuất Xét về xử lý thuần túy, ngắt cứng hay ngắt mềm đều có tác dụng như... đó), tức là chương trình con trao đổi thông tin với thiết bị ngoại vi yêu cầu ngắt Sau khi xong công vi c phục vụ ngắt, CPU quay về thực hiện tiếp chương trình chính kể từ lệnh tiếp theo sau khi bị ngắt 28 Vector ngắt và chuyển xử lý tới ISR Các tín hiệu yêu cầu phục vụ ngắt từ một thiết bị ngoại vi bất kỳ được gửi tới chân nhận yêu cầu ngắt của CPU có thể thông qua một khối điều khiển ngắt Tuỳ theo... kiện có các đặc điểm như: - CPU chuyển số liệu thông qua chương trình - CPU giả thiết TB vào/ra luôn sẵn sàng chuyển số liệu - Dữ liệu đọc vào CPU qua cổng sau đó lưu lại o bộ nhớ cho các xử lý tiếp theo - Vi c chuyển số liệu được thực hiện giữa các thanh ghi của CPU (ACC) và thanh ghi (cổng ghép nối) của TB vào/ra, sau đó lưu lại o bộ nhớ cho các xử lý tiếp theo Bộ nhớ  [CPU_ACC]  [ Cổng ]  [Thiết... ngắt của CPU có thể thông qua một khối điều khiển ngắt Tuỳ theo người lập trình mà yêu cầu ngắt đó có được chuyển tới CPU hay không (thông qua chiến thuật nhận và xử lý ngắt với các lệnh cho phép ngắt (EI) hay cấm ngắt (DI) Trong trường hợp yêu cầu ngắt được gửi tới CPU, xử lý của CPU gồm các bước sau: Quá trình thực hiện ngắt: - CPU hoạt động bình thường - Khi thiết bị vào/ra sẵn sàng chuyển số liệu... không thể cao được vì khâu này cũng không khác gì 1) Tuy nhiên trong máy tính, vi c phải trao đổi một khối lượng lớn dữ liệu giữa bộ nhớ RAM và thiết bị ngoài không thể sử dụng 2 cách nói trên được Ví dụ khi ghi/đọc đĩa cứng, cập nhật cho video RAM để tạo ảnh trên màn hình là các loại ứng dụng kiểu như vậy Kĩ thuật vào/ra thâm nhập bộ nhớ trực tiếp sẽ khắc phục các nhược điểm trên Bản chất của kĩ thuật. .. đe nhận và trả lời chấp nhận ngắt Phần cứng do đó cần thêm một vi mạch hỗ trợ cho CPU, gọi là vi mạch điều khiển ngắt lập trình được(Programmable Interrupt Controller), ví dụ vi mạch Intel 8259 với 8 đầu vào ngắt và 1 đầu ra Mỗi một ngắt (mỗi thiết bị) cần có một chương trình xử lý riêng, gọi tên chung là chương phục vụ ngắt (Interrupt Service Routine –ISR) Địa chỉ của mỗi ISR đặt trong một vùng bộ nhớ... khi vi t chương trình ISR: những lệnh đầu tiên của ISR thực hiện là:  Đẩy các thanh ghi của CPU vào STACK, 30  Thực hiện vi c cấm ngắt để tránh đệ qui ngắt nếu cần, hoặc cấm các ngắt khác  Mã xử lý của ISR …  Khôi phục các thanh ghi của CPU  Khôi phục lại khả năng chấp nhận ngắt cho các ngắt tạm cấm  Quay về (RETURN) chương trình bị gián đoạn trước đó Lập trình ngắt và cài đặt vector ngắt là vi c... hiện ghép nối kĩ thuật Mô hình kĩ thuật ghép nối 17 Các kiểu ghép nối 3.2 Ghép nối CPU chủ động Vào/ra do CPU chủ động còn gọi là vào/ra điều khiển bằng chương trình được chia thành hai nhóm: Vào/ra số liệu bằng chương trình không điều kiện Vào/ra số liệu bằng chương trình có điều kiện (handshaking-đối thoại) a) Vào/ra số liệu không điều kiện, điều khiển bằng chương trình Vào/ra số liệu không điều kiện... ngắt khoảng thời gian từ khi xuất hiện sự kiện ngắt (có yêu cầu phục vụ ngắt) tới khi dịch vụ ngắt được thực thi là xác định và tuỳ thuộc vào công nghệ phần cứng xử lý của Chip Tổ chức tạo ngắt có thể đơn giản nếu CPU hỗ trợ nhiều đầu vào ngắt và hệ thống không cần nhiều ngắt cứng Ví dụ như trong CPU 8080/8085 có 4 ngắt (RST7.5, RST6.5, RST5.5 và TRAP) và 8 ngắt mềm (RST0 đén RST7) Tuy nhiên số thiết... các tín hiệu điều khiển theo thời gian, hay thực hiện kết hợp với phần mềm điều khiển Vi ̣c khảo sát thông tin về trạng thái hoạt động của thiết bị là rất quan trọng Thiết bị có thể sẳn sàng hoặc không/chưa sẳn sàng trao đổi dữ liệu Để ghi nhận ta gọi đó là thông tin trạng thái thiết bị , được thể hiện bởi một loại tín hiệu mang thống tin trạng . xử lý Định thời hoạt động của CPU 2 Các khối chức năng cơ bản của một hệ Vi xử lý (hình I.3) gồm:  Đơn vị xử lý trung tâm (CPU)  Bộ nhớ ROM, RAM  Thiết bị vào (nhập dữ liệu - Input device). Máy vi tính là một trong những ứng dụng cụ thể của một hệ thống gọi là Hệ Vi xử lý. a) CPU thực hiện chức năng xử lý dữ liệu thông qua các hoạt động chính sau:  Đọc mã lệnh – đọc tập các. BUS hệ thống thông qua các mạch giao diện ghép nối (I/O Interface). Đơn vị xử lý trung tâm (Central Processing Unit – CPU) là khối chức năng cơ bản nhất để tạo nên một hệ Vi xử lý hay máy tính

Ngày đăng: 23/12/2014, 09:20

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

Tài liệu liên quan