Tải bản đầy đủ (.doc) (17 trang)

BTL NGHIÊN CỨU TÌM HIỂU VỀ VI MẠCH ĐIỀU KHIỂN TRUY NHẬP TRỰC TIẾP BỘ NHỚ DMAC 8237

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (407.22 KB, 17 trang )

KiÕn tróc m¸y tÝnh

Bài Báo Cáo Kiến Trúc Máy Tính
DMAC 8237
========================================
Trường Đại Học Công Nghiệp Hà Nội
Lớp Kĩ Thuật Phần Mềm 3
Khoa CNTT
***
BÀI BÁO CÁO

MƠN KIẾN TRÚC MÁY TÍNH
ĐÈ TÀI
Nghiên cứu tìm hiểu về vi mạch điều khiển truy nhập trực tiếp bộ nhớ DMAC
8237
Phụ Trách Bộ Môn : Thầy Nguyễn Thanh Hải
Thực Hiện: Nhóm 13
Danh Sách Nhóm
Họ Và Tên

Mã SV

Nguyễn Văn Việt

0941360204

Phan Văn Huy

0941360231

Lưu Văn Huy



0941360233

Mai Văn Tân

0941360191

Nguyễn Mạnh Cường

0941360199

1


KiÕn tróc m¸y tÝnh

I. Mở đầu.....................................................................................................................................3
1. Nhiệm vụ của bài...............................................................................................................3
2. Bố cục................................................................................................................................3
II. Nội dung.................................................................................................................................3
1.Phương pháp DMA và hoạt động của chíp điều khiển DMAC...........................................3
1.1. Phương pháp DMA.....................................................................................................3
1.2. Hoạt động của chíp điều khiển DMAC.......................................................................4
2. Chip bổ trợ DMA-8237A....................................................................................................5
2.2. Các trạng thái làm việc.................................................................................................7
2.3. Các thanh ghi bên trong 8237......................................................................................8
2.4. Chu kỳ nghỉ..................................................................................................................8
2.5. Chu kì hoạt động..........................................................................................................8
2.7 Làm việc với vi xử lý....................................................................................................9
III.Kết luận................................................................................................................................16


2


KiÕn tróc m¸y tÝnh

Đề Tài : Nghiên cứu tìm hiểu về vi mạch điều khiển truy nhập trực tiếp bộ nhớ DMAC
8237 và các chế độ hoạt động của DMAC 8237
CHI TIẾT BÁO CÁO

I. Mở đầu
1. Nhiệm vụ của bài
Nghiên cứu tìm hiểu về vi mạch điều khiển truy nhập bộ nhớ DMAC-8237 và
các chế độ hoạt động cuả DMAC

2. Bố cục
- Giới thiệu phương pháp truy nhập bộ nhớ DMAC
- Các hoạt động của chíp điều khiển DMAC
- Cấu tạo nguyên lý hoạt động của chíp DMAC

II. Nội dung
1.Phương pháp DMA và hoạt động của chíp điều khiển DMAC
1.1. Phương pháp DMA
Phương pháp đảm bảo thời gian phục vụ yêu cầu vào ra số liệu của ngoại vi là
ngắn nhưng vẫn phải thực hiện bằng phần mềm. Mỗi lệnh đều phải được thực hiện qua
các cơng đoạn có sự tham gia của vi xử lý. Trong một số trường hợp ví dụ khi cần
chuyển 1 mảng dữ liệu có đặc điểm giống nhau giữa bộ nhớ và các ngoại vi nhanh như
màn hình thì phương pháp bằng phần mềm không đủ nhanh để đáp ứng yêu cầu
chuyển số liệu rất cao. Lúc này phải dùng phương pháp bằng phần cứng, thay chưong
trình con thực hiện chuyển số liệu giữa ngoại vi và bộ nhớ bằng các mạch điện tử thực

