Đang chuẩn bị liên kết để tải về tài liệu:
Truy cập bộ nhớ trực tiếp Trong bài này chúng tôi sẽ giới thiệu cho các bạn

Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ

Truy cập bộ nhớ trực tiếp Trong bài này chúng tôi sẽ giới thiệu cho các bạn một số kiến trúc điển hình được sử dụng để thực thi truy cập bộ nhớ trực tiếp. Truy cập bộ nhớ trực tiếp (Direct Memory Access hay được viết tắt là DMA) là một thành phần quan trọng trong bất cứ kiến trúc máy tính hiện đại nào. DMA cho phép CPU chia tải (offload) các ngăn xếp bộ nhớ ngày càng chật trội sang các thành phần khác. Cách thức này giúp giải phóng CPU khỏi các công việc lặt vặt. | Truy cập bộ nhớ trực tiếp Trong bài này chúng tôi sẽ giới thiệu cho các bạn một số kiến trúc điển hình được sử dụng để thực thi truy cập bộ nhớ trực tiếp. Truy cập bộ nhớ trực tiếp Direct Memory Access hay được viết tắt là DMA là một thành phần quan trọng trong bất cứ kiến trúc máy tính hiện đại nào. DMA cho phép CPU chia tải offload các ngăn xếp bộ nhớ ngày càng chật trội sang các thành phần khác. Cách thức này giúp giải phóng CPU khỏi các công việc lặt vặt và cung cấp nhiều chu trình cycle hơn để giải quyết các nhiệm vụ phức tạp hơn. Cho ví dụ có lẽ trong số các bạn sẽ có người thích lưu bài viết này vào ổ cứng để có thể đọc tham khảo sau này. Khi chọn thực hiện công việc này bạn sẽ cần phải chọn một địa điểm location nào đó để lưu trữ bài viết. Lúc này dữ liệu được thu về bởi card mạng và sau đó được định tuyến đến địa điểm mong muốn trên ổ cứng của bạn. Một nhiệm vụ rất đơn giản và khả năng của CPU thừa cho các kiểu hoạt động như vậy. Mặc dù ý tưởng chính của kỹ thuật truy cập bộ nhớ trực tiếp khá đơn giản nhưng các hoạt động truy cập bộ nhớ một cách trực tiếp lại rất phức tạp. Bạn có thể hình dung khi có nhiều thiết bị hoặc ngoại vi đều muốn truy cập đến các vị trí của bộ nhớ thì vấn đề sẽ xảy ra. Đây là lý do hoặc yêu cầu cần có một DMA controller. DMA controller thực chất là một thiết bị giúp điều khiển tất cả các hoạt động DMA. Để điều khiển các hoạt động DMA DMA controller cần phải có các thông tin liên quan với hoạt động sắp tới. Các thông tin này gồm có những thứ giống như các địa chỉ nguồn và đích chế độ kích thước dữ liệu được truyền tải. DMA controller cũng cần được trang bị kiến thức về những gì nó sẽ truyền tải nơi truyền tải đến và cách truyền tải như thế nào bao lâu để thực hiện công việc đó. Với kiến thức này DMA controller có thể yêu cầu sự điều khiển bus nhớ từ CPU. Khi CPU sẵn sàng nhường sự điều khiển của bus nhớ nó sẽ gửi đi một tín hiệu phúc đáp ACK để đáp trả lại tín hiệu yêu cầu của DMA controller. Hình 1 Sự tương tác Direct Memory Access