1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giáo trình kiến trúc máy vi tính

85 419 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 6,55 MB

Nội dung

Phần li KIẾN TRÚC MÁY VI TÍNH Chương l i TỔ CHỨC BỘ NHỚ TRONG MÁY VI TÍNH 1.. TỔ CHỨC BỘ NHỚ THEO PHÂN CẤP Một trong các chức năng của CPU là tuần tự nhập lệnh từ bộ nhớ và thực hiệ

Trang 1

Phần li KIẾN TRÚC MÁY VI TÍNH

Chương l i

TỔ CHỨC BỘ NHỚ TRONG MÁY VI TÍNH

1 TỔ CHỨC BỘ NHỚ THEO PHÂN CẤP

Một trong các chức năng của CPU là tuần tự nhập lệnh từ bộ nhớ và thực

hiện-iệnh Tốc„jiộ_tuiy nhập bộ nhớ chính (bộ nhớ thao tác) tượng đ ố i chậm

(với D R A M là khoảng lOOns = 1.10~7s) sọ vãi k h ả n ă n g của CPU N ế u CPU nhập cá c lệnh và dữ l i ệ u trực tiếp từ bộ nhớ c h í n h thì tốíL-dậ xủlý thực của CPU phụ thuộc vào tốc độ truy nhập của bộ nhớ chính M ặ t k h á c dung-lượng nhớ của-bộ.flJxdchính cũng k h á hạn chế, do vậy nếu hệ thống lưu trữ chỉ g ồ m

bộ nhớ c h í n h cũng sẽ hạn c h ế k h ả năng của CPU

Đ ể tăng tốc đ ộ xử lý của CPU đồng thời đ ả m bảo khả n ă n g lưu trữ l ớ n của

bộ nhớ máy tính người ta tổ chức bộ nhớ máy tính theo kiểu hệ thống có phân cấp

Ý tưởng c h í n h trong việc sử dụng hệ thống bộ nhớ có p h â n cấp là t ạ i một thời khoảng thì c ác l ệ n h và dữ l i ệ u được sử dụng thường đ ề u nằm ở m ộ t khu vực tương đ ố i nhỏ trong bộ nhớ chính Các vùng này luôn chuyển dịch k h i chạy chương trình Cơ sở của việc quản lý hệ thống bộ nhớ có phân cấp,

m à trong đó bao g ồ m nhiều l o ạ i thiết bị nhớ k h á c nhau, là dựa trên nguyên lý quy chiếu phân vùng

K ỹ thuật được sử dụng đ ể g i ậ m t h ờ i gian trụng bình truy nhập bộ nhớ là

t h ê n u n ộ t - k ệ nhớ c ó tóc đ ộ ư u ỵ j Ị h ậ p cao, bộ nhớ S R A M , vào h ệ thống lưu trữ này B ộ nhớ l o ạ i này được g ọ i là bộ nhớ caphe (bộ nhớ ẩn) B ộ nhớ cache được

sử dụng đ ể lưu trữ c á c lệnh và dữ l i ệ u thường được sử dụng nhiều trong quá

t r ì n h thực h i ệ n c h ư ơ n g trình V i ệ c quy c h i ế u (truy nhập) đ ế n b ộ nh ớ chín h chỉ xảy ra k h i k h ô n g tìm thấy t h ô n g tin cần có trong cache G i ạ i ^ h á p chọỵấĩỊ đề kíglLthước-hạiL£hế của bộ nhớ c h í n h là sự d ụ n g ^ nhớ n g o à i (thiết bị đĩa từ)

như là m ộ t t h à n h phần của h ệ thống bộ nhớ (h.42)

Trang 2

Phần li KIẾN TRÚC MÁY VI TÍNH

CPU

1 2-5 1

I i i I Cache

ik

Bộ nhớ chính DRAM

Bộ nhớ thứ cấp (đĩa từ) Hình 42

2 TỔ CHỨC CACHE

Thủ tục quản lý bộ nhớ phân cấp có cache là nạp.từng.đoạn chương trình

và d ữ l i ệ u từ bộ nhớ chính ỵaọ ọạche Phương p h á p đ ơ n giản nhất được d ù n g

để quy chiếu bộ nhớ c ó cache là phương p h á p á n h x ạ trúc tiếp

V i ệ c quy chiếu đ ế n cache được g ọ i l à " t r ủ ụ g " (hít) n ế u truy nhập được thông t i n (nằm trong ô nhớ c ó địa chỉ CPU đ ò i h ỏ i ) ở trong cache, và g ọ i là

"trượt" (miss) nếu k h ô n g truy nhập được t h ô n g t i n ở trong cache và phải đọc

từ bộ nhớ chính

Bô nhớ chính được chia thành nhiều k h ố i , m ỗ i k h ố i bao g ồ m nhiều từ

hoặc nhiều byte (h.43)

Trang 3

Phần li KIẾN TRÚC MÁY VI TÍNH

B ộ nhớ cache c ó JLhể c h ứ a n h i ề i r k h ố i , g ọ i là k h ố i cache M ỗ i k h ố i cache nằm ở m ộ t vị trí x á c định trong cache M ặ L k h ố i cachẹ chứa c á c thông t i n n h ư :

số hiệu thẻ* b i t c ù ỵ à - b ả n _ t h â n - k l i ố i d ữ l i ệ u ( k h ố i d ữ l i ệ u trong cache là bản

sao của k h ố i d ữ l i ệ u trong b ộ nhớ c h í n h )

Cấu trúc m ộ t k h ố i cache n h ư sau :

Thao t á c đọc d ữ l i ệ u t ừ bộ nhớ được t i ế n h à n h n h ư sau :

Bước Ì : b ộ đ i ề u k h i ể n cache đọc k h ố i d ữ l i ệ u trong cache t ạ i vị trí c ó số

thứ t ự trùng v ớ i phần số t h ứ tự k h ố i trong địa chỉ trên BUS

Bước 2 : bộ đ i ề u k h i ể n cache xác định xem số h i ệ u t h ẻ của k h ố i trong cache n à y c ó trùng v ớ i số h i ệ u t h ẻ trong địa chỉ BUS hay k h ô n g

Bước 3 : N ế u trùng t h ì việc quy chiếu l à " t r ú n g " và m ộ t t ừ d ữ l i ệ u được đọc t ừ cache-vào~GPU N ế u k h ô n g - t r ù n g (trường hợp " t r ư ợ t " ) t h ì t ừ d ữ l i ệ u phải được l ấ y t ừ b ộ n h ớ c h í n h Trong trường hợp " t r ư ợ t " x ầ n phải sao lưu dữ liệu trong cạche v à o b ộ nhớ chính theo địa chỉ của n ó , sau đ ó m ớ i nạp dữ liệu mới cùng với thẻ của nó v à o cache và đ ặ t bít cờ F = 0 ( g h i nhận n ộ i dung cache trùng v ớ i n ộ i dung bộ nhớ c h í n h ) và d ữ l i ệ u được cung c ấ p cho CPU

SỐ t h ẻ cache t r o n ậ ^ á c k h ố i cache c ó t h ể trùng nhau (khi k h ố i cache chưa

bị thay t h ế ) và c ó t h ể k h á c nhau (khi n ộ i dung k h ố i cache bị thay)

93

Trang 4

b) Thao tác ghi bộ nhớ

C ó m ộ t vài k ỹ thuật được d ù n g đ ể g h i d ữ l i ệ u v à o bộ n h ớ c h í n h k h i thực

h i ệ n c á c lệnh g h i b ộ nhớ : k ỹ thuật g h i x u y ê n (vvrite through) và k ỹ thuật sao

