Tìm hiểu các kênh DMA

Những kênh truy cập bộ nhớ trực tiếp (DMA: Direct Memory Access) được dùng bởi những thiết bị truyền thông gửi và nhận thông tin ở tốc độ cao.

Những hệ thống sẽ cần kên DMA

Một cổng serial hay parallel không dùng kênh DMA, nhưng một card âm thanh cơ số ISA hoặc thiết bị tiếp hợp SCSI thường sử dụng nó. Cho ví dụ, bạn có một thiết bị tiếp hợp mạng và một thiết bị tiếp hợp sao chép dạng băng chia sẻ DMA kênh 1, nhưng bạn không thể sao chép trong khi mạng đang chạy. Để sao chép trong khi mạng hoạt động, bạn phải chắc chắn rằng mỗi thiết bị tiếp hợp dùng một kênh duy nhất.

Lưu ý:

Có vài loại DMA trong máy vi tính và laptop hiện đại. Những kênh DMA trong phần này liên quan đến bus ISA. Những bus khác, như là bus ATA/IDE được dùng bởi ổ cứng, có những sự sử dụng DMA khác nhau. Những kênh DMA ở đây không liên quan đến ổ đĩa ATA/IDE, thậm chí nếu được thiết lập để dùng DMA hay chuyển dịch Ultra DMA.

Những kênh DMA bus ISA 8 bit

Trong bus ISA 8 bit, bốn kênh DMA hỗ trợ những chuyển dịch dữ liệu tốc độ cao giữa những thiết bị I/O và bộ nhớ. Ba kênh có hiệu lực cho những Slot mở rộng.

Do phần lớn hệ thống có cả hai ổ mềm và ổ cứng, chỉ có một kênh DMA có hiệu lực trong hệ thống 8 bit ISA.

Những kênh DMA ISA 16 bit

Từ CPU 286, bus ISA hỗ trợ tám kênh DMA, với bảy kênh có hiệu lực đối với những Slot mở rộng. Tương tự như những dòng IRQ được mở rộng, Những kênh DMA thêm vào được tạo bởi phân cấp bộ điều khiển DMA thứ hai đối với bộ điều khiển thứ nhất. DMA kênh 4 được dùng để phân cấp những kênh 0-3 đối với bộ vi xử lý. Những kênh 0-3 có hiệu lực cho những chuyển dịch 8 bit và những kênh 5-7 chỉ dùng cho những chuyển dịch 16 bit.

Nhận xét rằng những thiết bị tiếp hợp PCI không dùng những kênh DMA ISA này, những cái này chỉ dùng card ISA. Tuy nhiên, một số card PCI sao chép sự sử dụng những kênh DMA (như là card âm thanh) làm việc với phần mềm cũ hơn.

Kênh DMA tiêu chuẩn duy nhất được dùng trong mọi hệ thống là DMA 2, được dùng phổ biến bởi bộ điều khiển ổ mềm DMA 4 không thích hợp và không xuất hiện trong những Slot bus. DMA kênh 1 và 5 thì phần lớn được sử dụng rộng rãi bởi những card âm thanh ISA, như là Sound Blaster 16 hay bởi những card âm thanh PCI mới hơn mà sao chép chương trình từ những cái cũ hơn cho sự tương thích ngược. Những card này dùng cả hai kênh DMA 8 bit và 16 bit cho các chuyển dịch tốc độ cao. DMA 3 được dùng khi cổng Parallel được cấu hình để làm việc trong chế độ ECP hoặc EPP/ECP. Một số hệ thống không tiêu chuẩn, như là những máy tính Packard Bell cũ hơn. dùng DMA I thay vì DMA 3 cho cổng Parallel bởi sự mặc định. Tuy nhiên, một khối cầu nhảy trên bo mạch chủ của một số hệ thống có thể thiết lập dùng DMA 3 cho cổng Parallel và tránh những xung đột với card âm thanh dùng DMA I.

Lưu ý:

