do bộ vi xử lý cho các module I / O, và sau đó từ quan điểm của các hướng dẫn I / O được thực hiện bởi bộ xử lý. I / O lệnh Để thực hiện một I / O liên quan hướng dẫn, vấn đề xử lý một địa chỉ, xác định đặc biệt I / O module và thiết bị bên ngoài, và một lệnh I / O. Có bốn loại I / O lệnh rằng một I / O module có thể nhận được khi nó được giải quyết bởi một bộ xử lý: • Control: Được sử dụng để kích hoạt một thiết bị ngoại vi và nói với nó làm gì. Ví dụ, một đơn vị từ tính-băng có thể được hướng dẫn để tua lại hoặc để di chuyển về phía trước một kỷ lục. Những lệnh này được thiết kế riêng cho các loại thiết bị cụ ngoại vi. • Kiểm tra: Được sử dụng để kiểm tra điều kiện tình trạng khác nhau kết hợp với một I / O module và thiết bị ngoại vi của nó. Bộ vi xử lý sẽ muốn biết rằng thiết bị ngoại vi của lãi suất được cung cấp trên và có sẵn để sử dụng. Nó cũng sẽ muốn biết nếu các I / O hoạt động gần đây nhất được hoàn thành và nếu có sai sót xảy ra. • Đọc: Nguyên nhân của I / O module để đạt được một mục dữ liệu từ các thiết bị ngoại vi và đặt nó vào một bộ đệm bên trong (được miêu tả như một thanh ghi dữ liệu trong hình 7.3). sau đó các bộ vi xử lý có thể đạt được mục dữ liệu bằng cách yêu cầu rằng các I / O module đặt nó trên xe buýt dữ liệu. • Viết: Gây I / O module để có một mục dữ liệu (byte hoặc từ) từ bus dữ liệu và sau đó truyền rằng mục dữ liệu đến thiết bị ngoại vi. Bảng 7.1 I / O Kỹ thuật Không ngắt Sử dụng Ngắt I / O-để-bộ nhớ chuyển qua xử lý Programmed I / O Interrupt-driven I / O trực tiếp I / O-để-bộ nhớ truy cập chuyển bộ nhớ trực tiếp (DMA) 230 CHƯƠNG 7 / INPUT / OUTPUT Hình 7.4a cho một ví dụ về việc sử dụng các lập trình I / O để đọc trong một khối dữ liệu từ một thiết bị ngoại vi (ví dụ, một bản ghi từ băng) vào bộ nhớ. Dữ liệu được đọc trong một từ (ví dụ, 16 bit) tại một thời điểm. Đối với mỗi từ được đọc trong, bộ xử lý vẫn phải ở trong một chu kỳ tình trạng kiểm tra cho đến khi xác định rằng các từ có sẵn trong thanh ghi dữ liệu I / O module. sơ đồ này nhấn mạnh những bất lợi chính của kỹ thuật này: nó là một quá trình tốn nhiều thời gian mà giữ các bộ vi xử lý bận rộn không cần thiết. I / O dẫn Với lập trình I / O, có sự tương ứng chặt chẽ giữa / hướng dẫn tôi O liên quan đến bộ vi xử lý nạp từ bộ nhớ và I / lệnh O rằng các vấn đề xử lý để một module I / O để thực hiện các hướng dẫn. Đó là, các hướng dẫn được dễ dàng ánh xạ vào các lệnh I / O, và thường có một đơn giản một-một mối quan hệ. Các hình thức của các hướng dẫn phụ thuộc vào cách thức mà các thiết bị bên ngoài được giải quyết. Thông thường, sẽ có nhiều thiết bị I / O kết nối thông qua I / O module vào hệ thống. Mỗi thiết bị được đưa ra một định danh hoặc địa chỉ duy nhất. Khi bộ xử lý vấn đề một lệnh I / O, các lệnh chứa địa chỉ của thiết bị mong muốn. Như vậy, mỗi I / O module phải giải thích các dòng địa chỉ để xác định xem các lệnh cho chính nó. Vấn đề đọc lệnh I / O module tình trạng đọc I / O module Kiểm tra tình trạng đọc từ từ I / O module Viết từ vào bộ nhớ Done? lệnh kế tiếp (một) Programmed I / O Error trạng Ready Ready Có Có Không Không sẵn sàng hành đọc lệnh I / O module làm cái gì khác tình trạng gián đoạn đọc I / O module Kiểm tra tình trạng đọc từ từ I / O module Viết từ vào bộ nhớ Làm xong? lệnh kế tiếp (b) Ngắt-Driven I / O làm cái gì khác Interrupt Lỗi tình trạng Không Issue đọc lệnh khối I / O module tình trạng đọc các mô-đun DMA lệnh kế tiếp (c) CPU Direct Memory Access CPU DMA DMA CPU I / O CPU tôi / OI / O CPU I / O CPU I / O CPU CPU Bộ nhớ I / O CPU CPU Memory Hình 7.4 Ba kỹ thuật cho đầu vào của một Block của dữ liệu 7.3 / Programmed I / O 231 Khi bộ xử lý, bộ nhớ chính, và I / O chia sẻ một xe buýt thông thường, hai phương thức giải quyết có thể là: bộ nhớ ánh xạ và bị cô lập. Với bộ nhớ ánh xạ I / O, có một không gian địa chỉ duy nhất cho vị trí bộ nhớ và thiết bị I / O. Các bộ xử lý xử lý các tình trạng và dữ liệu đăng ký của I / O module như vị trí bộ nhớ và sử dụng các hướng dẫn cùng một máy để truy cập vào cả bộ nhớ và I thiết bị / O. Vì vậy, ví dụ, với 10 dòng địa chỉ, tổng cộng 210 = 1024 vị trí bộ nhớ và I / O địa chỉ có thể được hỗ trợ, trong bất kỳ sự kết hợp. Với bộ nhớ ánh xạ I / O, một đọc dòng duy nhất và một dòng ghi đơn là cần thiết trên xe buýt. Ngoài ra, xe bus có thể được trang bị bộ nhớ đọc và viết cộng với đầu vào và đầu ra dòng lệnh. Bây giờ, các dòng lệnh xác định xem địa chỉ đề cập đến một vị trí bộ nhớ hoặc thiết bị I / O. Đầy đủ các địa chỉ có thể có sẵn cho cả hai. Một lần nữa, với 10 địa chỉ
đang được dịch, vui lòng đợi..