lưu (copy back)

+ Ở loại cache ghi x u y ê n (write through) d ữ l i ệ u được g h i l ê n cả cache l ậ n

bộ nhớ c h í n h c ù n g m ộ t l ú c , k h ô n g d ù n g đ ế n b í t cờ F K ỹ thuật n à y l à m cho thời gian g h i b ộ nhớ tăng lên

+ Ở loại cache sao lưu (copy back) thì d ữ l i ệ u chỉ dược g h i v à o cache và

bít cờ F được l ậ p (F = 1), g h i nhận n ộ i dung cache k h á c v ớ i n ộ i dung b ô nhớ chính Sau đ ó n ế u k h ố i d ữ l i ệ u cần được thay t h ế bằng k h ố i d ữ l i ệ u k h á c từ b ộ nhớ chính (trường hợp "trượt") t h ì bít cờ F được k i ể m tra đ ể x á c định xem c ó

cần thực h i ệ n thao t á c sao lưu n à y k h ô n g , n ế u F = Ì t h ì cần thực h i ệ n sao lưu,

n ế u F = 0 t h ì k h ô n g cầ n sao lưu K ỹ thuật n à y l à m tăn g tố c đ ộ thao t á c v ớ i b ộ nhớ và được g ọ i là k ỹ thuật sao lưu c ó dựng cờ

Trang 5

Phần li KIẾN TRÚC MÁY VI TÍNH

2.2 T r ư ờ n g h ợ p m ỗ i k h ố i c h ứ a n h i ề u t ừ d ữ l i ệ u

K h i c ó nhiều từ d ữ l i ệ u trong m ộ t k h ố i thì k ỹ thuật á n h xạ trực t i ế p phức tạp hơn G i ả thiết địa c h ỉ 4 à 24 bít và m ộ t k h ố i g ồ m 4 từ (hoặc byte) d ữ l i ệ u

Địa chỉ trên BUS sẽ được tách t h à n h 3 phần (h.45) :

Phần x á c định số thứ tự từ (hoặc byte) trong m ộ t khối.ví dụ là 2 bít Các bít n à y x á c định vị trí từ dữ l i ệ u cần truy nhập nằm trong k h ố i cache

Hình 45

I

2.3 K ỹ t h u ậ t t ậ p l i ê n h ợ p

Vấn đề tốc độ lại được đặt ra khi CPU liên tục nhập 2 (hoặc 4) lệnh có

c ù n g địa chỉ k h ố i nhớ (các bít địa chỉ thấp của các k h ố i nhớ trùng nhau)

Cách giải quyết là chứa 2 (hay 4) khối nhớ nói trên tại cùng một vị trí

(một k h ố i ) trọng_cacJtie, nhưng m ỗ i k h ố i có m ộ t thẻ r i ê n g K h i vị trí n à y trong cache được truy nhập thì cả 2 (hay 4) t h ẻ trong 2 k h ố i con (hoặc 4 k h ố i con)

c ù n g được k i ể m tra C á c k h ố i c o a n à y tạo thành mộiÍập4iê«-4iợp (h.46)

Kỹ thuật dặt nỊụần (2 hoặc 4) khối vào cùng một vị trí trong cachẹ được

g ọ i là k ỹ i k u ậ U â f i,U M Ì L a p

Trang 6

Phần li KIẾN TRÚC MÁY V I TÍNH

TậpO Tập 1

Ở cách tiếp cận theo phân đoạn chương trình và dữ liệu được người lập

trình chia t h à n h các modul M ỗ i modul c ó m ộ t k h ô n g gian địa chỉ r i ê n g M ỗ i

modul được g ọ i là m ộ t đ o ạ n và được g á n m ộ t con sổ, g ọ i là địa chỉ đ o ạ n M ỗ i

ô nhớ trong đ o ạ n được xác định b ở i địa chỉ logic g ồ m hai con số : địa chỉ đ o ạ n

và địa chỉ offset (địa chỉ lệch) Các modul được nạp vào bộ nhớ và được quản

lý theo cơ c h ế p h â n đ o ạ n

Ở cách tiếp cận tuyến tính, một bộ nhớ với không gian địa chỉ rất lớn (ảo)

được cung cấp cho chương trình Địa chỉ n à y là địa chỉ t u y ế n tính và bắt đ ầ u

từ 0 Chương trình được chia t h à n h c á c k h ú c nhỏ có k í c h thước cố-dịnh, m ỗ i

k h ú c này được g ọ i l à j m ộ t j r a n £ , và được nạp vào bộ nhớ vật lý M ỗ i c h ư ơ n g trình được hệ điều h à n h quản lý bằng m ộ t b ả n g trang Các k h ú c c h ư ơ n g trình chứa trong bộ nhớ được quản lý theo cơ c h ế p h â n trang N h i ệ m vụ đ a n g chạy- tại một thời đ i ể m chỉ cần một số ít trang c h ư ơ n g trình và dữ l i ệ u trong bộ nhớ

Trang 7

Phần Ù KIẾN TRÚC MÁY VI TÍNH

vật lý, n ê n k ỹ thuật quản lý bộ nhớ theo trang là một k ỹ thuật thích hợp cho việc tổ chức b ộ nhớ ảo

Người ta có thể kết hợp cả hai cách nói trên để quản lý bộ nhớ

3.1 Cơ chế quản lý bộ nhớ theo phân trang

Các CPU x86 32 bít c ó phần cứng h ỗ trợ quản lý bộ nhớ trong c h ế 4 ô J b ả o

vệ theo cả hai cơ c h ế p h â n đ o ạ n và phân trang Cơ c h ế quản lý bộ n h ó theo

p h â n đoạn đã được trình b à y ở chương 1 Trong phần này ta chỉ xét cơ chế quản lý bộ nhớ theo phân trang

Đơn vị quản lý bộ nhớ chuyển địa chỉ logic gồm địa chỉ nền đoạn 32 bít

và địa chỉ offset 32 bít thành địa chỉ tuyến tính

N ế u ch ọ n c á c h quản lý theo phâ n đo ạ n th ì địa chỉ t u y ế n t í n h sẽ là địa òhỉ vật lý

N ế u chọn các h quản lý theo phâ n trang thì đơ n vị quản lý bộ nhớ sẽ chuyể n địa chỉ tuyến tính t h à n h địa chỉ vật lý theo cơ c h ế quản lý theo phân trang

Trong cơ c h ế quản lý theo trang, chương trình được chia thành các k h ú c

nhỏ c ó kích thước"xac định, được g ọ i là trang M ỗ i trang chương trình được

g á n vào từng đ o ạ n nhỏ của bộ nhớ, m ỗ i đoạn nhỏ chứa trang được g ọ i là m ộ t

khung trang

H ệ điều h à n h quản lý quá trình thực h i ệ n chương trình bằng bảng trang

Bảng trang chỉ ra vị trí khung trang (địa chỉ nền) của m ỗ i trang chương trình CPU dựa vào vị trí khung trang và địa chỉ offset của ô nhớ trong trang để tính

PDE có kích thước 32 bít (4 byte) M ỗ i PDE chứa 20 bít địa chỉ nền bảng

trang (trỏ đ ế n nền bảng trang) M ỗ i m ộ t thư mục trang có thể quản lý được t ớ i

Trang 8

Phần li KIẾN TRÚC MÁY VI TÍNH

Phần Địa chỉ bảng trang chứa 20 bít cao của địa chỉ nền bảng trang (địa chi

bắt đ ầ u m ộ t bảng trang), 12 bít thấp của địa chỉ n ề n bảng trang l u ô n bằng 0