hiện chuyển số liệu giữa bộ nhớ và thiết bị ngoại vi mà không thông qua vi xử lý.
Cách thức này gọi là truy nhập bộ nhớ trực tiếp DMA (direct memory access) . Làm
nhiệm vụ điều khiển quá trình này là là chíp bổ trợ DMAC-8237 , hay cịn được gọi là
DMAC (Direct memory access controller). Với Phương pháp DMA, tộc độ truyển dữ
liệu chỉ bị hạn chế bởi thời gian truy nhập của bộ nhớ . Vi xử lý không cần phải đọc ,
giải mã và thực hiện các lệnh chuyển số liệu , các lệnh điều chỉnh địa chỉ và các lệnh
kiểm tra độ dài mảng đã chuyển để biết thời điểm kết thúc. Nó hồn tồn chuyển
quyền điều khiển Bus cho chip DMAC và số liệu được truyền trực tiếp giữa ngoại vi
và bộ nhớ dưới sự điều khiển của chíp này.

3


KiÕn tróc m¸y tÝnh

1.2. Hoạt động của chíp điều khiển DMAC
Chíp DMAC sẽ tạo ra địa chỉ , các tín hiệu điều khiển đọc đọc/viết ngoại vi ,
tính số từ đã chuyển và thông báo khi chuyển xong mảng số liệu cho vi xử lý. Ta có
thể hình dung như sơ đồ sau :
Khơng gian
Bộ nhớ
Vi xử Lý

DMAC
Khơng gian
vào ra

Hình 1:Các đường liên hệ trực tiếp trong quá trình DMA

BUS địa chỉ


CPU
BUS số liệu

Thiết bị
I/O

DMAC

BỘ NHỚ

HOLD

HRQ

DRQ

HLDA

HACK DACK

DRQ
DACK

BUS điều khiển ,các tín hiệu IOR, IOW, MEMR, MEMW

Hình 2: Sơ đồ nối DMAC với bộ nhớ, thiết bị ngoại vi và vi xử lý

Khi hoạt động DMA, một ngoại vi ( ví dụ, bộ điều khiển ổ đĩa) muốn gửi byte số
liệu bằng phương pháp này thì trước hết nó phải gửi tín hiệu theo yêu cầu DMA là

DREQ tới một lối vào (gọi là một kênh) của chíp DMAC.Nếu kênh này khơng bị che,
chíp DMAC sẽ đáp lại bằng tín hiệu ghi nhận yêu cầu HRQ.Vi xử lý sẽ đáp ứng bằng
cách thả nổi bus và gửi ra tín hiệu ghi nhận HLDA tới DMAC. Khi DMAC nhận được
tín hiệu này, nó sẽ gửi được một tín hiệu điều khiển các chuyển mạch kể trên tới vị trí
DMA của chúng.Việc này làm ngắt xử lý khỏi bus và nối DMAC với bus. Lúc này
DMAC nhận quyền điều khiển bus và gửi ra địa chỉ nhớ mà số liệu từ ngoại vi cần viết
4


KiÕn tróc m¸y tÝnh

