Tải bản đầy đủ - 42 (trang)
I. Vai trò và nhiệm vụ của bộ phối ghép

I. Vai trò và nhiệm vụ của bộ phối ghép

Tải bản đầy đủ - 42trang

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

Ng« Nh Khoa



Máy tính thường hoạt động với tốc độ cao, trong khi các thiết bị ngoài

thường hoạt động chậm hơn. Do đó bộ phối ghép phải có khả năng cấp, nhận dữ

liệu nhanh với máy tính, nhưng vói thiết bị ngoại thì ngược lại .

I.2.4. Phối hợp về phương thức trao đổi dữ liệu.

Để đảm bảo sự trao đổi dữ liệu một cách tin cậy, cần có bộ phối ghép và

phương thức trao đổi dữ liệu diễn ra theo một trình tự nhất định và hợp lý.

- Nếu việc trao đổi dữ liệu do máy tính yêu cầu thì quá trình diễn ra như sau:

Máy tính đưa lệnh điều khiển để khởi động bộ phối ghép hay thiết bị ngoài.

Máy tính đọc tín hiệu trả lời. Nếu có tín hiệu sẵn sàng mới trao đổi tin, nếu

không, thêm một chu kỳ chờ và đọc lại trạng thái.

Máy tính trao đổi tin khi đọc thấy trạng thái sẵn sàng.

- Nếu việc trao đổi tin do TBN yêu cầu: để giảm thời gian chờ đợi trạng thái sẵn

sàng của TBN, máy tính có thể khởi động TBN rồi thực hiện các nhiệm vụ khác.

Việc trao đổi tin diễn ra khi:

TBN gửi yêu cầu trao đổi tin tới bộ xử lý ngắt của khối ghép nối, để đưa yêu

cầu ngắt chương trình đến máy tính.

Nếu có nhiều thiết bị ngoài cùng gửi yêu cầu, KGN xử lý theo mức ưu tiên

ngắt định trước, rồi đưa yêu cầu trao đổi tin cho máy tính.

Máy tính nhận yêu cầu, chuẩn bị trao đổi và gửi tín hiệu xác nhận sẵn sàng

trao đổi.

KGN nhận và truyền tín hiệu xác nhận cho TBN.

TBN trao đổi tin với KGN và KGN trao đổi tin với máy tính (nếu là đưa tin

vào) hoặc máy tính trao đổi tin với KGN và KGN trao đổi tin với TBN (nếu là đưa

tin ra).

II. Cấu trúc chung của khối ghép nối

II.1. Nhiệm vụ của các khối trong KGN.

KGN có nhiệm vụ chung là nhận và chuyển tin giữa máy tính và TBN.

Nhưng cụ thể, có những nhiệm vụ nhỏ khác nhau trong sơ đồ khối. Những nhiệm

vụ và các khối tương ứng là:

1. Ghép nối và biến đổi tin giữa MT - KGN và KGN - TBN về:

- Mức và công suất tín hiệu.

- Dạng tin (song song, nối tiếp, tín hiệu số, tín hiệu analog).

2. Giải mã địa chỉ, giải mã lệnh cho các thanh ghi đệm của KGN.

3. Ghi nhận trạng thái TBN hay yêu cầu trao đổi tin của TBN, xử lý yêu cầu

ưu tiên, gửi yêu cầu vào MT và xác nhận trao đổi tin từ MT.

4. Ghi nhận, biến đổi dạng tin, phát tin cho thiết bị nhận tin.



Photocopyable



83



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

Ng« Nh Khoa



5. Nhận và phát tín hiệu nhịp thời gian trao đổi tin cho các khối trong KGN

và TBN.

II.2. Sơ đồ khối.



I/O BUS



RD

INTA



dat

a

in



dat

a

out



INTR



WR



A0

..An



Phối hợp I/O bus



From

local

bus

Thanh

ghi

đệm đọc



Thanh

ghi

đệm viết



Thanh

ghi

điều

khiển



Thanh

ghi

trạng

thái



Giải mã

địa

chỉ- lệnh

INTR



to

local

bus

Xử lý

ngắt



Phối hợp TBN bus



dat

a

in



dat

a

out



TBN

Photocopyable



84



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

Ng« Nh Khoa



Hình 8.1. Sơ đồ khối khối ghép nối.

1. Khối phối hợp đường dây MT.

Khối có nhiệm vụ:

- Phối hợp mức và công suất tín hiệu với bus I/O của MT.

- Cô lập bus I/O với các TBN khi không trao đổi tin.

- Điều khiển đưa tin ra, đưa tin vào bus I/O.

Các nhiệm vụ trên dược thực hiện nhờ các vi mạch đệm ba trạng thái.

2. Khối giải mã địa chỉ - lệnh.