Phần T h ô n g t i n về bảng trang chứa c á c t h ô n g t i n về q u y ề n Jtjuy nhập bảng

trang và m ộ t số thuộc tính k h á c của trang C á c bít Ì và 2 trong m ỗ i PDE cung

cấp mức đặc quyền và quyền ghi/đọc v.v của t ấ t cả c á c trang trỏ b ở i PDE n à y

Trong cơ c h ế quản lý b ộ nhớ theo trang, 10 bít cao (từ bít 22 đ ế n bít 31) của địa chỉ tuyến tính được d ù n g đ ể x á c định vị trí của PDE trong t h ư mục trang (vị trí so v ớ i nền thư mục trang)

+ Bảng trang :

Bảng trang c ó kích thước 4 Kbyte Bảng trang chứa 1024 Lối vào bảng trang PTE (Page Table Entry)

PTE c ó k í c h thước 32 bít (4 byte) M ỗ i PTE chứa địa chỉ nén của m ộ t

trang 4Kbyte, do vậy m ộ t bảng trang c ó t h ể quản lý được t ớ i 1024 trang Cấu t r ú c m ộ t PTE :

Phần Địa chỉ trang chứa 20 bít cao của địa chỉ vật lý n ề n trang (địa chỉ vật

lý bắt đ ầ u m ộ t trang), 12 bít thấp của địa chỉ nền trang l u ô n bằng 0

Phần T h ô n g t i n về trang chứa c á c t h ô n g t i n về q u y ề n truy n h ậ £ j j £ n g và một số thuộc tính k h á c của trang C á c bít l v à 2 trong m ỗ i PTE cung cấp mức đặc quyền và quyền ghi/đọc v.v của t ấ t cả c á c trang trỏ b ở i PTE n à y

Trong c ơ c h ế quản lý b ộ nhớ theo trang, 10 bít của địa chỉ t u y ế n t í n h (từ

bít 12 đ ế n bít 21) được d ù n g đ ể x á c định vị trí của PTE trong bảng trang (vị trí

so v ớ i nền bảng trang)

Có hai mức đặc quyển được d ù n g đ ể bảo vệ trang : mức c h ư ơ n g trình ứng

dụng (tương đ ư ơ n g mức 3 trong quản lý theo đ o ạ n ) và mức c h ư ơ n g t r ì n h g i á m

sát (tương đ ư ơ n g mức 0, Ì , 2 trong quản lý theo đ o ạ n )

Mức thấp nhất trong hai mức của PDE và PTE được l ấ y l à m mức đặc

q u y ề n và q u y ề n ghi/đ ọ c của từng trang

Địa chỉ vật lý của ô nhớ trong trang được tính bằng c á c h k ế t hợp 20 bít sao (phần Địa chỉ trang) trong PTE v ớ i 12 bít thấp nhất trong địa chỉ t u y ế n t í n h

Trang 9

Phần li KIÊN TRÚC MÁY VI TÍNH

3.2 C ơ c h ế t r u y n h ậ p b ộ n h ớ t h e o t r a n g

Các máy tính PC loại 32 bít quản lý bộ nhớ theo cách kết hợp hai cơ chế

p h â n đ o ạ n và p h â n trang Đ ể truy nhập một ô nhớ CPU cần có m ộ t địa chỉ logic, g ồ m địa chỉ n ề n đ o ạ n (nhận được từ bộ m ô tả đ o ạ n theo cơ c h ế đã được trình bày ở mục 2.5.2 của C h ư ơ n g l ) và địa chỉ offset Địa chỉ logic này được

chuyển t h à n h địa chỉ tuyến tính Địa chỉ tuyến tính này được d ù n g đ ể tính địa

chỉ vật lý và truy nhập ô nhớ theo cơ c h ế phân trang (h.47)

Khi truy nhập theo cơ chế phân trang địa chỉ tuyến tính được tách thành

3 phần :

+ A31 -ỉ- A 22 : lo bít chỉ số PDE, xác định vị trí PDE trong thư mục trang

+ A21 -ỉ- A12 : 10 bít chỉ số PTE, xác định vị trí PTE trong bảng trang

+ AI Ì -ỉ- AO : là 12 bít địa chỉ offset của ô nhớ trong trang

Địa chỉ vật lý của ô nhớ trong trang được tính bằng cách kết hợp 20 bít

cao (phần địa chỉ trang) trong PTE v ớ i 12 bít thấp ( A U -H AO) nằm trong địa

Bộ nhớ vật lý

Trang 10

Ngắt là sự k i ệ n CPU bị tạm dừng việc thực h i ệ n quá trình c h í n h và chuyển sang thực h i ệ n quá trình phục vụ ngắt Ngắt cứng là p h ư ơ n g p h á p vào/ra dữ

l i ệ u , trong đ ó thiết bị vào/ra (thiết bị vật lý : bàn p h í m , m á y i n , đổng h ồ nhịp thời gian v.v.) chủ động k h ở i động quá trình vào/ra Q u á trình phục vụ ngắt cứng được kích hoạt bằng m ộ t tín hiệu vật lý từ b ê n n g o à i

Thuật ngữ " ngắt" xuất phát từ k ỹ thuật ngắt cứng K h i nói đ ế n ngắt cứng, ngắt m ề m hoặc ngắt logic (ngoại l ệ ) là hàm ý nói đến các c h ư ơ n g trình con phục vụ hoạt động của hệ thống m á y tính và nói đ ế n c á c h kích hoạt các chương trình con này T ấ t cả các chương trình phục vụ ngắt đ ề u c ó c h u ỹ g j đ ặ c

đ i ể m : thứ nhất là hầu hết đã được viết sẵn (là các c h ư ơ n g trình của h ệ đ i ề u

h à n h ) và được p h é p sử dụng ; th ứ hai là địa chỉ của c á c c h ư ơ n g trìn h con n à y

Trang 11

Phẩn li KIẾN TRÚC MÁY VI TÍNH

phải được đặt ở m ộ t vùng x á c định là Bảng véc tơ ngắt, n ằ m trong bộ nhớ

c h í n h Các c h ư ơ n g trình con phục vụ ngắt cứng thường được d ù n g để đ i ề u

k h i ể n quá trình vào/ra v ớ i các thiết bị v à o - r a chuẩn ở mức vật lý Các chương trình con phục vụ ngắt cứng được kích hoạt b ở i c á c tín hiệu vật lý IRQ đ ế n từ

t h i ế t bị v à o - r a Cá c c h ư ơ n g trìn h con phục vụ ngắt m ề m là c á c chươn g trìn h

h ệ thống thực h i ệ n các thao tác v à o - r a cơ bản ở mức logic và các hoạt động

k h á c của h ệ thống Các c h ư ơ n g trình con phục vụ ngắt m ề m được kích hoạt bởi lệnh INT trong h ệ lệnh của CPU Các chương trình con phục vụ ngắt logic cũng phục vụ cho hoạt đ ộn g của h ệ thống, nhưn g c h ú n g chỉ được kíc h hoạt k h i CPU thực h i ệ n lệnh và phát sinh m ộ t ngoại lệ n à o đ ó

• Bảng véc tơ ngắt

Bảng véc tơ ngắt là bảng chứa địa chỉ của các chương trình phục vụ ngắt Bảng n à y có 256 ô, các ô được đánh số thứ tự lần lượt từ OOh, Olh, , 08h, , 0Fh, 10h, , FFh Số t h ứ tự của từng ô trong bảng được g ọ i là số ngắt M ỗ i ô chứa địa chỉ logic của m ộ t chương trình phục vụ ngắt xác định, các địa chỉ này