vào. Tiếp theo nó gửi tín hiệu nhận DMA là DACK0 tới ngoại vi để báo cáo cho ngoại
vi hãy sẵn sàng gửi tiếp số liệu. Cuối cùng, chíp DMAC hạ cả hai đường IOR và
MEMW trên bus điều khiển tới mức lôgic thấp để cho phép ngoại vi xuất byte số liệu
ra và viết vào bộ nhớ. Khi việc truyền số liệu hoàn tất, chip DMAC lấy đi tín hiệu khi
yêu cầu HRQ thả nổi bus. Các chuyển mạch quay về vị trí ban đầu cho phép xử lý nắm
lại quyền điều khiển bus cho đến khi DMA yêu cầu tiếp theo. Việc truyền số liệu bằng
DMA từ bộ nhớ tới ngoại vi cũng được thực hiện theo cách tương tự chỉ có điều chíp
DMAC lúc này sẽ làm tích cực đường điều khiển đọc bộ nhớ MEMR và đường điều
khiển số liệu ra IOW.
Thông thường chip DMAC chuyển lên tục cả mảng số liệu, nên trong nó có thanh
đếm số từ (word count register) cho mỗi kênh. Sau mỗi chuyển được một từ, nội dung
thanh đếm giảm đi 1, địa chỉ DMA được hiệu chỉnh lại (hoặc tăng hoặc giảm l). Khi
nội dung thanh đếm số từ bằng 0, chip DMA thông báo kết thúc hoạt động DMA bằng
tín hiệu TC (terminal count) được tạo ra từ thanh đếm số từ. Kết thúc quá trình DMA,
chip DMAC sẽ đưa theo tín hiệu yêu cầu treo HRQ trở về mức tích cực (HRQ = 0).
Có hai phương pháp thực hiện DMA: cách thứ nhất là xử lý chuyển nhượng bus
cho DMAC rồi tự treo; cách thứ hai là DMAC lấy nén chu kì, trong đó DMAC tận
dụng những khoảng thời gian trong một chu kì bus mà CPU không truy cập bộ nhớ
(khi CPU bật phát tín hiệu địa chỉ cho các chu kì đọc hoặc viết bộ nhớ) để thực hiện

phép DMA. Phương pháp thứ hai đòi hỏi việc đồng bộ thời gian rất nghiêm ngặt. Ta có
giản đồ thời gian của phép DMA bằng phương pháp lấy nén chu kì.

Hình 3: Các chu kì nén

2. Chip bổ trợ DMA-8237A
2.1. Sơ đồ nguyên lý : Vi mạch 8237A của
hãng Intel là một ví dụ điển hình của một chip điều
khiển truy nhập bộ nhớ trực tiếp DMAC trong máy
5


KiÕn tróc m¸y tÝnh

vi tính IBM PC. Đó là một vi mạch gồm có 40 chân và được chia làm hai hàng mỗi
bên 20 chân. Ta có thể thấy như trong hình 4

Hình 4: Sơ đồ chân DMAC-8237

Hình 5: Sơ đồ khối chíp DMAC-8237
DMA-8237A gồm 3 khối chính :
-

Khối điều khiển và phân chia thời gian cho các hoạt động bên trong và tạo tín
hiệu điều khiển cho bên ngồi

-

Khối điều khiển mã lệnh do CPU đưa tới trước khi phục vụ DMA và giải mã từ
điều khiển chế độ để chọn điều kiểu DMA.


-

Khối mã hoá đàu tiên làm trọng tải ưu tiên giải quyết ưu tiên cho những kênh
DMA yêu cầu phục vụ trong cùng một thời điểm.

Các chân tín hiệu là như sau:
• IOR: chỉ thị rằng chip DMA đang đọc số liệu từ ngoại vi địa chỉ cảng.
6


Kiến trúc máy tính

ã IOW: DMA ang vit s liu tới ngoại vi qua cảng.
•MEMR: số liệu được đọc từ bộ nhớ chính.
•MEMW:số liệu đang được viết ở bộ nhớ chính.
•READY: tín hiệu vào từ bộ nhớ hoặc ngoại vi.
•HLDA: CPU hoặc bus master báo cho biết nó đã rời khỏi bus cho DMA.
•ADSTB: nhận byte cao vào chốt địa chỉ ngồi của DMA.
•AEN: kích hoạt chốt địa chỉ của DMA.
•HQR: tín hiệu u cầu DMA từ chip 8237.
• CS: tín hiệu chọn chip.
• CLK: lối vào xung nhịp đồng hồ(4,77 MHz hoặc 7,16 MHz trong PC).
• RESET: khởi động lại chip.
• DACK0-DACK3: chấp nhận DMA
• DREQ0-DREQ3: địi hỏi DMA tử ngoại vi
• DB0-DB7: bus số liệu 2 hướng
• A0-A3: ở trạng thái standby,CPU dùng nibble này để định địa chỉ các thanh ghi.
Khi 8237 được kích hoạt,đây là 4 bit địa chỉ thấp.
• A4-A7: khi 8237 được kích hoạt, đay là 4 bit địa chỉ.