Mỗi thanh ghi đệm (điều khiển, trạng thái, số liệu đọc vào, số liệu đưa ra)

của KGN được chọn để ghi và đọc tin nhờ các lệnh đọc, ghi từ khối giải mã địa chỉ

- lệnh. Khối giải mã này là những vi mạch giải mã hay tổ hợp các cổng logic. Lối

vào được nối với bus I/O của MT, để nhận các tín hiệu địa chỉ (A 0 .. An), tín hiệu

điều khiển đọc, ghi, các tín hiệu chốt địa chỉ, chốt dữ liệu. Lối ra của khối này là

các tín hiệu đọc, ghi cho từng thanh ghi đệm của KGN.

3. Các thanh ghi đệm gồm:

- Thanh ghi điều khiển chế độ hoạt động, thanh ghi điều khiển TBN.

- Thanh ghi trạng thái hay yêu cầu trao đổi tin của TBN.

- Thanh ghi đệm số liệu ghi

- Thanh ghi đệm số liệu đọc.

4. Khối xử lý ngắt.

Khi nhận, che chắn yêu cầu trao đổi tin của TBN, xử lý ưu tiên và đưa yêu

cầu trao đổi tin vào MT.

5. Khối phát nhịp thời gian.

Phát nhịp thời gian cho các hoạt động truyền và xử lý tin trong KGN hay

TBN. Đôi khi, để đồng bộ, khối còn nhận tín hiệu nhịp đồng hồ từ MT.

6. Khối đệm TBN.

Photocopyable



85



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

Ng« Nh Khoa



Khối có thể biến đổi mức (TTL), biến đổi công suất (cho các TBN là các

mạch điều khiển công suất) và biến đổi về dạng tin.

7. Khối điều khiển:

Điều khiển hoạt động của các khối, như khối phát nhịp thời gian, chế độ hoạt

động, vv... .

III. Giải mã địa chỉ cho bộ ghép nối.

Việc giải mã địa chỉ cho bộ ghép nối cũng gần giống như giải mã địa chỉ cho

mạch nhớ. Chủ yếu ta nghiên cứu việc giải mã địa chỉ cho các cổng. Thông thường

các cổng có địa chỉ 8 bit tại A0-A7 hoặc có địa chỉ 16 bit tại A0-A15. Tuỳ theo độ

dài của toán hạng trong lệnh là 8 hay 16 bit ta sẽ có 1 cổng 8 bit hay 2 cổng 16 bit

có địa chỉ liền nhau để tạo nên từ với độ dài tương ứng. Trong thực tế ít có hệ sử

dụng hết 256 cổng I/O khác nhau, nên ta chỉ xét ở đây các bộ giải mã địa chỉ 8 bit

A0-A7 và mạch giải mã thông dụng như 74LS138 để tạo ra các xung chọn thiết bị.

Các mạch giải mã đơn giản có thể được thiết kế từ các mạch NAND như

hình 8.2

Địa chỉ

cổng I



IO/



ISP



RD

a. Mạch tạo xung chọn cổng vào.

Địa chỉ

cổng O



IO/



WR



OSP

b. Mạch tạo xung chọn cổng ra.



Hình 8.2 Mạch giải mã địa chỉ đơn giản cho KGN I/O.



Photocopyable



86



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

Ng« Nh Khoa



Trong trường hợp cần nhiều xung chọn ở đầu ra cho các cổng vào/ra có địa

chỉ liên tiếp, ta có thể dùng các mạch giải mã loại 74LS138 như ví dụ sau:

A0

A1

A2



A

B

C



A3 − A 7



A0

A1

A2



A

B

C



A3 − A 7

G1



G1



IO/



IO/



Hình 8.3. Các bộ giải mã với địa chỉ 00-07 cho 8 cổng vào và 8 cổmg ra.



III. Các phương pháp điều khiển vào ra dữ liệu.

Nói chung, người ta phân biệt ra 3 phương pháp điều khiển vào/ ra dữ liệu

như sau:

+ vào/ra dữ liệu điều khiển bằng cách thăm dò trạng thái sẵn sàng của thiết

bị ngoại vi.

+ vào/ra dữ liệu điều khiển bằng cách ngắt bộ VXL.

+ vào/ ra dữ liệu điều khiển bằng phần cứng phụ để thâm thập trực tiếp vào

bộ nhớ (dùng DMAC).

Mỗi phương pháp điều khiển vào/ra dữ liệu nói trên có những đặc điểm khác

nhau và được ứng dụng trong những trường hợp khác nhau. Trong phần này chúng

ta sẽ lần lượt nghiên cứu từng phương pháp điều khiển trên.

III.1. Vào/ra dữ liệu bằng phương pháp thăm dò.

Vấn đề điều khiển vào/ra dữ liệu sẽ là đơn giản nếu thiết bị ngoại vi luôn sẵn