Số ngắt Chức n ă n g của chương trình

OOh Olh

X ử lý chia cho 0 Thực hiện gỡ r ố i (debug)

08h 09h

Đồng h ồ hệ thống Phục vụ bàn phím

Trang 12

Phần li KIẾN TRÚC MÁY VI TÍNH

1.3 H ệ t h ố n g n g ắ t c ứ n g

CPU được thiết k ế đ ể đ á p ứng được v ớ i c á c q u á t r ì n h ngắt cứng CPU có

m ộ t đ ầ u vào nhận tín h i ệ u ngắt I N T , k h i nhận được tín h i ệ u n à y CPU sẽ phản ứng theo cơ c h ế ngắt cứng Trong thực t ế c ó n h i ề u t h i ế t bị ngoại v i yêu cầu được phục vụ theo phương p h á p ngắt cứng ( b à n p h í m , đồng h ồ h ệ thống, máy

i n , v.v.) và sinh ra nhiều yêu cầu ngắt, do v ậ y cần có m ộ t b ộ đ i ề u k h i ể n giúp CPU quản lý và phục vụ c á c yêu cầu ngắt, đ ó là b ộ đ i ề u k h i ể n ngắt PIC

(Programmable Iiiterrupt Controller)

INT PIC 8259 # 2

Hình 48

H ệ thống ngắt cứng được xây dựng trên c ơ sở 2 bộ đ i ề u k h i ể n ngắt PIC

8259, m ỗ i PIC 8259 có thể nhận 8 tín h i ệ u yêu cầu ngắt I R Q từ t h i ế t bị vào/ra

Hai PIC n à y được k ế t n ố i v ớ i nhau theo k i ể u g h é p tầng, k ế t hợp hoạt động để

có thể phục vụ được 16 yêu cầu ngắt I R Q

Chức năng cơ bản của PIC 8259 : PIC 8259 là một vi mạch điện tử khả

trình được thiết k ế đ ể g i ú p CPU thực h i ệ n q u á t r ì n h ngắt cứng PIC 8259 thực

h i ệ n c á c chứsLDẩníỉ-Sau :

+ Ghi nhận được 8 yêu cầu ngắt IRQj , i = 0,1, ,7

+ Cho p h é p chọn và phục vụ c á c yêu cầu ngắt theo mức ưu tiên

+ Cung cấp cho CPU số ngắt tương ứng v ớ i yêu cầu ngắt IRQị Số ngắt này

đ ạ i d i ệ n cho địa chỉ của c h ư ơ n g trình con phục vụ t h i ế t bị yêu cầu ngắt I R Q j

Trang 13

DO -D7

CAS2 -SP/-EN -INTA

CASO-DO -D7

CAS2 -SP/-EN

CASO-— CASO-— ^ -INTA

DO -D7

CAS2 -SP/-EN

N -INTA

DO -D7

CAS2 -SP/-EN

CASO-V i —

•<—

• PIC 8259

ĩ

IRQO

IRQ7

Hình 49 Cấu trúc bên trong của PIC 8259 (h.50) :

- IRQ7

Hình 50

Trang 14

Phần li KIẾN TRÚC MÁY VI TÍNH

Các k h ố i chức n ă n g :

+ Thanh ghi yêu cầu ngắt IRR (Interrupt Request Register) : là thanh ghi

8 bít IRR chứa (ghi nhận) t ấ t cả c á c yêu cầu ngắt I R Q i đ ò i phục vụ N ế u tín hiệu IRQị = " Ì " thì bít IRRị tương ứng được đ ặ t bằng " Ì "

+ B ộ g i ả i quyết ưu tiên PR (Priority Resolver): là thanh ghi 8 bít PR xác

định mức ưu tiên của c á c yêu cầu ngắt Ngắt c ó ưu tiên cao nhất được chọn và đặt vào bít tương ứng trong ISR trong chu k ỳ I N T A

+ Thanh ghi ngắt đ a n g được phục vụ ISR ( I n Service Register) : là thanh ghi 8 bít ISR ghi nhận c á c ngắt đ a n g được phục vụ Y ê u cầu ngắt I R Q ị nào

đ a n g được phục vụ thì bít ISRj tương ứng được đ ặ t bằng " Ì "

+ K h ố i logic đ i ề u k h i ể n : k h ố i logic đ i ề u k h i ể n đưa ra tín h i ệ u I N T , được

n ố i thẳng v ớ i c h â n I N T của CPU K h i I N T c ó mức cao là đ ò i CPU phục vụ ngắt K h ố i logic đ i ề u k h i ể n nhận tín h i ệ u I N T A từ CPU K h i nhận được tín hiệu I N T A , PIC 8259 sẽ cung cấp số ngắt ra BUS d ữ l i ệ u cho CPU

I N T của PIC 8259 thứ hai PIC này được g ọ i là PIC 8 2 5 9 - / A £ Cơ c h ế g h é p tầng cho p h é p xây dựng m ộ t h ệ thống ngắt cứng quản lý được đ ế n 64 yêu cầu

n g ắ t l R Q

+ K h ố i logic ghi/đọc và g i ả i m ã : thực h i ệ n g i ả i m ã c á c từ đ i ề u k h i ể n I C W (Initialization Command W o r d - T ừ đ i ề u k h i ể n k h ở i động) và O C W (Operation Command W o r d - T ừ đ i ề u k h i ể n hoạt động) Qua hai l o ạ i từ đ i ề u

k h i ể n này n g ư ờ i sử dụng c ó thể lập trình x á c lập c h ế đ ộ hoạt đ ộ n g cho PIC

Trang 15

• Cơ c h ế hoạt động của h ệ thống ngắt cứng :

Đ i ề u k i ệ n ban đ ầ u : PIC 8259 cần được lập trình k h ở i động qua c á c từ

đ i ề u k h i ể n I C W Sau k h i c á c từ đ i ề u k h i ể n I C W được nạp thì PIC 8259 sẵn

sàng hoạt động

- Một hoặc nhiều thiết bị vào-ra có yêu cầu được phục vụ phát tín hiệu

I R Q i = " Ì " (mức tích cực) cho PIC PIC ghi nhận các yêu cầu ngắt IRQị này bằng c á c h đặt c á c bít IRRị tương ứng lên " Ì "

- PIC 8259 chọn IRQi có mức ưu tiên cao nhất để phục vụ PIC gửi tín

hiệu I N T cho CPU, đòi CPU phục vụ

- CPU thực hiện các thao tác sau :

+ thực h i ệ n nốt l ệ n h của q u á trình hiện hành

+ lưu địa chỉ trở về ( n ộ i dung của c á c thanh ghi c s , IP) và thanh ghi cờ

F L A G S v à o n g ă n xếp

+ g ử i hai tín h i ệ u trả l ờ i ngắt I N T A cho PIC

- Khi PIC 8259 nhận được tín hiệu INTA thứ Ì : bít ISRj ứng với IRQi có

mức ưu tiên cao nhất được thiết l ậ p (ISRị = 1) và bít I R R j tương ứng bị x ó a

Trang 16

c h ư ơ n g trình con phục vụ ngắt K h i đ ó bít ISRị của ngắt đ a n g được phục

vụ sẽ được đặt xuống 0

+ K ế t thúc ngắt tự động A E O I (Automatic EOI) : k h i PIC được đặt c h ế

đ ộ k ế t thúc ngắt tự động A E O I thì t ạ i chu k ỳ I N T A t h ứ 2 bít ISRj của ngắt đ a n g được phục vụ sẽ được đặt xuống 0