•EOP: Kết thúc xử lý DMA .
•Vcc: nguồn ni +5V
• GND: nối đất.
2.2. Các trạng thái làm việc
8237 làm việc trong 2 chu kỳ máy cơ bản: chu kỳ nghỉ và chu kỳ hoạt động. Mỗi
chu kỳ máy DMA bao gồm một số trạng thái, Tên thanh ghi Độ dài( bit) số lượng
co 7 trạng thái, mỗi trạng thái chiếm một chu
Địa chỉ gốc
16
4
kỳ đồng hồ:
Số từ gốc
16
4
- SI: Trạng thái không hoạt động, 8237 ở Địa chỉ tức thời
16
4
16
4
trạng thái này khi khơng có yêu cầu DMA Số từ tức thời
8
1
hợp lệ ,8237 chỉ nhận lệnh từ CPU khi ở trạng Trạng thái
Lệnh
8
1
thái này.
Tạm thời
8
1

6
4
- S0: là trạng thái đầu của quá trình phục Chế độ
4
1
vụ DMA,khi chip DMA chuyển sang trạng Mặt nạ
Yêu cầu DMA
4
1
thái SI.
7


KiÕn tróc m¸y tÝnh

- S1,S2,S3,S4: các trạng thái làm việc của DMA. Lúc này chip DMA trực tiếp điều
khiển chuyển số liệu bằng các địa chỉ, tín hiệu điều khiển đọc/ viết do chính mình tạo
ra.
- SW: là trạng thái đợi đựoc xen vào giữa
S3 và S4 do tác động của đầu vào READY của chip DMA. SW cần thiết khi thời gian
thâm nhập của bộ nhớ quá lớn .
2.3. Các thanh ghi bên trong 8237
Các thanh ghi trong chip được chia thành hai nhóm: nhóm các thanh ghi điều
khiển, trạng thái và nhóm các thanh ghi làm việc. Bảng 4.2 liệt kê các thanh ghi đó.
2.4. Chu kỳ nghỉ
Khi khơng có u cầu DMA, 8237 ở chu kỳ nghỉ bằng cách liên tục thực hiện
trạng thái SI. Nó kiểm tra các đường yêu cầu số liệu DQR vào tất cả các chu kỳ đồng
hồ, đồng thời kiểm tra chân chọn mạch CS để xem CPU có ý định gửi lệnh đến hoặc
đọc/ghi thông số, trạng thái, chế độ DMA từ (hoặc vào) chip DMA hay không. Nếu
CS=0 và HRQ = 0, 8237 tuân theo sự điều khiển bằng chương trình của CPU. A0-A3

là những đầu vào địa chỉ để chọn các thanh ghi trong của 8237. Những thanh ghi này
được ghi vào hoặc đọc ra tuỳ thuộc vào tín hiệu điều khiển đọc/ viết IORD và IOWD
của CPU.
2.5. Chu kì hoạt động
Lúc này chip DMA phát yêu cầu treo HRQ cho CPU. Số liệu được chuyển bằng
DMA trong những chu kỳ này theo một trong những chế độ sau:
-

Chế độ chuyển từng từ (Single Transfer Mode)

-

Chế độ chuyển mảng (Bolock Transfer)

- Chế độ chuyển theo nhu cầu (Đeman Transfer)
-

Chế độ ghép tầng (Cascade mode)

2.6. Các chế độ ưu tiên
8237 có thể làm việc ở 2 chế độ ưu tiên khác nhau theo quy định từ phần mèm:
- Chế độ ưu tiên cố định: kênh 0 có mức ưu tiên cao nhất, kênh 3 có mức thấp
nhất.
- Chế độ ưu tiên vịng: kênh vừa phục vụ sẽ có mức ưu tiên thấp nhất, lúc mới lập
chế độ kênh 0 ở mức cao nhất.
8