sàng để làm việc với CPU. Ví dụ, với thiết bị vào như bộ phận đo nhiệt độ số lắp

sẵn trong một hệ thống điều khiển lúc nào cũng có thể cung cấp số đo về nhiệt độ

của đối tượng cần điều chỉnh, hay thiết bị ra như bộ đèn LED dùng để hiển thị giá

trị nhiệt độ trong hệ thống nói trên thì lúc nào cũng có thể biểu hiện thông tin đó.

Như vậy khi CPU cần có thông tin về nhiệt độ của đối tượng thì nó chỉ việc đọc dữ

liệu tại cổng phối ghép với bộ đo nhiệt độ và nếu CPU muốn biểu diễn thông tin

vừa đọc lên đèn LED thì nó chỉ việc đưa ra tín hiệu điều khiển tới đó mà không cần

kiểm tra xem các thiết bị này có đang sẵn sàng làm việc hay không.



Photocopyable



87



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

Ng« Nh Khoa



Tuy nhiên, trong thực tế không phải lúc nào CPU cũng làm việc với các đối

tượng luôn sẵn sàng như trên. Thông thường khi CPU muốn trao đổi dữ liệu với

một đối tượng nào đó, trước tiên nó phải kiểm tra xem thiết bị đó có đang ở trạng

thái sẵn sàng hay không, nếu có thì mới thực hiện việc trao đổi dữ liệu. Việc kiểm

tra tình trạng thiết bị được thực hiện nhờ tín hiệu móc nối (handshake signal) được

lấy từ mạch ghép nối, do người thiết kế tạo ra.

Hình 8.4 ví dụ một cách tạo ra tín hiệu móc nối . Trong ví dụ này, để đơn

giản ta giả thiết CPU chỉ làm việc với một thiết bị vào và 1 thiết bị ra.

Một cổng vào số 0 (có địa chỉ 00) được dùng để đọc trạng thái sẵn sàng của

hai thiết bị trên. Tín hiệu sẵn sàng của thiết bị ngoại vi số 1 (cổng vào 01) được đặt

tại bit D0, tín hiệu sẵn sàng của thiết bị ngoại vi số 2 (cổng ra 02) được đặt vào bit

D1. Các bit này sẽ có giá trị 1 khi thiết bị ngoại vi tương ứng ở trạng thái sẵn sàng

làm việc với CPU và chúng sẽ được đưa vào bus dữ liệu khi CPU đọc nó bằng lệnh

đọc cổng vào số 0. Chương trình trao đổi dữ liệu sẽ kiểm tra các bit báo sẵn sàng

này và sẽ có các đáp ứng phù hợp.



D0

D1



Buffer

3

States



D7



Device

1



Latch

8 bits



ISP01



5v

Q

D



pr



ISP00

clk

clr



Latch

8 bits



Buffer

3

States



ISP01



Device

2



OSP02

OSP02



5v

Q

D



pr



ISP00

Photocopyable

clk



88



clr

OSP 02



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

Ng« Nh Khoa



Hình 8.4. Sơ đồ tạo tín hiệu móc nối.

Khi thiết bị vào số 1 có 1 byte số liệu cần trao đổi, nó đưa ra xung STB để

cho phép mạch chốt, chốt lấy 8 byte dữ liệu đó, đồng thời kích cho mạch lật D

(mạch tạo tín hiệu sẵn sàng) làm việc. CPU thăm dò trạng thái của thiết bị 1 qua bit

D0 khi nó đọc cổng 00. Đến khi CPU đọc 1 byte dữ liệu vào thì đồng thời nó xoá

luôn mạch tạo trạng thái để chuẩn bị cho lần làm việc sau.



III.2. Vào/ra dữ liệu bằng cách ngắt CPU.

Trong cách vào/ra dữ liệu điều khiển bằng phưưng pháp thăm dò, trước khi

tiến hành trao đổi dữ liệu CPU phải dành toàn bộ thời gian vào việc xác định trạng

thái sẵn sàng của thiết bị cần trao đổi. Trong hệ thống VXL với cách làm việc như

vậy, thông thường CPU được thiết kế chủ yếu chỉ là để phục vụ cho việc vào/ ra dữ

liệu và thực hiện các tác vụ xử lý dữ liệu liên quan.

Trong thực tế, người ta phải tận dụng những khả năng của CPU để thực hiện

những công việc khác ngoài việc trao đổi dữ liệu với TBN, chỉ khi nào có yêu cầu

trao đổi dữ liệu thìAD0

mới yêu cầu CPU tạm dừng công việc hiện tại để phục vụ việc

trao đổi dữ liệu. Sau khi hoàn thành thì CPU lại trở lại thực hiện tiếp công việc

AD1thực hiện một công việc mới. Cách làm việc như vậy gọi là

đang tiến hành, hoặc