Bằng các cách nói trên hệ thống ngắt cứng có thể tiếp tục phục vụ yêu cầu

ngắt này ở những l ầ n t i ế p theo

1.5 Lập trình khởi động PIC 8259 và các từ điều khiển khởi

đ ọ n g I C W

Cần xác lập chế độ làm việc của PIC 8259 trước khi sử dụng Quá trình

này được g ọ i là l ậ p trình k h ở i động thiết bị V i ệ c l ậ p trình k h ở i động PIC 8259 được thực hiện qua các từ đ i ể u k h i ể n I C W và theo lưu đ ồ sau :

Trang 17

+ SNGL (bít D I ) : cho biết h ệ thống ngắt chỉ c ó m ộ t PIC hay c ó nhiều

PIC g h é p tầng

SNGL = 0 c ó g h é p tầng SNGL = Ì chỉ c ó m ộ t PIC 8259

Trang 18

Các bít T7 - T3 là 5 bít cao của số ngắt, 3 bít c ò n l ạ i liên quan đ ế n c á c

đầu vào IRQị

N ă m bít cao T7 - T3 (do n g ư ờ i sử dụng tùy chọn) c ù n g v ớ i 3 bít t h ấ p nhất bằng 0 xác định số ngắt nền Dựa trên số ngắt n ề n ứng v ớ i IRQo n à y , PIC

8259 tự tạo ra c á c số ngắt t i ế p theo tương ứng v ớ i c á c I R Q Ị đ ế n IRQ7

V í d ụ : ở h ệ thống ngắt cứng của m á y v i tín h PC, c á c s ố ngắt do PIC 8259 chủ cung cấp n h ư sau :

ứng v ớ i I R Q 0 ứng v ớ i I R Q Ì

Trang 19

Phần li KIẾN TRÚC MÁY VI TÍNH

D7 D6 D5 D4 D3 D2 D I DO

N ế u Si = Ì b á o c ó PIC th ợ n ố i và o châ n I R Q i của ch ủ

- I C W 3 cho PIC thợ : x á c định địa chỉ (chỉ thị nhận dạng) của PIC thợ

C á c bít I D 2 , I D 1 , IDO x á c định địa chỉ riêng của c á c PIC 8259-thợ K h i

nhận được tín h i ệ u I N T A 2 , PIC 8 2 5 9 - t h ợ so s á n h c á c tín h i ệ u CASO - CAS2 (phát ra từ PIC 8 2 5 9 - c h ủ ) v ớ i I D 2 - IDO, nếu c h ú n g giống nhau thì PIC

8 2 5 9 - t h ợ gửi số ngắt lên BUS d ữ l i ệ u cho CPU, ngược l ạ i thì k h ô n g g ử i

BUFF = Ì : PIC làm việc ở c h ế đ ộ đ ệ m bus, lúc này tín hiệu SP/EN ở c h ế đ ộ

ra và việc định nghĩa chủ/thợ được xác định bằng bít M/S

+ bít M/S : x á c định chủ/thợ

M/S = Ì : PIC là chủ

M/S = 0 : PIC là thợ

N ế u B U F F = 0 t h ì M/S k h ô n g c ó ý nghĩa

Trang 20

Phần li KIẾN TRÚC MÁY VI TÍNH

+ bít S F N M : bít n à y được đặt bằng 0 ngay k h i k h ở i động h ệ thống K i ể u

ưu tiên c ố định là mặc định, trong đ ó IRQo c ó mức ưu tiên cao nhất, I R Q7 có

mức ưu tiên thấp nhất Có thể thay đ ổ i k i ể u ưu tiên bằng từ đ i ề u k h i ể n OCW2 Trong k i ể u ưu tiên cố định, k h i S F N M = 0 , k h i bít ISRj = Ì thì tất cả c á c I R Q j

có mức ưu tiên thấp hơn đ ề u bị c ấ m Chỉ có c á c I R Q i c ó mức ưu tiên cao hem được p h é p g â y ngắt c h ư ơ n g trình phục vụ ngắt h i ệ n t h ờ i

1.6 Các từ điều khiển hoạt động oe w

Các từ đ i ề u k h i ể n O C W được d ù n g đ ể x á c l ậ p c á c c h ế đ ộ làm việc cụ thể trong q u á trình hoạt động của PIC 8259 Có thể g ử i c á c từ O C W n à y cho PIC8259 vào bất k ỳ lúc n à o sau k h i k h ở i động h ệ thống ngắt

a) OCWl : cho phép hoặc cấm nhận một yêu cầu ngắt IRQ ị nào đó bằng

mặt nạ ngắt

V ớ i PIC chủ : địa chỉ thanh ghi chứa O C W l là 2 1 H

V ớ i PIC thợ : địa chỉ thanh ghi chứa O C W l là A 1 H

b) OCW2 : dùng để đổi kiểu ưu tiên và báo kết thúc ngắt EOI

Địa chỉ thanh ghi chứa OCW2 : 20h (PIC chủ), AOh (PIC thợ)

PIC cho p h é p chọn m ộ t trong ba c h ế đ ộ ưu tiên :

Ưu tiên cố định : IRQo có mức ưu tiêa cao nhất, IRQ7 có mức ưu tiên thấp

nhất Trong c h ế đ ộ này I R Q mức cao c ó quyền ngắt c h ư ơ n g trình phục vụ ngắt

c ó mức ưu tiên thấp hơn

Trang 21

Phần li KIẾN TRÚC MÁY VI TÍNH

ư ụ tròn quay v ò n g : I R Q i n à o vừa được phục vụ thì bít ISRj sẽ bị xoa xuống 0 và tự động c ó mức ưu tiên thấp nhất Đ i ề u n à y thực t ế đ ã tạo ra c á c mức ưu tiên bằng nhau

Ưu tiên đặc biệt: người lập trình có thể thay đổi mức ưu tiên bằng chương

xác định các kiểu ưu tiên khác nhau

c) OCW3 : clỊS phép đăt/đọẹ ỊSR và các thanh ghi khác của PLC 8259

- E S M M = Ì và S M M cho p h é p đặt/xoá c h ế đ ộ mặt nạ đặc biệt C h ế đ ộ

mặt nạ đặc biệt n à y chỉ c ấ m m ộ t I R Q và cho p h é p tất cả c á c I R Q c ò n l ạ i được yêu cầu ngắt

- D4 = 0 , D3 = Ì

- bít p : cho phép PIC 8259 làm việc với CPU ở chế độ hỏi đáp, không

cần qua c á c tín h i ệ u I N T , I N T A N ế u p = Ì thì PIC coi tín h i ệ u đ i ề u k h i ể n đọc

R D n h ư là tín h i ệ u I N T A

- các bít RR và RIS :

RR = Ì & RIS = 0 : báo sẽ đọc IRR ở lệnh đọc tiếp sau

RR = Ì & RIS = Ì : báo sẽ đọc ISR ở lệnh đọc tiếp sau

Trang 22

IRQ3 OBh T h i ế t bị giao d i ệ n vào/r a n ố i t i ế p 2 ( C O M 2)

IRQ4 o a i T h i ế t bị giao d i ệ n vào/r a n ố i t i ế p 1 ( C O M 1)

I R Q6 OEh T h i ế t bị giao d i ệ n ổ đĩa m ề m F D C

PIC 8 2 5 9 - t h ợ :

PIC 8 2 5 9 - t h ợ c h i ế m hai địa chỉ cổng : AOh, A l h

Trang 23