KiÕn tróc m¸y tÝnh


2.7 Làm việc với vi xử lý
8237 có thể làm việc một trong hai chế độ ưu tiên khác nhau theo quy định phần
mềm từ CPU là: chế độ ưu tiên cố định: kênh 0 có mức ưu tiên cao nhất, kênh 3 có
mức thấp nhất; và chế độ ưu tiên vòng: kênh vừa phục vụ sẽ có mức ưu tiên thấp nhất,
lúc mới lập chế độ kênh 0 ở mức cao nhất. Trước khi để DMAC làm việc, chương
trình cần phải lập cho nó cho chế độ ưu tiên, mặt nạ (che) cho từng kênh, v.v... và quy
định cho từng kênh địa chỉ DMA, đọ dài mảng (số đếm từ) bằng cách ghi vào các
thanh ghi trong của 8237 theo quy định.
Trong quá trình hoạt động, 8237 ln cập nhật trạng thái của mình vào thanh ghi
trạng thái để vi xử lý có thể độc ở thời điểm nào. Thông tin trạng thái cho biết kênh
DMA nào đã đạt đến số đếm kết thúc TC (terminal count) tức đã chuyển xong mảng
số liệu có độ dài quy định ở thanh ghi số đếm từ gốc, hoặc bị bắt buộc kết thúc chuyển
do tác động của tín hiệu EOP đang vhờ phục vụ bất cứ ở kênh nào nếu có.
8237 cịn có thể nhận và thực hiện hai lệnh phần mềm vi xử lý:
Lệnh xoá mạch lật bên trong nhằm để đưa về trạng thái ban đầu trước khi đọc học
được viết địa chỉ hoặc số đếm từ mới vào 8237,
Lệnh xố tồn bộ có chức năng như RESET lạnh: tất cả các thanh ghi lệnh, trạng
thái, yêu cầu mạch lật trong đều bị xoá, thanh ghi mặt nạ được lập và 8237 chuyển
sang chu kì nghỉ.
Thanh ghi yêu cầu DMA:

Hình 6: Thanh ghi yêu cầu DMA

Thanh ghi lệnh:

9


KiÕn tróc m¸y tÝnh


Hình 7: Thanh ghi lệnh
Thanh ghi chế độ :

Hình 8 :Thanh ghi chế độ
Thanh ghi mặt nạ :

Hình 9: thanh ghi mặt nạ

Định dạng cho các thanh ghi

10


KiÕn tróc m¸y tÝnh

Kênh

0

Thanh ghi

Đọc CS TOR IOW A3 A2 A1 A0 Mạch
/viết
lật
trong
0
0

1


Đọc

0
0

1

0

0

0

0 0

Viết

0
0

0

1

0

0

0


0

1

0

0

0 1
0

W8-W15

Đọc

0
0
0
1

1

0

0

0

0 1


W8-W15

0
1

1

0

0

0

0

0
1

0

1

0

0

0

0
1


0

1

0

0

0

Số từ gốc và tức thời

Số từ tức thời

0

0

0 0
1

11

số

DB0-DB7

Địa chỉ gốc và tức Viết
thời


Địa chỉ tức thời

0

Bus
liệu
A0-A7
A8-A15
A0-A7

1

A8-A15

0

W0-W7

W0-W7


KiÕn tróc m¸y tÝnh

1

Địa chỉ gốc và tức Viết
thời

0

0

1

Đọc

0
0

1

0

0

0

1 0

Viết

0
0

0

1

0


0

1

0

1

0

0

1 1
0

W8-W15

Đọc

0
0
0
1

1

0

0


0

1 1

W8-W15

0
1

1

0

0

0

1

0
1

0

1