Mặc dầu DMA kênh 0 xuất hiện trong sự mở rộng; đầu nối khe cắm 16 bit và chỉ được dùng card 16 bit, nó thể hiện những chuyển dịch chỉ 8 bit! Bởi vì điều này, bạn thường không thấy DMA 0 như một sự lựa chọn trên những card 16 bit. Phần lớn những card 16 bit (như là những thiết bị tiếp hợp chủ SCSI) dùng những kênh DMA có sự lựa chọn của chúng hạn chế đối với DMA 5-7.

tìm hiểu các kênh dma

Những địa chỉ cổng I/O

Những cổng I/O cho phép những truyền thông giữa những thiết bị và phần mềm trong hệ thống. Chúng tương đương những kênh radio hai đường. Nếu muốn gọi cổng serial, bạn cần biêt trên đó cổng I/O đang lắng nghe (kênh radio). Tương tự, nếu muốn nhận dữ liệu từ cổng serial, bạn cần biết trên cùng kênh trong đó nó đang truyền đi.

Không giống như những kênh IRQ và DMA, hệ thống có dư thừa cổng I/O. Có chính xác 65,535 cổng được đánh số từ OOOOh đến FFFFh là một tính năng của thiết kế bộ xử lý Intel x86. Mặc dầu phần lớn thiết bị dùng lên tởi 8 cổng cho chính chúng, với nhiều cổng dự trữ, bạn sẽ không kiệt cạn bất kỳ lúc nào ngay. Vấn đề lớn nhất là thiết lập hai thiết bị dùng chúng cổng.

Phần lớn hệ thống hiện đại giải quyết bất kỳ xung đột cổng và chọn những cổng thay thế cho một trong những thiết bị xung đột.

Một vấn đề rối rắm là những cổng I/O được thiết kế bởi những địa chỉ dạng số thập lục phân tương tự như những địa chỉ bộ nhớ. Chúng không phải là bộ nhớ; chúng là những cổng. Sự khác biệt là khi gửi dữ liệu đến địa chỉ bộ nhớ 1000h. Nó được chứa trong bộ nhớ SIMM hay DIMM. Nếu bạn gửi dữ liệu đến địa chỉ cổng I/O l000h. Nó được gửi ra bus ở kênh đó, bất kỳ ai quan tâm đều có thể nhận biết nó. Nếu không ai quan tâm đến địa chỉ cổng này, dữ liệu đến cuối bus và được sáp nhập bởi những điện trở kết thúc bus.

Những chương trình điều khiển chủ yếu tác động đến những thiết bị tại những địa chỉ cổng khác nhau. Trình điều khiển phải biết cổng nào thiết bị đang dùng để làm việc và ngược lại. Đây thường không là sự cố bởi vì trình điều khiển và thiết bị xuất phát từ cùng công ty.

Những thiết bị bo mạch chủ và chipset thường được đặt để dùng những địa chỉ cổng I/O OhFFh. Những thiết bị khác dùng l00hFFFFh.

Để tìm ra chính xác địa chỉ cổng nào được dùng trên bo mạch chủ, tham khảo tài liệu bo mạch chủ hay tìm những thiết lập trong Windows Device Manager.

Đề tìm ra chính xác địa chỉ mà những thiết bị của bạn đang sử dụng, một lần nữa tôi đề nghị tham khảo tài liệu cho thiết bị hay tìm thiết bị trong Windows Device Manager. Nên nhớ rằng tài liệu cho một số thiết bị có thể chi liệt kê địa chỉ khởi động thay vì dãy đầy đủ địa chỉ cồng I/O được dùng.

Hầu như tất cà địa chỉ trên những bus hệ thống dùng địa chỉ cổng I/O. Phần lớn địa chỉ này được tiêu chuẩn hóa hoàn toàn, nghĩa là những xung đột hay sự cố sẽ không thường xảy ra với những thiết lập này. Để tìm hiểu thêm về các bài viết và chủ đề liên quan, bạn có thể truy cập tại đây.

Mở hộp Vivo Y15
About Us

Laptop

Trang thông tin và trao đổi kiến thức công nghệ hiện đại. Các thông tin công nghệ được cập nhật và truyền tải đến đọc giả một cách nhanh chóng.