Phần li KIẾN TRÚC MÁY VI TÍNH

2 T R U Y N H Ậ P T R Ự C T I Ế P B Ộ N H Ớ V À B Ộ Đ I Ể U K H I Ể N

D M A C 8 2 3 7

2.1 K h á i n i ệ m c ơ b ả n

Quá trình chuyển d ữ l i ệ u trực t i ế p giữa thiết bị ngoại v i và bộ nhớ c h í n h

không qua CPU được g ọ i là guấrt4nJbJDMA (Direct M e m o r y Access)

Trong quá trình D M A , việc chuyển dữ l i ệ u kfrfong_đựỢfr diêu k h i ể n hỉ n ĩ

c h ự ơ n ^ ư ì n h m à được đ i ề u k h i ể n bằng một thiết bị đặc biệt g ọ i là bộ đ i ề u

8237 DACK giao diện Thiết bị

Hệ thống BUS

Thiết bị ngoại vi

Hình 51 2.2 Sơ đồ khôi mạch DMAC 8237 (h.52)

DBO - DB7

< = = > !

A8-A15

Đệm vào ra

Trang 24

Phẩn li KIẾN TRÚC MÁY VI TÍNH

- D R Q 0 - D R Q 3 (tín h i ệ u v à o ) : t í n - h i ệ u ^ ổ a x ầ i L D M A B ố n dầy D R Q nối

v ớ i 4 thiết b i c ầ n phục vụ k i ể u D M A K h i thiết bị ngoại v i đưa tín h i ệ u DRQ lên mức tích cực thì q u á trình D M A bắt đ ầ u

DRQO c ó mức ưu tiên cao nhất, DRQ3 c ó mức ưu tiên thấp nhất

- DACK0-DACK3 (tín hiệu ra): tín hiệu trạ lờiDMA, DACK được nối vào

từng thiết bị n g o à i để b á o cho thiết bị n g o à i b i ế t là D M A C đ a n g phục vụ nó

- HOLD (tín hiệu ra) : dùng để báo cho CPU là DMAC đòi quyền điều

k h i ể n BUS

- HLDA(tín hiệu vào) : tín hiệu HLDA được gửi từXPU^IaxliaDMAC

b i ế t là q u y ề n đ i ề u k h i ể n bus thuộc về D M A C

- A0-A3(tín hiệu vào/ra) : 4 dấy-đỉa- chi thắp Trong chu kì nghỉ được

d ù n g đ ể xác định địa chỉ c á c thanh ghi trong D M A C k h i l ậ p trình hoạt động cho D M A C Trong chu k ỳ tích cực được d ù n g đ ể cung cấp 4 bít địa chỉ

A 0 - A 3 cho BUS đĩa chỉ

- A4- A7(tín hiệu ra) : cung cấp 4 bít địa chỉ cao cho bus địa chỉ trong

quá trình D M A

- DBO - DB7(tín h i ệ u vào/ra) : là BUS 8 bít đa n ă n g

Trong chu k ỳ nghỉ : là BUS 8 bít d ữ l i ệ u vào t r u y ề n d ữ l i ệ u xác lập chế

đ ộ làm việc cho D M A C và cũng là BUS 8 bít d ữ l i ệ u ra trong quá trình

CPU đọc trạng thái D M A C

Trong chu k ỳ tích cực (chu k ỳ D M A ) : t r u y ề n hai l o ạ i t h ô n g t i n trong 2 thời khoảng :

+ T h ờ i khoảng đ ầ u : v ớ i sự c ó mặt của tín h i ệ u A D S T B thì D B 0 - D B 7 là BUS 8 bít địa chỉ cao nhất ( A 1 5 - A 8 ) , 8 bít địa chỉ n à y cần được chốt l ạ i

để k ế t hợp v ớ i 8 bít địa chỉ thấp ( A 7 - A 0 ) t h à n h địa chỉ 16 bít

+ T h ờ i khoảng sau : là BUS 8 bít d ữ l i ệ u , d à n h cho t r u y ề n d ữ l i ệ u trong

c h ế đ ộ D M A

- M R (tín hiệu r a ) : là tín h i ệ u đ i ề u k h i ể n đọc b ộ nhớ trong c h ế đ ộ D M A

- M W ( t í n h i ệ u ra) : là tín h i ệ u đ i ề u k h i ể n ghi bộ nhớ trong c h ế đ ộ D M A

- ADSTB (tín h i ệ u r a ) : d ù n g để đ i ề u k h i ể n việc chốt (ghi l ạ i ) 8 bít địa chỉ cao ( A 8 - A 1 5 )

Trang 25

Phán li KIẾN TRÚC MÁY VI TÍNH

- A E N : (tín h i ệ u ra) cho p h é p / c ấ m thiết bị chốt địa chỉ hoạt động A E N cũng được d ù n g đ ể c ấ m c á c t h i ế t bị đ i ề u k h i ể n BUS k h á c trong c h ế đ ộ D M A

- EOP (tín hiệu vào/ra) : khUiuínJŨêỉLỵào, tín hiệu EOP buộc DMAC

kết &ú<UỊUi4tì»k»DMA L à tí n h i ệ u ra trong c h ế đ ộ hoạt đ ộng , tí n h i ệ u EOP

do D M A C p M U a b á o đ ã t r u y ề n đ ủ số byte x á c định b ở i TC

- IOW (tín hiệu vào/ra): trong chế độ nghỉ là tín hiệu vào, tín hiệu này do

CPU cung cấp đ ể đ i ề u k h i ể n ghi d ữ l i ệ u vào D M A C Trong chu k ỳ tích cực là

tín hiệu ra, D M A C tạo tín h i ệ u đ i ề u k h i ể n ghi thiết bị ngoại v i

2.3 Các chê độ hoạt động của DMAC 8237

D M A C 8237 hoạt động trong 2 chu k ỳ c h í n h là : chu k ỳ nghỉ và chu k ỳ

hoạt động

+ Chu k ỳ nghỉ : k h i k h ô n g c ó k ê n h n à o yêu c á ụ t h ì D M A C đi vào chu k ỳ nghỉ Trong chu k ỳ n à y D M A C "quan s á t " cá c dậy D R Q ở từng nhịp đồng h ồ , đồng thời làm việc v ớ i CPU Trong chu k ỳ nghỉ của D M A C thì CPU c ó thể xác lập, thay đ ổ i hoặc k i ể m tra n ộ i dung c á c thanh ghi c h ế đ ộ làm việc của

D M A C K h i có tín h i ệ u D R Q tích cực, D M A C g ử i ra tín h i ệ u H O L D và đi v à o chu k ỳ hoạt động

+ Chu k ỳ hoạt động : Trong chu k ỳ hoạt động D M A C 8237 CQJhẩ hoạt động theo Ì t r ọ j ạ & 4 J đ ể u , tùy theo l ậ p trình :

- K i ể u truyền đơn l ẻ (single transíer mode) : trong k i ể u truyền này,