0

0


1

0
1

0

1

0

0

1

Địa chỉ gốc và tức Viết
thời

0
0

1

0

0

1

0 0


Đọc

0
0

1

0

0

1

0 0

Viết

0
0

0

1

0

1

0


0

1

0

1

0 1
0

W8-W15

Đọc

0
0
0
1

1

0

0

1

0 1


W8-W15

0
1

1

0

0

1

0

0
1

0

1

0

1

0

0

1

0

1

0

1

0

Địa chỉ tức thời

Số từ gốc và tức thời

Số từ tức thời

2

Địa chỉ tức thời

Số từ gốc và tức thời

Số từ tức thời

0

0


0

1 0
1

A8-A15
A0-A7

1

A8-A15

0

W0-W7

1

12

A0-A7

W0-W7

A0-A7
A8-A15
A0-A7

1


A8-A15

0

W0-W7

W0-W7


KiÕn tróc m¸y tÝnh

Địa chỉ gốc và tức Viết
thời

0
0

1

Đọc

0
0

1

0

0


1

1 0

Viết

0
0

0

1

0

1

1

0

1

0

1

1 1
0


W8-W15

Đọc

0
0
0
1

1

0

0

1

1 1

W8-W15

0
1

1

0

0


1

1

0
1

0

1

0

1

1

0
1

0

1

0

1

1


Địa chỉ tức thời
3
Số từ gốc và tức thời

Số từ tức thời

0

0

1

1 0
1

A0-A7
A8-A15
A0-A7

1

A8-A15

0

W0-W7

W0-W7

Các lệnh của chip DMA-8237A

Tín hiệu
A3
IO W

Lệnh
A2

A1

A0

IO R

1

0

0

0

0

Đọc thanh ghi trang thái

1

0

0


0

1

Nạp thanh ghi lệnh

1

0

0

1

0

| không hợp lệ

1

0

0

1

1

Nạp thanh ghi yêu cầu DMA


1

0

1

0

0

| không hợp lệ

1

0

1

0

1

Ghi từng bit cho thanh ghi mặt
na

1

0


1

1

0

| không hợp lệ

1
1
1
0
1
0

13


KiÕn tróc m¸y tÝnh

1
1

0

1

1

1


Nạp thanh ghi chế độ

1

1

0

0

0

| khơng hợp lệ

1

1

0

0

1

Xố mạch lật xong

1

1


0

1

0

Đọc thanh ghi tạm thời

1

1

0

1

1

RESET DMA

1

1

1

0

0


| khơng hợp lệ

1

1

1

0

1

| khơng hợp lệ

1

1

1

1

0

| khơng hợp lệ

1

1


1

1

1

Ghi tồn bộ thanh ghi mặt na