ngắt CPU để trao đổi

AD2dữ liệu. Một hệ thống như vậy có thể đáp ứng rất nhanh với

các yêu cầu trao đổi dữ liệu trong khi vẫn có thể thực hiện các công việc khác.

AD3

Hình 8.5. trình

bày một cách đơn giản để đưa ngắt số hiệu N vào bus dữ liệu

74LS244

trong khi cũng tạo AD4

ra yêu cầu ngắt đưa vào chân INTR của bộ VXL 8088.

AD5

AD6

AD7



Photocopyable



89



INTR



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

Ng« Nh Khoa



5V



Hình 8.5. Đưa số hiệu ngắt vào bus dữ liệu

Trong trường hợp đơn giản, tại một thời điểm nhất định chỉ có một yêu cầu

ngắt IRi được tác động, khi đó ở đầu ra mạch NAND sẽ có xung yêu cầu ngắt đến

CPU. Tín hiệu IRi được đồng thời đưa qua mạch khuyếch đại đệm để tạo ra số hiệu

ngắt tương ứng, số hiệu ngắt này được CPU đọc vào khi nó đưa ra tín hiệu chấp

nhận ngắt.

Bảng 8.1 cho quan hệ giữa IRi và số hiệu ngắt N tương ứng.

Bảng 8.1. Quan hệ giữa IRi và số hiệu ngắt.

AD7

1

1

1

1

1

1

1



IR6

(AD6)

1

1

1

1

1

1

0



IR5

(AD5)

1

1

1

1

1

0

1



IR4

(AD4)

1

1

1

1

0

1

1



IR3

(AD3)

1

1

1

0

1

1

1



IR2

(AD2)

1

1

0

1

1

1

1



IR1

(AD1)

1

0

1

1

1

1

1



IR0

(AD0)

0

1

1

1

1

1

1



N

FEH (254)

FDH (253)

FBH (251)

F7H (247)

EFH (239)

DFH (223)

BFH (191)



Trong trường hợp có nhiều yêu cầu ngắt một lúc, người ta phải sử dụng các

mạch xử lý ưu tiên ngắt. Một trong những mạch xử lý ngắt ưu tiên điển hình là

mạch điều khiển ngắt 8259A.

III.3. Vào/ra dữ liệu bằng DMA.

Photocopyable



90



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

Ng« Nh Khoa



Trong các cách điều khiển việc trao đổi dữ liệu giữa thiết bị ngoại vi và VXL

bằng các cách thăm dò trạng thái sẵn sàng của thiết bị ngoại vi hay bằng cách ngắt

bộ VXL như trên, dữ liệu thường được chuyển từ bộ nhớ qua bộ VXL rồi từ đó ghi

vào thiết bị ngoại vi hoặc ngược lại, từ thiết bị ngoại vi, dữ liệu được đọc vào qua

bộ VXL rồi từ đó ghi vào bộ nhớ. Vì thế tốc độ trao đổi dữ liệu phụ thuộc rất nhiều

vào tốc độ thực hiện của các lệnh MOV, IN và OUT của bộ VXL. Do đó tốc độ

trao đổi dữ liệu nói chung là chậm.

Trong thực tế có những khi rất cần thiết phải trao đổi dữ liệu thật nhanhnvới

thiết bị ngoại vi: như khi đưa dữ liệu hiển thị ra màn hình hoặc đọc, ghi đĩa ... .

Trong các trường hợp đó ta cần có được khả năng ghi/ đọc dữ liệu trực tiếp với bộ

nhớ (DMA- truy nhập trực tiếp vào bộ nhớ mà không qua CPU) thì mới đáp ứng

được yêu cầu về tốc độ trao đổi dữ liệu. Để làm được điều này, các hệ VXL nói

chung đều phải dùng thêm mạch chuyên dụng để điều khiển việc truy nhập trực

tiếp bộ nhớ (Direct Memory Access Controller, DMAC) và phương pháp này là

phương pháp điều khiển vào/ra dữ liệu bằng DMA.

Có thể lấy một ví dụ để minh hoạ tính ưu việt về tốc độ trao đổi dữ liệu dùng

DMAC như sau: Trong khi một mạch DMAC như 8237A-5 của Intel có thể điều

khiển việc chuyển 1 byte trong 1 mảng dữ liệu từ bộ nhớ ra thiết bị ngoại vi chỉ

mất 4 chu kỳ đồng hồ, thì bộ VXL 8088 cần khoảng 40 chu kỳ đồng hồ để thực

hiện công việc này.

Cơ chế trao đổi dữ liệu bằng DMAC được giới thiệu chi tiết trong chương 6

tài liệu này.



Photocopyable



91



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

I. Vai trò và nhiệm vụ của bộ phối ghép

Tải bản đầy đủ ngay(42 tr)

×