D M A C được l ậ p trìn h đ ể thực hiệp, chimôtj[ầnjjụyền Thanh đ ế m từ T C tự

động giảm, địa chỉ t ă n g hoặc g i ả m cho đ ế n k h i TC = 0 Trong k i ể u truyền này

DRQ phải được g i ữ ở mức tíc h cực chừng n à o D A C K tíc h cực c ò n được gh i nbận Nếu D R Q c ò n g i ữ ở mức tích cực q u á m ộ t l ầ n t r u y ề n thì H O L D bị đặt

xuống 0 và D M A C trả quyền đ i ề u k h i ể n bus cho CPU

- Kiểu truyền khối (block transfer mode): trong kiểu truyền khối DMAC

bắt đầu thực h i ệ n việc t r u y ề n x ả i í l l ấ L i l ũ : l i ệ u k h i D R Q tích cực và t i ế p tục truyền cho đ ế n k h i thanh đ ế m T C đ ế m xuống 0 hoặc cho đ ế n k h i nh ậ n được tín mậu EOP từ b ê n n g o à i T í n h i ệ u D R Q chỉ cần được g i ữ tích cực cho đ ế n khi D A C K trở t h à n h tíc h cực

- K i ể u truyền theo yêu cầu (demand transfer mode) : troag k i ể u truyền này, dữ l i ệ u được t r u y ề n cho đ ế n k h i D R Q k h ô n g tíc h cực hoặc T C = 0 hoặc

Trang 26

Phấn li KIẾN TRÚC MÁY VI TÍNH

nhận được tín h i ệ u EOP V i ệ c truyền dữ l i ệ u trực t i ế p cho đ ế n k h i t h i ế t bị bên

n g o à i chuyển được hết d ữ l i ệ u của n ó N ế u t h i ế t bị chuẩn bị d ữ l i ệ u chậm hem,

n ó đặt D R Q t h à n h k h ô n g tích cực K h i thiết bị chuẩn bị xong thì n ó đ ặ t DRQ lên t h à n h tích cực và quá trình D M A l ạ i t i ế p tục

- K i ể u g h é p tầng(Cascade mode)(h.53)

HOLD

DMAC

8237 CPU

DMAC

8237

DRQ HOLD DACK HLDA

DMAC

8237 mức 2

DRQ DACK

Hình 53

Trong k i ể u g h é p tầng : d â y H O L D của D M A C tầng 2 n ố i vói d â y DRQ của D M A C tầng 1 Dây D A C K của D M A C tầng Ì n ố i v ớ i c á c d â y H L D A của

D M A C tầng 2

Yêu cầu D R Q của D M A C tầng 2 được truyền qua mạch p h â n định ưu tiên

của D M A G t ầ a g 1 Trong trường hợp k ê n h c ó n ố i tầng, D M A C tầng Ì chỉ thực

h i ệ n chức n ă n g phân định ưu tiên và k h ô n g đưa ra các tín h i ệ u đ i ề u k h i ể n BUS của r i ê n g n ó

2.4 Các thanh ghi của DMAC

- Thanh g h i địa chỉ h i ệ n t h ờ i (16 bít ) : Thanh g h i n à y chứa g i á trị địa

c h i của ô nhớ đ a n g được truy nhập trong quá trình D M A Địa chi tự động tăng hoặc g i ả m sau m ó t l ầ n truyền và giá trị tức t h ờ i n à y l ậ p tức được nạp vào đây Thanh ghi n à y được ghi/đọc b ở i CPU

- Thanh ghi đ ế m từ h i ệ n t h ờ i (16 bít) : thanh ghi này g i ữ số l ầ n t r u y ề n

được thực h i ệ n Số đ ế m n à y g i ả m sau m ỗ i l ầ n truyền K h i giá trị của

thanh ghi đ ế m từ h i ệ n t h ờ i g i ả m xuống 0 thì tín h i ệ u EOP được tạo ra Thanh ghi n à y được ghi/đọc b ở i CPU

Trang 27

Phần li KIẾN TRÚC MÁY VI TÍNH

Các thanh ghi đ i ề u k h i ể n và trạng thái :

+ Thanh ghi lệnh (Command Register)

Thanh ghi lệnh (8 bít) này được nạp để xác lập chế độ làm việc cho

D M A C : cho p h é p hoạt động, k i ể u ưu tiên, k i ể u tốc đ ộ truy nhập, dạng tín

= 1 cho phép địa chỉ kênh 0

= 0 cho DMAC làm việc

= 1 cấm DMAC làm việc

0 đọc/ghi bình thường

1 đọc ghi nhanh

0 ưu tiên cố định, DRQO mức cao nhất

1 ưu tiên quay vòng

= 0 ghi bình thường

= 1 ghi mở rộng

• Í :

+ Thanh ghi yêu cầu (request register)

Thanh ghi yêu cầu (8 bít): cho phép DMAC có thể trả lời DACK cho từng

thiết bị yê u cầu và đ ặ t / x ó a yê u cầu DRQ

Trang 28

0 xóa mặt nạ kênh 3

1 đặt mặt nạ kênh 3 + Thanh ghi trạng thái :

Thanh ghi trạng thái(8 bít): cho biết trạng thái DRQ và TC của từng kênh

Trang 29

2.5 Lập trình chê độ làm việc DMAC 8237

Địa chỉ nền của DMAC 8237 #1 : OOOh

Địa chỉ n ề n của D M A C 8237 #2 : OCOh

+ L ậ p trình c á c thanh g h i đ i ề u k h i ể n

Địa chỉ thanh ghi

Trang 30

Phần li KIẾN TRÚC MÁY VI TÍNH

+ L ậ p trình c á c thanh ghi địa chỉ và đ ế m

+ N ạ p byte thấp cho thanh ghi địa chỉ n ề n

+ N ạ p byte cao cho thanh gh i đ ị a ch ỉ n ề n

+ N ạ p byte th ấ p cho thanh g h i đ ế m

+ N ạ p byte cao cho thanh gh i đ ế m

+ N ạ p thanh gh i lệnh , thanh gh i yê u cầ u và thanh g h i k i ể u l à m việc + N ạ p thanh ghi địa chỉ trang

+ X ó a mặt nạ k ê n h cần d ù n g

+ Cho p h é p k ê n h hoạt động

Trang 31

Phẩn í! KIẾN TRÚC MÁY VI TÍNH

2.6 Q u á t r ì n h D M A

D M A C được xác lập c h ế đ ộ l à m việc : c á c thanh ghi lệnh, thanh ghi k i ể u

làm việc, thanh ghi địa chỉ nền và thanh đ ế m kích thước k h ố i d ữ l i ệ u được nạp, cho phép k ê n h l à m việc

-Thiết bị vào-ra phát tín hiệu DRQ cho DMAC

- D M A C phát tín h i ệ u H O L D = Ì cho CPU, đòi CPU đ i vào c h ế đ ộ D M A

- CPU thực h i ệ n nốt chu k ỳ m á y

- C P Ư phát tín h i ệ u H L D A cho D M A C và tách ra k h ỏ i h ệ thống BUS

Quyền đi ề u k h i ể n BUS thuộc v ề D M A C

- D M A C l à m chủ cá c BUS địa chỉ, BUS số l i ệ u và BUS đi ề u khiển D M A C tạo ra tín h i ệ u D A C K , p h á t ra đỉa chỉ bộ nhớ (16 bít), tạo tín h i ệ u đ i ề u

khiển ghi/ đọc t h i ế t bị vào/ra, tín h i ệ u đ i ề u k h i ể n ghỉ/đọc bộ nhớ và m ộ t

byte dữ l i ệ u được truyền trực tiếp giữa bộ nhớ và thiết bị v à o - r a Địa chỉ

ô nhớ tiếp theo được phát ra và quá trình trên lặp l ạ i cho đ ế n k h i thực

hiện xong quá trình D M A theo k i ể u đã được lập trình (TC = 0)

- K h i quá trình D M A k ế t thúc D M A C phát tín h i ệ u H O L D = 0 cho CPU

và trả quyền đ i ề u k h i ể n hệ thống BUS cho CPƯ Q u á trình D M A cũng

c ó th ể được k ế t t h ú c từ bê n ngoà i bằng tín h i ệ u EOP

- CPU nắm l ạ i quyền điều khiển hệ thống BUS và tiếp tục làm việc bình thường

2.7 Mạch DMAirangJDáy vi tính PC/AT (h.54)

CPU

HOLD HLDA

8237

#2

DRQ1 DACK1

DRQO DACKO

8237

#1 HOLD HLDA Kênh 5

Kênh 6 Kênh 7

Trang 32

D M A C chỉ tạo được địa chỉ 16 bít n ê n chỉ cho p h é p truy nhập được v ù n g

nhớ 64 Kbyte Đ ể thực h i ệ n q u á trình D M A v ớ i l o ạ i b ộ nhớ c ó bus địa chỉ 24

bít ỏ m á y PC n g ư ờ i ta t ổ chức quản lý b ộ n h ớ theo trang

N g ư ờ i ta thiết k ế c á c thanh ghi trang chứa 8 bít cao của địa chỉ 24 bít, k ế t

h ơ p v ớ i m ó t m á c h điên từ (74LS612) đ ể tạo c á c địa chỉ vật lý 24 bít trong q u á

Trang 33

Vào/ra nối tiếp là phương pháp kết nối và truyền dữ liệu giữa máy tính và

t h i ế t bị ngo ạ i v i trong đ ố m ã chứa thôn g t i n được t r u y ề n theo từng bít, bít n ọ

sau bít kia (truyền t i n n ố i t i ế p )

3.1 Chuẩn truyền tin RS-232

Chuẩn truyền t i n RS-232 quy định về phương p h á p k ế t n ố i và giao d i ệ n

giữa DTE và DCE (h.55)

DTE (Data Terminal Equipment) thiết bị đầu c u ố i d ữ l i ệ u : là thiết bị phát

hoặc nhận dữ l i ệ u

DCE (Data Circuit-terminating E q u i p m e n t ) : thiết bị t r u y ề n d ữ l i ệ u

Chuẩn RS 232 Mạng truyền tin

Trang 34

GND TxD RxD DTR

RTS CTS

CD

RI

Trang 35

CD : DCE b á o p h á t h i ệ n được sóng mang của phía b ê n kia

R I : DCE b á o nhận được tín h i ệ u rung c h u ô n g

D T E t r u y ề n d ữ l i ệ u k h ô n g đ ồ n g b ộ về pha nhưn g đ ồ n g b ộ trê n từng byte

dữ liệu bằng bít " START" D ữ l i ệ u k h i được truyền có k h u ô n dạng sau Ì

r r \

Khuôn dạng dữ l i ệ u giữa bên phát và bên nhận phải được chọn giống nhau

Trang 36

Phần li KIẾN TRÚC MÁY VI TÍNH

3.2 M o d e m ( D C E )

K h i cần thực h i ệ n truyền dữ l i ệ u giữa hai m á y tính khoảng c á c h lớn hơn

20 m é t , p h ư ơ n g p h á p có h i ệ u quả nhất là truyền qua h ệ thống đ i ệ n thoại công

cộng T h i ế t bị k ế t n ố i m á y tính số v ớ i h ệ thống đ i ệ n thoại là M o d e m Modem thực h i ệ n chuyển tín h i ệ u số nhị phân t h à n h tín h i ệ u tương tự đ ể h ệ thống điện thoại c ó thể truyền đi được M o d e m cũng thực h i ệ n chuyển tín h i ệ u tương tự

nhận được từ h ệ thống đ i ệ n thoại t h à n h tín h i ệ u số nhị p h â n cho m á y v i tính

N g o à i chức n ă n g đ i ề u c h ế (MOdulate) và g i ả i đ i ề u c h ế (DEModulate), modem

c ò n thực hiê n c á c chức n ă n g giao d i ệ n v ớ i h ệ thốn g đ i ệ n tho ạ i v à v ớ i má y vi tính

3.3 Kết nối kiểu Null-modem

Có thể thực h i ệ n k ế t n ố i và truyền t i n trực t i ế p giữa m á y tính v ớ i m á y tính

hoặc giữa m á y tính v ớ i thiết bị ngoại v i k h á c qua cổng n ố i t i ế p , k h ô n g qua

modem Phương p h á p k ế t n ố i trực t i ế p D T E - D T E ( m á y tính v ớ i m á y tính)

k h ô n g qua M o d e m được g ọ i là k ế t n ố i k i ể u N u l l - M o d e m K h i thực hiện kết

n ố i và truyền t i n n ố i t i ế p k h ô n g qua M o d e m v ẫ n cần tuân theo chuẩn R ổ 232

Có hai k i ể u k ế t n ố i N u l l - m o d e m : k i ể u 7 d â y và k i ể u 3 d â y

K ế t n ố i N u l l - m o d e m k i ể u 7 dâ y (h.58) và N u l l - m o d e m k i ể u 3 d â y (h.59):

GND TxD RxD DTR DTE DSR

GND TxD RxD DTR DTE DSR

Trang 37

DTE truyền dữ liệu

DTE đặt RTS = 0

Kết thúc

Hình 60

3.4 Thiết bị giao diện vào/ra nôi tiếp ƯART 8250/16450

T h i ế t bị giao d i ệ n vào/r a n ố i t i ế p U A R T 8250/16450 thực h i ệ n hai chức năng chính :

+ Chuyển Ì byte d ữ l i ệ u (nhận từ CPU) dạng 8 bits song song thành dạng nối tiếp , tạo khung d ữ l i ệ u dạng n ố i t i ế p và phát đi tuần tự từng bít cho đ ế n

Trang 38

Phần li KIẾN TRÚC MÁY VI TÍNH

hết byte d ữ l i ệ u N h ậ n Ì khun g d ữ l i ệ u d ạ n g n ố i t i ế p , l o ạ i b ỏ c á c bí t tạo khung

(bit START, PARITY.STOP), chuyển t h à n h dạng d ữ l i ệ u song song

+ Tạo và nhận c á c tín h i ệ u bắt tay theo chuẩn RS 232

EIA

-Đầu nối

9 chân hoặc

a) Thanh ghi dữ liệu phát THR :