0
1
0
1
0
1
1
1
1
Trong CPXC một chip DMAC chỉ có khả năng phục vụ các ngoại vi 8 bit((các
thiết bị chỉ có các thanh ghi 8 bit). Trong máy PC AT (16 bit) có thêm một chip DMAC
nữa gọi là chủ (master) được nối với vi xử lý. Các chân HRQ và HLDA của chip
DMAC tớ được nối với kênh 0 của chip chủ để để nhằm cho các kênh từ 0-3 có mức
ưu tiên hơn 3 kênh của chip chủ. Các kênh 0-3 của chủ được quy ức là kênh DMA từ
4-7 của máy AT. Bốn kênh của chip tớ phục vụ cho ngoại vi 8 bit, trong khi đó 3 kênh
tùe 5 đến 7 khơng sử dụng được cấu hình cho các thiết bị 16 bit.

Dưới đây là liệt kê địa chỉ vào/ ra thanh ghi điều khiển và trạng thái của DMA
-8237A
DMA (1)


DMA (2)

08h
08h
09h
0Ah

D0h
D0h
D2h
D4h

Đọc/viết (R/W)
R
W
W
W
14

Thanh ghi
trạng thái
lệnh
yêu cầu DMA
che kênh


KiÕn tróc m¸y tÝnh

0Bh
0Fh


D6h
DEh

R
W

chế độ DMA
mặt nạ

(1): chủ trong PC/XT, tớ trong AT;
(2): chủ trong AT
Các địa chỉ vào/ra của thanh ghi địa chỉ và đếm số từ được liệt kê dưới đây:
DMA (1)
DMA(2)
Thanh ghi
00h
C0h
địa chỉ kênh 0/4
01h
C1h
đếm kênh 0/4
02h
C2h
địa chỉ kênh 1/5
03h
C3h
đếm kênh 1/5
04h
C4h

địa chỉ kênh 2/6
05h
C5h
đếm kênh 2/6
06h
C6h
địa chỉ kênh 3/7
07h
C7h
đếm kênh 3/7
(1): chủ trong PC/XT, tớ trong AT, (2): chủ trong AT
Chương trình sau là một ví dụ về việc truyền số liệu từ khối nhớ có dải địa chỉ từ
10000h đến 13FFFh tớ khối nhớ có dải địa chỉ từ 14000h tới 17FFFh.
LATCHB
CLEAR_FL
CHO_ADD
CH1_ADD
CH1_CNT
MODE
CMMD
MASKS
REQ
STATUS
; thanh ghi vào
;
;
; thanh ghi ra
TRANSFER

EQU

10h
EQU
7CH
EQU
70H
EQU
72H
EQU
73H
EQU
7BH
EQU
78H
EQU
EQU
EQU
ES:SI
ES:DI
CX
khơng có
PROG FAR
PUSH AX

; chốt (B)
; địa chỉ F/L của mạch lật
; địa chỉ kênh 0
; địa chỉ kênh 1
; bộ đếm kênh 1
; địa chỉ thanh ghi chế độ
; địa chỉ thanh ghi lệnh

; địa chỉ thanh ghi mặt nạ
; địa chỉ thanh ghi yêu cầu DMA
; địa chỉ thanh ghi trạng thái
; địa chỉ khối dữ liệu cần truyền
; địa chỉ nơi đến
; số byte cần chuyển

; lập trình cho LatchB;
MOV AX,ES
MOV AL,AH
SHR AL,1
SHR AL,1
SHR AL,1
SHR AL,1
OUT LatchB,AL
; xóa mạch lật;
OUT
CLEAR_FL,AL
; đặt địa chỉ nguồn vào kênh 0;
15


KiÕn tróc m¸y tÝnh

MOV
OUT
MOV
OUT
; đặt địa chỉ đích vào kênh 1;
MOV

OUT
MOV
OUT
; chỉ định số byte cần chuyển;
MOV
DEC
OUT
; đặt chế độ;
MOV
OUT
MOV
OUT
; cho phép việc truyền;
MOV
OUT
; bỏ mặt nạ che kênh 1;
MOV
OUT
; yêu cầu DMA;
MOV
OUT
; AGAIN
IN
TEST
JZ
; kết thúc thủ tục truyền;
POP
TRANSFER

AX,SI

CH0_ADD,AL
AL,AH
CH0_ADD,AL
AX,DI
CH1_ADD,AL
AL,AH
CH1_ADD,AL
AX,CX
AX
CH1_CNT,AL
AL,88H
MODE,AL
AL,85H
MODE,AL
AL,1
CMMD,AL
AL,0EH
AL,04
REQ,AL
AL, STATUS]
AL,1
AGAIN

; đợt kết thúc DMA

AX

RET
ENDP


III.Kết luận
Qua bài tập này chúng em đã hiểu thêm về phương pháp truy nhập bộ nhớ DMAC,
Các hoạt động của chíp điều khiển DMAC, Cấu tạo nguyên lý hoạt động của chíp
DMAC 8237

--------------------------The End-------------------------16


KiÕn tróc m¸y tÝnh

17



×