T H R là nơi chứa d ữ l i ệ u (hoặc k ý tự) cần p h á t đi

Trang 39

Phẩn li KIẾN TRÚC MÁY VI TÍNH

D L A B là bít D7 của thanh ghi LCR

c) Thanh ghi điều khiển đường truyền LCR

Thanh ghi L Í R x á c đ ịn h k h u ô n dạng d ữ l i ệ u p h á t / n h ậ n và cho p h é p truy nhập vào các thanh ghi T H R , RBR , IER hoặc BRG

Địa c h ỉ : Địa chỉ nền +3, ghi

D4 = 0 Số lượng l ẻ bít " Ì " được b á o hoặc k i ể m tra

D4 = Ì Số lượng chẵn bít " Ì " được b á o hoặc k i ể m tra

D 5 - chọn mức tích cực của bít parity

Nếu D5 = Ì và D 4 = Ì thì mức tíc h cực của bít parity là 0 (Parity chẵn) Nếu D5 = Ì và D 4 = 0 th ì mức tíc h cực của bít parity là Ì (Parity l ẻ )

Trang 40

ả) Thanh ghi xác lập tốc độ truyền 16 bít BRG

B R G g ồ m 2 thanh g h i byte cao và byte th ấ p , x á c đ ịn h h ệ s ố chia của tốc

Tốc đ ộ t r u y ề n ( b á u d )

Ngày đăng: 05/09/2016, 05:38

TỪ KHÓA LIÊN QUAN

w