Nói trên máy tính hiện nay, CPU, bộ nhớ hệ Bus và ngoại vi làm việc ở cùng 1 tần số là không đúng vì các lý do sau đây: Trên máy XT ban đầu sử dụng BVXL 8086/88 CPU, RAM và I/O cùng được
Trang 1Ôn tập :4 (12 câu )
Câu hỏi 1:Thế nào là chế độ đồ hoạ và chế độ văn bản
trênCard điều khiển màn hình và màn hình?Trong chế độ văn bản, byte thuộc tính trongVideo RAM có ý nghĩa gì?
Trên màn hình và Card điều khiển màn hình của máy tính có hai chế độ làm việc: Chế độ văn bản và chế độ đồ hoạ
-hình là một ký tự, một ký tự là một tập hợp các điểm sáng được sắp xếp thành các hàng và cột (Tuỳ theo độ phân giải mà mỗi ký
tự có kích thước là 8*14 điểm sáng hay 9*14 điểm sáng.v v ) Trong Card điều khiển màn hình có một mạch giải mã tạo ký tự được nạp sẵn trong một vi mạch ROM thông qua một mạch chốt
và dịch để đưa ký tự ra màn hình Tuỳ theo độ phân giải của màn hình mà kích thước của màn hình có thể là 80 cột * 25 = 1000 ký
tự hàng hay 80 cột * 25 hàng = 2000 ký tự Như vậy có thể thấy rằng đối tượng điều khiển của Card điều khiển màn hình là rất ít Chế độ văn bản chỉ tồn tại trên hệ điều hành DOS Chế độ đồ hoạ: Card điều khiển màn hình khi đó cần điều khiển đến từng điểm sáng trên màn hình nếu mànhình có độ phân giải là 800 điểm sang
* 600 điểm sáng = 48,000 điểm sang thì khi đó đối tượng điều khiển của card màn hình sẽ là 48,000 điểm sang lớn hơn gấp nhiều lần khi nó làm việc ở chế độ văn bản
Chế độ đồ hoạ được sử dụng trên hệ điều hành Windows Ở mỗi một điểm điều khiển trên màn hình, cần phải có thông tin về điểm ảnh, hay ký tự, màu sắc, độ sáng và vị trí của nó Ở chế độ văn bản thông tin về màu sắc và độ sáng của một ký tự trên màn hình được chứa trong 1 byte và byte đó được gọi là byte thuộc tính.Vùng nhớ của Video RAM được quy định bắt đầu từ địa chỉ A0000h đến BFFFFh Ở chế độ văn bản thường người ta sử dụng
Trang 2vùng nhớ Video RAM bắt đầu từ địa chỉ B0000h hoặc B8000h tuỳ theo từng loại card và màn hình Như vậy mỗi một vị trí của của một ký tự trên màn hình sẽ tương ứng với hai byte của bộ nhớ Video RAM Người ta quyđịnh tính từ trái qua phải, từ trên xuống dưới, ký tự ở vị trí cột đầu tiên, hàng đầu tiên trên màn hình sẽ được đánh số 0, tiếp theo là 1, 2, v v Giả sử địa chỉ đầu tiên của
mà Video Ram sẽ sử dụng bắt đầu từ địa chỉ B800h, màn hình có
độ phân giải 80 cột * 25 hàng thì nội dung của Video RAM từ địa chỉ đó sẽ như sau:
Địa chỉ logic Địa chỉ vật
lý
Nội dung
B800:0000 B8000 Mã ASCII của kí tự hàng 1
cột 1 B800:0001 B8001 Thuộc tính của kí tự tại hàng
1 cột 1 B800:0002 B8002 Mã ASCII của kí tự hàng 1
cột 2 B800:0003 B8003 Thuộc tính của kí tự tại hàng
1 cột 2 B800:07CE B87CE Mã ASCII của kí tự hàng 25
cột 80 B800:07CF B87CF Thuộc tính của kí tự tại hàng
25 cột 80
Câu hỏi 2: Nêu mối quan hệ giữa độ phân giải màn hình, số bits mã hoá màu và độ lớn của bộ nhớ Video RAM? Tại sao người ta lại luôn luôn đưa ra các giải pháp sử dụng giao diện Card AGP AGP 2x, AGP4x, 8x rồi PCI Exp 16x cho Card điều khiển màn hình trên máy tính?
Trang 3Mối quan hệ giữa độ phân giải màn hình, số bits mã hoá màu và
độ lớn của Video RAM Ở chế độđồ hoạ: Có hai tham số liên quan đến điểm ảnh là:
- Vị trí của điểm ảnh
- Thuộc tính của điểm ảnh bao gồm màu và độ sáng
Khả năng màu càng lớn thì bộ nhớ Video càng phải lớn Số màu hiển thị tại một thời điểm của 1 điểm ảnh luôn là 2n (n là số bits
mã hoá màu)
Chẳng hạn như Card VGA có độ phân giải 640 * 480 có khả năng hiển thị 256 màu (mã hoá bởi 8 bits màu đòi hỏi bộ nhớ là 640*480*8 = 2,457,600 bits Card SVGA có độ phân giải 1024*768 vàđược mã hoá bởi 24 bits màu cần dung lượng bộnhớ
là 1024*768*24 = 18,874,368 bits = 2,359,296 byte tương đương với dung lượng bộ nhớ 2,5 MB.Như vậy có thể kết luận rằng, độ phân giải màn hình càng lớn, số bits mã hoá màu của màn hình càng lớn thì đòi hỏi bộ nhớ Video RAM cànglớn
Ta thấy rằng muốn cho hình ảnh trên màn hình trung thực và rõ nét thì độ phân giải và số màu hiển thị củacủa Card màn hình càng phải lớn, điều đó có nghĩa làđể hiển thị được 1 trang màn hình có tính năng nhưtrên thì lượng thông tin phải được truyền từ CPU đếnBộ nhớ Video thông qua Bus cũng phải lớn Ví dụ khisử lý ảnh 3D, một bộ nhớ đồ hoạ cập nhật với tốc độ 30 hình/giây , độ phân giảI màn hình là 640 * 480, vị trícủa điểm ảnh được biểu diễn bởi 2 bytes, cần 1 lần đọckhung hình, 2 lần đọc/ghi bộ đệm
Z, 8 lần đọc ghi kếtcấu và 1 lần đọc các thành phần bổ xung màu Khi đótốc độ trao đổi dữ liệu là: 640 * 480 * 2 byte*30 hình/s * (1+2+8+1) = 640*480*60*12 = 221,184,000 bytes/sec.Dải thông
Trang 4của Bus PCI chỉ là 133MB/s như vây ta thấyngay rằng nếu dùng Bus PCI sẽ không đáp ứng được bàitoán xử lý hình ảnh này Để nâng cao tốc độ truyền dữliệu giữa CPU và Card màn hình người
ta đưa ra chuẩnAGP, Bus AGP có tần số làm việc 66Mhz nhanh gấp đôitần số làm việc của Bus PCI là 33Mhz và có 4 chế độ hỗtrợ truyền là 1X, 2X, 4X, 8X Tốc độ truyền 1X tươngứng vớI 266 MB/s, 2X tương ứng với 512MB/s, 4X là1GBs và chế độ 8X là 2,1 GBs và PCI Express tương ứngvới tốc độ truyền là 4,4GBs
Rõ ràng là để xử lý hình ảnhvới tốc độ nhanh hơn cho chất lượng hình ảnh cao thì tốcđộ truyền giữa CPU đến Card Video càng phải cao, đó làlý do mà người ta liên tục đưa ra các chuẩn AGP 1X, 2X, 4X, 8X và PCI Express
Câu hỏi 3: Trong máy tính IBM PC, chuẩn Centronic khác với chuẩn LPT ở điểmnào? Vì sao hiện nay người ta sử dụng chuẩn LPT mà không sử dụng chuẩn Centronic Có thể dùng phương pháp nào để kiểm tra sự có mặt của các cổng LPT trên máy tính?
Nối ghép Centronic là chuẩn giao diện máy in đầu tiêndành cho các máy tính họ 80x86 của Intel Ghép nốinày có 36 chân được đánh số từ 1-36 trong đó có nhiềuchân đất cho phép các đường tín hiệu có đất riêngnhằm để tránh tác động của nhiễu qua đường nguồn.36 chân này được chia thành các nhóm sau:
Các đường dữ liệu - Để chuyển dữ liệu từ máytính đến máy in Các tín hiệu trạng thái máy in – Xác định trạng thái máy in tại một thời điểm bất kỳ
Các đường đất - Để cấp đất cho từng tín hiệu tín hiệu dữ liệu, tín hiệu điều khiển và trạng thái
Trang 5Từ máy tính AT dùng BVXL 80286 trở đi nối ghép máy in dùng giao diện DB-25P (25 chân) Về cơ bản giống như chuẩn Cetronic khác nhau ở chỗ chuẩn DB25P không sử dụng các đường tínhiệu đất về cho các chân dữ liệu và điều khiển Lý do là về sau này máy in dùng nguồn Switching có khả năngchịu được sự thay đổi lớn của phụ tải mà không gây nhiễu do đó không cần sử dụng các đường đất riêng biệt cho từng tín hiệu
Khi bật nguồn máy tính, ROMBIOS sẽ kiểm tra sự có mặt của máy in qua các cổng DB-25P Địa chỉ của các cổng máyin được chứa trong địa chỉ từ 0040:0008 đến 0040:000F của vùng nhớ (8 bytes, mỗi cổng máy in cần 2 bytes)
Địa chỉ cơ sở LPT Cổng dữ
liệu Cổng trạng thái Cổng điều khiển 00408-00409 LPT1 03BC H 003BD H 03BE H 0040A-0040B LPT2 0378 H 0379 H 037A H 0040C-0040D LPT3 0278 H 0279 H 027AH
Ví dụ: Kiểm tra trên máy tính cổng máy in nào được dùng:
C> DEBUG
d 40:98 L8
0040:0008 78 03 00 00 00 00 00 00
Như vậy trên máy tính tồn tại 1 cổng DB- 25P có địa chỉ cơ sở là
0378 H, không có cổng máy in nào nữa tồn tại trên máy tính
Trang 6Câu hỏi 4: Khi nào xảy ra hiện tượng tràn bàn phím Để phân biệt ký tự “E” và “e” người ta dùng giải pháp nào?
Khi phím được ấn mã bàn phím sẽ được truyền nối tiếp sang bảng mạch mẹ, từ đây được chuyển thành tín hiệu song song và được cất vào 1 bộ đệm trước khi CPU thực hiện đọcmã của phím vừa được ấn Bộ đêm bàn phím này lưu được mã quét của 20 phím Nếu CPU bận không kịp đọc, thôngtin sẽ được chứa đầy trong bộ đệm và xảy ra hiện tượng tràn bàn phím Khi bộ đệm này đầy nó
sẽ ngừng nhận phím ấn và gửI 1 byte có giá trị là 0FFh đến CPU Chương trình phục vụ ngắt bàn phím Int 09h đầu tiên sẽ kiểm tra giá trị của byte này , nếu là 0FFh nghĩa là tràn bộ đệm và nó sẽ phát âm thanh ra loa thông báo cho ngườI sử dụng biết Nếu không ngắt Int 09h sẽ kiểm tra phím Shift, Alt và Ctrl Sau đó Int 09h sẽ ghi mã quét và mã ASCII vào một bộ đệm bàn phím nữa dài
32 bytes có địa chỉ từ 0041Eh đến 0043Dh, ngắt Int 16h sẽ thực hiện đọc bộ đệm bàn phím này Nếu như ngắt Int 16h không kịp đọc dữ liệu trong bộ đệm này cũng xảy ra hiện tượng tràn bàn phím
Ta biết rằng mõi một phím trên bàn phím chỉ códuy nhất môt mã quét bàn phím Để phân biệt kýtự “E” và “e” hay nói cách khác là phân biệt hai kýtự có cùng một mã quét bàn phím người ta sử dụng byte trạng thái bàn phím, byte trạng thái thái bàn phím thứ nhất được lưu trữ ở địa chỉ 0040:0017 và byte trạng thái thái bàn phím thứ hai được lưu trữ ở địa chỉ 0040:0018 Như vây tuỳ thuộc vào bit biểu diễn trạng thái Capslock hay bit RightShift, hoặc LeftShift có mức logic “1” mà chúng ta xác định được mã ASCII của ký tự tương ứng với mã quét bàn phím
Trang 7Câu hỏi 5: Giao diện USB hiện nay có những ưu điểm gì nổi bật so với các giao diện khác như RS-232, LPT Truyền số liệu trong giao diệnUSB sử dụng nguyên lý nào Nguyên lý đó có ưu điểm gì nổi bật.?
USB là một giao thức truyền dữ liệu tuần tự giữa máy tính với các thiết bị ngoại vi Máy tính khiđó được coi như chủ Bus Nguyên tắc kết nối nàyhoàn toàn tương tự như cách trao đổi thông tin trong mạng máy tính nghĩa là mỗi thiết bị ngoạivi sẽ được máy tính gán cho 1 địa chỉ IP (Internet Protocol) Do đó kết nối USB
có những ưu điểm nổi trội hơn với giao diện RS 232 hay LPT như sau:
Dữ liệu sẽ được truyền trên USB theo hai chế độ:
Chế độ cao tốc (Full speed mode) với tốc độ 12Mbs
Chế độ chậm (low speed mode) với tốc độ 1,5Mbs
Có tốc độ cao hơn rất nhiều lần so với hai giao diện RS 232 hay LPTNgoài ra giao diện USB còn được HĐH hỗ trợ “hot plug and play” Người sử dụng có thể cắm thêm hoặc tháo ra một thiết bị ngoại vi mà không cần tắt máy tính hay cài đặt lại hệ thống Thiết
bị ngoại vi cũng không cần bản mạch phụ trên máy chủ vì chức năng này được phần mềm hệ thống đảm nhiêm Khi phát hiện ra một thiết bị ngoại vi mới, hệ điều hành sẽ tự động cài đặt các phần mềm điều khiển thiết bị Đây là những tính năng mà các ngoại vi nối với máy tính qua giao diện RS232 và LPT không thể có được Với nguyên tắc kết nối theo kiểu mạng máy tính nên giao diện USB cho phép kết nối được tối đa 127 thiết bị bằng cách nối tiếp nhau hoặc dùng Hub trung tâm Trong khi đó nếu dùng giao diện
Trang 8RS-232 hay LPT máy tính chỉ có khả năng quản lý tối đa đến 4 ngoại vi
Ngoài ra quá trình truyền số liệu trong giao diện USB sử dụng nguyên lý truyền dòng sử dụng bộ khuyếch đại vi sai, nguyên lý này cho phép triệt tiêu được nhiễu loạn tác động lên đườngtruyền
và đảm bảo truyền được khoảng cách xa
Câu hỏi 6:Trong máy tính hiện nay Nói CPU, bộ nhớ,hệ Bus
và ngoại vi làm việc ở cùng 1 tần số?Điều đó là đúng hay sai? Tại sao? Thiết bịnào trên hệ thống Bus của máy tính đảm bảo cho các bộ phận trên làm việc ở các tần sốkhác nhau?
Nói trên máy tính hiện nay, CPU, bộ nhớ hệ Bus và ngoại vi làm việc ở cùng 1 tần số là không đúng vì các lý do sau đây:
Trên máy XT ban đầu sử dụng BVXL 8086/88 CPU, RAM và I/O cùng được nối vào 1 Bus
Năm 1987 Compaq đưa ra ý tưởng chia đồng hộhệ thống thành 2
hệ khác nhau, CPU và RAM làmviệc cùng 1 tần số độc lập với tần số của I/O ý tưởng này được thực hiên trên máy tính sử dụng trên máy tính sử dụng BVXL 80286 và 80386 Kết nối giữa 2 Bus
là 1 thiết bị gọi là Bridge (Cầu nối)
Từ máy tính sử dụng BVXL 80486 Intel sử dụng kiến trúc “Clock doubling” trong BVXL khi đó tần sô làm việc của BVXL bằng tần số làm việc của Bus nhân 2 Ở các BVXL tiến tiến tần sô làm việc của BVXL có thể gấp 10,12 lần tần số làm việc của Bus.Như vậy ta thấy rằng kiến trúc Clock double và Bridge là thiết bị đảm bảo cho CPU, bộnhớ, hệ Bus và ngoại vi làm việc ở các tần số khác nhau
Trang 9Câu hỏi 7: Thế nào là hệ thống BUS, trên máy tínhcó bao nhiêu loại Bus nêu chức năngcủa từng loại Bus đó? Độ rộng củaBus địa chỉ, Bus số liệu quy định khảnăng cụ thể nào của máy tính? LoạiBus nào được dùng phổ biến hiện nay trên các máy tính IBM và tương thích?
Hệ thống Bus trên máy tính là thiết bị được dùng để kết nối tất cả các thành phần trên máy tính với nhau.Có 3 loại bus: Bus dữ liệu (data bus), bus địa chỉ (addressbus) và bus điều khiển (control bus)
Address Bus : nhóm tín hiệu cho phép xác định địa chỉ củaô nhớ hay thiết bị vào ra trong quá trình đọc/ghi thông tin lên bộ nhớ hay cổng vào/ra
Data Bus : nhóm đường truyền để tải data thực sự giữa các thiết
bị hệ thống do địa chỉ trên address bus đã xác định Độ rộng của data bus (số đường dây dẫn) xác định data trong mỗi lần truyền là bao nhiêu
Control Bus : nhóm đường truyền cho các tín hiệu điều khiển như : các thao tác là đọc hay ghi, thao tác được thực hiện trên bộ nhớ hay trên thiết bị ngoại vi, nhận dạng chu kỳ bus và khi nào thì hoàn thành thao tác…Độ rộng bus chính là số đường dây dẫn hợp thành
Độ rộng của bus địa chỉ: Trên mỗi đường dây chỉcó thể có 1 trong
2 trạng thái 0 hoặc 1 nên bus cóđộ rộng n thì có thể nhận biết được 2n địa chỉ Nhưvây độ rộng của Bus địa chỉ quy định số ô nhớ tốiđa mà hệ máy tính có thể quản lý được.Độ rộng của bus số liệu: được thiết kế theo nguyên tắc là bội của 8 (8,16,32,64 bit) như thế mỗi lần
Trang 10truyền 1 byte/2 bytes/4 bytes tựy theo mỏy Bề rộngData bus càng lớn thỡ data truyền càng nhanh Loại Bus được dựng phổ biến trờn cỏcmỏy tớnh IBM hiện nay là Bus PCI Busnày cú độ rộng Bus địa chỉ là 32 bits vàđộ rộng bus số liệu là 64 bits
Bus PCI tương thích với ISA, EISA vàMCA Nhờ sử dụng cầu nối bus, chuẩn đã hỗ trợ cho các bus tốc độ chậm ISA,EISA và MCA.Bus PCI cho phộp thiết lập chế độ tự động thiết lập cấu hỡnh
Cõu hỏi 8: Quản lý ngoại vi bằng ngắt cú ưuđiểm gỡ so với quản
lý ngoại vi bằng phương phỏp hỏi vũng? Giải thớch tại sao trờn BUSPCI cho phộp cú một vài thiết bị cú cựng địachỉ ngắt? Vớ
dụ như IRQ 11 cú thể được dựngcho đến 6 thiết bị là Audio,SerialBusController, Network Controller, Mass Storage Controller và IEEE 1394
Quản lý ngoại vi bằng phương phỏp hỏi vũng, cứ sau 1 khoảng thời gian nhất định mỏy tớnh hỏi trạng thỏi của ngoại vi, nếu bớt thụng tin biểu diễn trạngthỏi của ngoại vi thay đổi thỡ nghĩa là ngoại vi đú được yờu cầu phục vụ, khi đú mỏy tớnh sẽ chạy chương trỡnh phục vụ ngoại vi đú Như võy phản ứng của mỏy tớnh với yờu cầu được phục vụ của ngoại vi là khụng tức thời
Quản lý ngoại vi bằng ngắt: Khi một ngoại vi được yờu cầu được phục vụ, nú sẽ phỏt tớn hiệu yờu cầu được phục vụ - IRQs Ngaylập tức mỏy tớnh sẽ dừng tất cả cỏc cụngviệc đang thực hiện
để chạy chương trinhphục vụ ngoại vi đú Như võy phản ứng của mỏy tớnh vớI yờu cầu được phục vụ của ngoại vi trong trường hợp này là tức thời Đõy chớnh là ưu điểm nổi trội của việc quản lý
Trang 11ngoại vi bằng ngắt so với việc quản lý ngoại vi bằng phương pháp hỏi vòng
Trên các hệ Bus hiện đại như MCA, EISA, PCI sử dụng tín hiệu IRQ là tín
hiệu mức.Do đó có khả năng chia sẻ các tín hiệu ngắt IRQs Nghĩa
là có thể có hai hay nhiều ngoại vi cùng sử dụng một tín hiệu ngắt IRQ
Khi IRQ có mức tích cực, chương trình điều khiển của các ngoại
vi sẽ kiểm tra và nhận dạng xem ngoại vi nào trên Bus có yêu cầu ngắt Ví dụ dưới đây cho thấytrên Bus PCI tín hiệu ngắt IRQ 11
có thể chung cho đến 6 ngoại vi
Câu hỏi 9: Dải thông của Bus là gì? Các biện pháp để tăng dảithông của Bus máy tính? Các loại Bus ISA, MCA, EISA, PCI, AGP, PCI Exp được pháttriển theo tiêu chí nào? Các loại Bus vừa kể trên Bus nào có hỗ trợ Plug and Play
Dải thông của Bus là năng suất truyền hay tốc độmà Bus có thể truyền số liệu từ thiết bị chủ đếnthiết bị tớ Đơn vị đo của dải thông là MB/s vàđược xác định bởi công thức sau:
Dải thông = tần số l/v của Bus * độ rộng Bus dữ liệu (byte)
Từ công thức trên ta thấy giải pháp đểtăng dải thông của Bus là: Tăng tần số làm việc của Bus
Tăng độ rộng của Bus số liệu
Ngoài ra việc thay đổi giao thức của Bus cũng góp phần làm tăng dải thông.Các loại Bus ISA, MCA, EISA, PCI, AGP, PCI Exp được xây dựng và phát triển theo tiêu chí: Dải thông của các hệ
Trang 12Bus ra đời sau bao giờ cũng lớnhơn dải thông của các hệ Bus thế
hệ trước để nhằm đảm bảo tốc độ truyền dữ liệu giữa thiết bị chủ đếnthiết bị tớ ngày càng cao như các ứng dụng đồ hoạ, quá trình đọc và ghi thông tin các bộ nhớ ngoài như ổ đĩa cứng chuẩn ATA, chuẩn SATA.v.v
Trong các loại Bus kể trên, các hệ Bus MCA, EISA,PCI, AGP và PCI Exp có hỗ trợ Plug and Play ởcác mức độ từ thấp đến cao theo nguyên tắc các hệBus ra đời sau bao giờ cũng có khả năng
tự độngđịnh dng cấu hình (Plug and Play) cao hơn hệ Bus thế hệ trước
Câu hỏi 10:Thiết bị được gọi là “Cầu nối – bridge” trên cácmáy tính hiện nay dùng để thực hiện chức năng gì?Có mấy loại? Mỗi loại được dùng cụ thể vào nhữngcông việc gì?
Năm 1987 Compaq đưa ra ý tưởng chia đồnghộ hệ thống thành 2
hệ khác nhau, CPU vàRAM làm việc cùng 1 tần số độc lập với tầnsố của I/O ý tưởng này được thực hiên trênmáy tính sử dụng trên máy tính sử dụngBVXL 80286 và 80386 Kết nối giữa 2 Bus là1 thiết bị gọi là Bridge (Cầu nối)
Hiện nay MainBoard của máy tính được điều khiểnbởi rất nhiều mạchphần cứng có các chức năngkhác nhau Tất cả chúng được đóng trong mộtmạch tích hợp cực lớn gọi là chipset Cấu trúc phổ biến nhất của chipset thường có 2 chip gọi là northand south Bridges.North bridge: Điều khiển truyền số liệu giữa CPU,RAM, cổng AGP và cổng PCI Express * 16x.South Bridge: Liên kết với North bridge và truyền số liệu đến tất cả các ngoại vi còn lại
Trang 13Câu hỏi 11:Số lượng ngoại vi tối đa mà máy tính có thể quản lýđược bằng cổng COM là bao nhiêu? Cổng LPT là bao nhiêu?
Để kiểm tra sự có mặt của cáccổng đó, người ta dùng phương pháp nào? CổngUSB là bao nhiêu? Giải thích lý do tại sao giaodiện qua cổng USB lại cho phép quản lý số ngoạivi đến 127 thiết bị?
Số lượng cổng COM và cổng LPT mà máytính có thể quản lý được tối đa là 4 thiết bị cho mỗi loại Khi khởi động máy tính, hệ điều hành sẽ kiểm tra sự có mặt của các cổngCOM và LPT có trên máy , địa chỉ của các cổng COM và LPT sẽ được ghi vào trong cácô nhớ từ địa chỉ 0040:0000 đến 0040:000F h.Do đó để kiểm tra sự có mặt của các cổngCOM và cổng LPT trên máy tính ta có thể sử dụng lệnh D của chương trình Debug để kiểm tra với câu lệnh như sau:D 0040:0000 l10
Khi đó máy tính sẽ hiển thị nội dung củacác ô nhớ từ 0040:0000 đến 0040:0007 là địa chỉ cá các cổng từ COM 1 đến COM 4 Nội dung các ô nhớ từ 0040:0008 đến0040:000F là địa chỉ của các cổng từ LPT1 đến LPT4 Nếu nội dung của các ô nhớ đó là 00 nghĩa là cổng COM hay cổng LPT tương ứng không tồn tại trên máy tính.Số lượng ngoại vi qua giao diện USB mà máy tính có thể quản tối đa đến 127 thiếtbị bằng cách nối tiếp nhau hoặc dùngHub trung tâm Lý do giao diện USB có thể quản lý được số ngoại vi lớn đến như vậy là do giao diện này sử dụng kết nối kiểu mạng máy tính, mối thiết bị ngoại vikhi được nối vào giao diện USB sẽ được cấp một địa chỉ IP Hệ điều hành qua đó có thể nhận dạng được thiết bị
Trang 14Cõu hỏi 12: Thế nào là byte thuộc tớnh trong bộ nhớ Video RAM Cho biết card màn hỡnhcủa mỏy tớnh đang ở chế độ 02: vănbản, độ phõn giải 80 cột x 25 dũng, địachỉ bộ nhớ Video bắt đầu từ B8000h Xỏc định địa chỉ logic của byte ký tựvà byte thuộc tớnh ứng với vị trớ dũng12 cột 20 trờn màn hỡnh
Byte thuộc tớnh trong bộ nhớ Video RAM được sử dụng khi màn hỡnh làm việc ở chế độvăn bản (text) cho phộp biểu diễn màu sắc
và độ sỏng của của ký tự trờn màn hỡnh Mỗimột byte thuộc tớnh trong Video RAM tươngứng với 1 vị trớ của ký tự trờn màn hỡnh
Vớ dụ Video RAM cú địa chỉ từ B8000H và cú độ lớn 16KB Cỏc
địa chỉ chẵn chứa các ký tự và địa chỉ lẻ chứa thuộc tính của ký tự
Địa chỉ logic Địa chỉ vật lý Nội dung
Trang 15Số thứ tự = vị trí dòng * 80 + vị trí cột= 12 * 80 +20 = 980
Vị trí của ô nhớ trong Video RAM chứa mã ASCII và thuộc tính của ký tự được xác định như sau:
Vị trí của ô nhớ = số thứ tự ký tự *2 = 980 *2 = 1,960 = 7A8h Vậy địa chỉ của các ô nhớ sau sẽ chứa mã ASCII và thuộc tính Của ký tự tại vị vị trí dòng 12 cột 20 trên màn hình:
Ô nhớ B800:07A8 chứa mã ASCII của ký tự tại vị trí dòng 12 cột
20
Ô nhớ B800:07A9 chứa thuộc tính của ký tự tại vị trí dòng 12 cột
20
Trang 16Ôn tập 3 (12 câu )
Câu hỏi 1:Thế nào là vào/ ra theo mode địa chi gián tiếp vàtrực tiếp (Với máy tính IBM-PC sử dụng BVXL của Intel)? Không gian vào/ra của hai mode địachỉ này khác nhau như thế nào? Khi sử dụngmột phần không gian bộ nhớ làm không gianvào/ra Khi đó những tín hiệu điều khiển nàođược sử dụng
để điều khiển quá trình đọc/ghi sốliệu từ cổng vào/ra Điều gì
là rất quan trong khi thực hiện chương trình ghi/ đọc cổng loại này?
Phân biệt vào/ra theo mode địa chỉtrực tiếp và gián tiếp: Vào ra theo mode địa chỉ trực tiếp là địa chỉ củacổng vào/ra được nằm trực tiếp ngaytrong lệnh vào ra Ví dụ khi cần đọc số liệu từ cổng
có địa chỉ 0FFh vào thanh ghi AL.IN AL, 0FFh ; Đọc nội dung cổng có địa chỉ 0FFh vào thanh ghi Al
Vào ra theo mode địa chỉ gián tiếp là địa chỉ cổng vào/ra được nằm trong thanh ghi DX Ví dụ: Khi cần đọc sốliệu từ cổng có địa chỉ là 0378h ta cần thực hiện như sau:
MOV DX, 0378h ; nạp địa chỉ cổng vào thanh ghi DX
IN AL, DX ; đọc số liệu từ cổng 378h vào thành ghi AL
• Không gian địa chỉ của hai Mode địa chỉ trực tiếp và gián tiếp: Khi thực hiện vào/ra theo mode địa chỉ trực tiếp, địa chỉ cổng được mã hoã bởi 8 bits địa chỉ từ A0 đến A7 do đó nó có khả năng địa chỉ hoá được 28= 256 cổng vào và 28= 256 cổng ra
• Khi thực hiện vào/ra theo mode địa chỉ gián tiếp, địa chỉ cổng được mã hoã bởi 16 bits địa chỉ từ A0 đến A15 do đó nó có khả
Trang 17năng địa chỉ hoá được 216= 65,536 cổng vào và 216= 65,536 cổng
• Khi đó muốn thực hiện trao đổi số liệu với các cổng vào/ra người
ta phải sử dụng các lệnh trao đổi số liệu với bộ nhớ Ví dụ: khi cần đọc số liệu từ cổng có địa chỉ 35000h vào thanh ghi AL của BVXL
• MOV AX, 3000h; khởi động thanh ghi đoạn dữ liệu
• MOV DS, AX
• MOV AL,[500]; đọc số liệu từ cổng 3500h vào thanh ghi AL
• Khi đó các tín hiệu điều khiển quá trinh đọc/ghi cổng vào/ra là các tín hiệu đọc/ghi bộ nhớ MEMR hay MEMW
+)Cổng vào ra trong trường hợp này sẽ được địa chỉ hoá bằng 20bits địa chỉ do đó cần có nhữnglưu ý sau:
Mạch giải mã cổng vao/ra là mạch giải mã 20bits địa chỉ (giải mã tuyệt đối)
Khi thực hiện các lệnh đọc ghi bộ nhớ nhất thiết phải khởi tạo thanh ghi đoạn chứa địa chỉ cổng vào/ra
Trang 18Câu hỏi 2: Trình bày sơ đồ ghép nối Data Bus với các cổng vào
? Những tín hiều điều khiển nào sẽ được dùng để điều khiển quá trình đọc số liệu từ cổng vào (trường hợp vào/ra có không gian địa chỉ riêng) Trình bày lệnh ASM thực hiện lệnh trao đổi
số liệu 8 bits và 16 bits
• Để nói ghép Bus với các cổng vào người ta sử dụng bộ đệm một
chiều là vi mạch 74LS244 để ghép nối các cổng vào với Bus số liệu như sơ đồ trên
• Khi đó mạch giải mã sẽ cho ra tín hiệu chọn chip kết hợp với tín hiệu đọc cổng nối vào các chân điều khiển của vi mạch 74LS244
để thực hiện điều khiển quá trình đọc số liệu
Trang 19Lệnh trao đổi số liệu giữa Bus và cổng vào: Trao đổi số liệu 8 bits ( AL là thanh ghi chứa số liệu): Đốivới cổng được địa chỉ bởi 8 bits (mode địa chỉ trựctiếp):
Câu hỏi 3: Trình bày sơ đồ ghép nối Data Bus với các cổng ra
? Những tín hiều điều khiển nào sẽ được dùng để điều khiển quá trình ghi số liệu từ cổng ra (trường hợp vào/ra có không gian địa chỉ riêng) Trình bày lệnh ASM thực hiện lệnh trao đổi
số liệu 8 bits và 16 bits
Để thiết kế các cổng ra người ta sử dụng vi mạch chốt 74LS 373
để ghép nối bus số liệu với các cổng ra như sơ đồ trên
Khi đó mạch giải mã sẽ cho tín hiệu chọn chíp CS kết hợp với tín hiệu ghi cổng IOW nối vào các chân điều khiển của vi mạch 74LS373 để thực hiện điều khiển quá trình ghi số liệu.Lệnh trao đổi số liệu giữa Bus và cổngra:
Trang 20Trao đổi số liệu 8 bits ( AL là thanh ghi chứa số liệu): Đối với cổng được địachỉ bởi 8 bits (mode địa chỉ trực tiếp):
Trang 21Câu hỏi 4: Bộ vi xử lý truy cập (đọc/ghi) các cổng vào/ra nhờ những lệnh nào? Có các Mode địa chỉ như thế nào? Số cổng vào/ra có thể địa chỉ hoá được tối đa là bao nhiêu, tại sao? Tín hiệu điều khiển nào phân biệt CPU đang truy cập vào/ra hay bộ nhớ?
Máy tính IBM PC sử dụng BVXL của hãng Intel thực hiện truy cập các cổng vào ra bằng các lệnh vào ra trực tiếp là lệnh IN và lệnh OUT
Lệnh IN và lệnh OUT có hai mode địachỉ:
Mode địa chỉ trực tiếp: Không gian vào/ra được địa chỉ hoá bởi 8 bits địa chỉtừ A0 – A7, ở mode này địa chỉ cổngđược nằm trực tiếp trong lệnh Ví dụ:
IN AL, 30h; đọc cổng có địa chỉ 30h vào thành ghi AL
OUT 28h, AL; Ghi số liệu từ thanh ghi AL ra cổng có địa chỉ 28h
Không gian vào/ra sử dụng mode địa chỉ trực tiếp với 8bits địa chỉ ta có thể địa chỉ hoá được 28= 256 cổng vào và 28= 256 cổng
ra
Mode địa chỉ gián tiếp: Không gian vào/rađược địa chỉ hoá bởi 16 bits địa chỉ từ A0 –A15, ở mode địa chỉ này, địa chỉ của cổngvào/ra được ghi vào thanh ghi DX Ví dụ:Đọc số liệu từ cổng
có địa chỉ 3f8h vào thanh ghi AL
MOV DX, 03f8h; Nạp địa chỉcổng vào thanh ghi DX
IN AL, DX; Đọc số liệu từ cổng 3f8h vào thanh ghi AL
Trang 22Không gian vào/ra sử dụng mode địa chỉ giántiếp với 16 bits địa chỉ ta có thể địa chỉ hoáđược 216= 65,536 cổng vào và 216= 65,536cổng ra
Vì không gian vào/ra được địa chỉ hoá bởi 8bits hay 16 bits địa chỉ do đó không cần phảixác định địa chỉ đoạn và độ lệch như vớikhông gian bộ nhớ
• Tín hiệu trạng thái được phát ra từ CPU thông báo khi nào thì CPU truy cập bộ nhớ và khi nào thì truy cập vào/ra Tín hiệu này được kết hợp với các tín hiệu và để tạo ra các tín hiệu điều khiển quá trình ghi đọc bộ nhớ và vào/ra
Câu hỏi 5: Máy tính có mấy hình thức quản lý thiết bịvào/ra? Hình thức nào được sử dụng trêncác máy tính IBM và tương thích Trìnhbày vai trò của bảng vector ngắt Trong bộnhớ máy tính,vector ngắt nằm ở vị trí nào? Vector ngắt có bao nhiêu phần tử, mỗiphần tử gồm mấy byte Nội dung của nóchứa thông tìn gì? Trình bày cách xác địnhđịa chỉ đoạn và độ lệch của chương trìnhcon phục vụ ngắt có số hiệu ngắt là int 14h?
Máy tính có hai thức thức quản lý thiết bị vào/ra là: Quản lý thiết
bị bằng cách hỏi vòng và quản lý thiết bị bằng phương pháp ngắt Quản lý bằng cách hỏi vòng là: Mỗi thiết bị vào/ra trênmáy tính
có trạng thái được biểu diễn thông qua cácbits trạng thái ở một cổng vào/ra có địa chỉ đượcquy định Máy tính sau một khoảng thời gian nhấtđịnh sẽ đọc số liệu từ cổng và xét trạng thái của cácbits đại diện tương ứng với các thiết bị vào/ra Nếubits trạng thái tương ứng với thiết bị ở mức tích cựctương ứng với thông báo thiết bị vào/ra cần đượcphục vụ, khi đấy máy tính sẽ chạy một chương trìnhtương ứng bằng lệnh CALL hay lệnh JUMP để
Trang 23Vector ngắt là một vùng nhớ có độ dài 1024 bytes (1 KB) được quy định nằm ở địa chỉ từ 00000h – 003FFh dùng để chứa địa chỉ của các chương trình con phục vụ ngắt Vecter ngăt gồm có 256 phần tử mỗi phần tử gồm có 4 byte (tương đương 1 KB bộ nhớ) được dùng để chứa địa chỉ đoạn và độ lệch của chương trình con phục vụ ngắt (hai byte thấp chứa địa chỉ độ lệch và 2 byte cao chứa địa chỉ đoạn)
Trang 24Hệ điều hành của máy tính IBM quy định có 256 ngắt được đánh
số từ 00h –FFh do đó mỗi phần tử của vector ngắt sẽ chứa địa chỉ của 1 chương trình con phục vụ ngắt Địa chỉ đầu tiên của mỗi phần tử ngắt trong bảng vector ngắt được xác định gấp 4 lần số hiệu ngắt
Với ngắt có số hiệu là 14h thì địa chỉ đoạn vàđộ lệch của chương trình con phục vụ ngắtnày sẽ được chứa trong các ô nhớ ở bảngvector ngắt như sau.Địa chỉ đầu tiên của phần tử ngắt bằng 4 lầnsố hiệu ngắt: 14h x 4 = 50h
Như vậy ô nhớ có địa chỉ 00050h và 00051h sẽ chứa địa chỉ độ lệch của chương trình con phục vụ ngắt 14h
Ô nhớ 00052h và ô nhớ 00053h chứa địa chỉ đoạn của chương trình con phục vụ ngắt có số hiệu 14h
Câu hỏi 6:Thế nào là ngắt cứng và ngắt mềm Hệ điềuhành của máy tính IBM cho phép quản lý tốiđa được bao nhiêu ngắt cứng
và ngắt mềm.Khi một ngắt được kích hoạt, CPU xác địnhđịa chỉ của chương trình con phục vụ ngắt đónhư thế nào? (cụ thể cho trường hợp ngắtmềm, ngắt cứng) Xác định các ô nhớ chứathông tin cho phép xác định địa chỉ logic củachương trình con phục vụ ngắt có số hiệu ngắt là 18h
Ngắt cứng: (Hardware Interrupt) đượcphát sinh bởi các mạch của máy tính khiđáp lại 1 sự kiện nào đó Nó được dùngđể điều khiển các thiết bị ngoại vi quantrọng trên máy tính như bàn phím, ổ đĩa,máy in v v Các ngắt này được vi mạchđiều khiển ngắt 8259A quản lý.Máy tính IBM PC XT có 8 ngắt cứng là:
IRQ0 Timer
Trang 25IRQ1 Keyboard
IRQ2 Dùng trong máy AT
IRQ3 Serial port 2
IRQ4 Serial port 1
IRQ5 Hardisk
IRQ6 Floppy disk
IRQ7 Parallel port 1
Ngắt mềm (Software Interrup) Dochương trình yêu cầu để thực hiện 1chương trình con nào đó có sẵn trongROM hay trong RAM Ngắt mềm đượcthực hiện bởi lệnh INT Ngoài ra còn có ngắt phát sinh nội bộđược sinh ra khi trong quá trinh thựchiện chương trình xảy ra các tình huốngnhư tràn số liệu bộ nhớ, chương trìnhthực hịên gặp phải phép chia cho 0 hoặcdo yêu cầu của người lập trình trong quátrình thiết kế hệ thống có thể đặt cácngắt bẫy để kiểm tra
Hệ điều hành của máy tính IBM PC và tương thích cho phép quản
lý được 256ngắt, mỗi ngắt được gán 1 số hiệu ngắtđược đánh số
từ 00h đến 0FFh.Khi một ngắt được kích hoạt HĐH sẽ xác định địa chỉcủa chương trình con phục vụ ngắt như sau:
Với ngắt mềm: Số hiệu ngắt được nằm ngay trong lệnhINT, khi
đó HĐH chỉ cần lấy số hiệu ngắt đó nhân với4 để xác định được
vị trí của 4 ô nhớ trong bảng vectorr ngắt nơi chứa địa chỉ đoạn
và độ lệch củachương trình con phục vụ ngắt
Với ngắt cứng: HĐH sẽ xác định số hiệu của ngắt tương ứng thông qua việc đọc nội dung của thanh ghi ICW2 trên vi mạch
Trang 26quản lý ngắt sau đó HĐH lấy số hiệu ngắt đó nhân với 4 để xác định được vị trí của 4 ô nhớ trong bảng vectorr ngắt nơi chứa địa chỉ đoạn và độ lệch của chương trình con phục vụ ngắt
Xác định vị trí ô nhớ chứa địa chỉ đoạn và độ lệchcủa chương trình con phục vụ ngắt tương ứng vớingắt có số hiệu ngắt là 18h:
Vị trí đầu tiên của ô nhớ trong bảng vector ngắtchứa địa chỉ của chương trình con phục vụ ngắt có số hiệu là 18h là: 18h x 4 = 60h Như vậy hai ô nhớ có địa chỉ là 00060h, 00061h trong bảng vector ngắt sẽ chứa địa chỉ độ lệch, hai ô nhớ có địa chỉ 00062h, 00063h
sẽ chưa địa chỉ đoạn của ngắt có số hiệu 18h
Câu hỏi 7: Định nghĩa vai trò của ngăn xếp và thanh ghi con trỏ ngăn xếp - SP khi thực hiện thao tác cất giữ và hồi phục số liệu vào trong Stack (ngăn xếp) Khi khởi động máy tính SP được thiết lập giá trị như thế nào Khi nào thì SP có giá trị tăng
và khi nào thì có giá trị giảm đi
Ngăn xếp là một vùng nhớ có độ dài 64 KB (tương đương 1 segment) được máy tính sử dụng để cất tình trạng tạm thời của hệ thống gồm trạng thái của các thanh ghi RF, CS, IP khi thực hiện các thao tác ngắt và là nơi cất giữ và hồi phục thông tin các thanh ghi đa năng của BVXL khi thực hiện các lệnh Push và Pop
Thanh ghi con trỏ ngăn xếp (SP) là thanh ghi có độ dài 16 bits có chức năng luôn trỏ đến đỉnh của ngăn xếp.Đỉnh của ngăn xếp là
vị trí của ô nhớ mà SP trỏ đến, tại đó sẽ diễn ra thao tác phục hồi
và cất giữ số liệu khi máy tính thực hiện các thao tác ngắt và các lệnh PUSH và POP
Trang 27Địa chỉ của đỉnh ngăn xếp là: SS:SP khikhới động máy tính IBM
PC và tươngthích giá trị của thanh ghi SP bao giờcũng được nạp giá trị lớn nhất FFFEhCấu trúc của ngăn xếp là cấu trúc LIFO (Vào sau/ratrước) do vậy khi máy tính thực hiện quá trình cất giữtrạng thái và thực hiện các lệnh cất giữ PUSH thì giátrị của ngăn xếp được giảm đi và khi máy tình thựchịên quá trình hồi phục trạng thái hay các lệnh POPthì giá trị của ngăn xếp được tăng lên Một thao tác cấtgiữ hay hồi phục thông tin khiến cho giá trị của thanh ghi SP thay đổi 2 đơn vị Tương đương với việc máy tính cất giữ hay hồi phục được 2 byte thông tin
Câu hỏi 8 Vì sao nói điều quan trọng nhấttrong thao tác ngắt trên máy tính là xác địnhđược số hiệu ngắt Với ngắt cứng và ngắtmềm làm thế nào để máy tính xác định đượcsố hiệu ngắt
đó Để mở rộng các ngoại viđược điều khiển bằng ngắt cứng Trên máytính IBM và tương thích hiện nay, người tadùng giải pháp nào? Cách nào cho phép xácđịnh được địa chỉ độ lệch và địa chỉ đoạn củachương trình con phục vụ ngắt có sô hiệu ngắt
là nn trên một máy tính hiện có
Điều quan trọng nhất với thao tác ngắt là xác định được số hiệu ngắt vì khi xác định được số hiệu ngắt HĐH sẽ thực hiện nhân số hiệu ngắt với 4 để xác định được vị trí đầu tiên của ô nhớ trong bảng vector ngắt chứa địa chỉ độ lệch và đoạn của chương trình con phục vụ ngắt tương ứng
Với ngắt mềm được thực hiện bằng lệnh INT, số hiệu ngắt được nằm ngay trong lệnh Ví dụ lệnh Int 21h tương đương với việc yêu cầu HĐH hành thực hiện 1 ngắt có số hiệu là 21h
Trang 28Với ngắt cứng: HĐH sẽ xác định số hiệu của ngắt tương ứng thông qua việc đọc nội dung của thanh ghi ICW2 trên vi mạch quản lý ngắt sau đó HĐH lấy số hiệu ngắt đó nhân với 4 để xác định được vị trí của 4 ô nhớ trong bảng vectorr ngắt nơi chứa địa chỉ đoạn và độ lệch của chương trình con phục vụ ngắt
Để mở rộng các ngoại vi được điều khiển bẳng ngắt cứng có thể dùng hai vi mạch điều khiển ngắt 8259 làm việc ở chế độ nối tầng như trên máy tính IBM PC AT và tương thích cho phép quản lý đến 15 ngoại vi bằng ngắt cứng Ngoài ra trên các hệ Bus phát triển của máy tính như Bus PCI hiện nay sử dụng tín hiệu kích hoạt ngắt là tín hiệu mức thì một tín hiệu ngắt có thể cho phép ứng với nhiều ngoại vi
Với một máy tính hiện có, thường dùng chương trìnhDebug để xác định được địa chỉ đoạn và địa chỉ độ lệchcủa một chương trình con phục vụ ngắt bất kỳ (nn h)như sau:
Lấy số hiệu ngắt (nn h) nhân với 4 để xác định được ônhớ đầu tiên trong bảng vector ngắt là nơi chứa địa chỉđộ lệch và địa chỉ đoạn của chương trình con phục vụ ngắt
Khi đã xác định được ô nhớ trong bảng vector ngắt Sửdụng lệnh
Trang 29địa chỉ độ lệch của chương trình con phục vụ ngắt có số hiệu ngắt
nn h (IP)
2 ô nhớ 0000: nn h*4 +2 và 0000: nn h*4 +3 chứa địa chỉ độ lệch của chương trình con phục vụ ngắt có số hiệu ngắt nn h (CS)
Câu hỏi 9: Lý do nào để người ta sử dụng phương pháp truy cập số liệu trực tiếp vào bộ nhớ (DMA)? Với cấu trúc của vi mạch 8237 lắp trên máy tính IBM PC XT cho phép truyền tối
đa mấy kênh DMA, một kênh DMA một lần thực hiện DMA cho phép truyền tối đa một khối số liệu có dung lượng là bao nhiêu? Tại sao? Nêu vai trò của 4 kênh DMA trên máy IBM XT? Trên máy tính IBM AT/PC số kênh DMA có được tăng lên không?
Khi máy tính cần phải chuyển một số lượng lớn số liệu giữa thiết
bị ngoại vi đến bộ nhớ hay từ vùng này đến vùng khác của bộ nhớ Nếu sứ dụng CPU thì đầu tiên CPU nhận thông tin rồi sau đó chuyển đến nơi nhận Quá trình giải mã lệnh còn cần thêm các thông tin bổ xung do đó công việc này sẽ rất tốn nhiều thời gian
Vì vậy Intel thiết kế một bộ điều khiển và truy cập trực tiếp bộ nhớ (DMA)là vi mạch 8237 cho phép có thể bỏ qua CPU để thực hiện truyền số liệu trực tiệp giữa bộ nhớ và ngoại vi hay giữa bộ nhớ với bộ nhớ, quá trình này chỉ thực hiện truyền số liệu mà không có quá trình giải mã lệnh và thực hiện lệnh như ở trong CPU nhờ vậy mà làm cho quá trình này sẽ nhanh lên rất nhiều
Vì dụ: nếu truyền 1 byte số liệu từ 1 cổngngoại vi đến bộ nhớ thì máy tính phảithực hiện các thao tác sau
Trang 30Quá trình này nếu thực hiện bằng truy cập trực tiếp thì chỉ mất có
4 chu kỳ đồng hồ
Với cấu trúc vi mạch 8237 lắp trên máy tính IBM PC XT cho phép máy tính có 4 kênh DMA
Vì giá trị các thanh ghi địa chỉ hiện hành và đếm từ hiện hành của
vi mạch 8237 có độ dài 16 bits do đó một kênh DMA mỗi lần thực hiện DMA cho phép chuyển tối đa nội dung số liệu là 216= 65,536 byte tương đương với 64 KB số liệu4 kênh DMA tương ứng trên máy tính IBM PC là:
Kênh DMA 0: Được dùng để làm tươi DRAM.Trong các máy AT/PC không sử dụng
Kênh DMA 1: Không sử dụng, người ta dùng kênh này cho mạng Kênh DMA 2: Dùng cho bộ điều khiển đĩa mềm
Kênh DMA 3: Dùng cho bộ điều khiển đĩa cứng
Trên máy tính AT người ta bổ xung thêm một vimạch 8237 nữa
do đó tăng số lượng kênh DMA lênđến 7 kênh Khi đó vi mạch 8237#2 nối thêm vàođược dùng làm vi mạch chủ và kênh 0 của
nó đượcdùng để nối tầng với vi mạch 8237 #1 Các kênh 0,1, 2, 3 của vi mạch 8237#1 được đưa ra trên phần64 chân của Bus ISA dùng để truyền số liệu 8 bitsgiữa I/O và bộ nhớ
Trang 31Các kênh DMA 5 – DMA 7 xuất phát từ vi mạch 8237#2 được bố trí ở phần 36 chân của Bus ISA và được dùng để truyền số liệu
16 bits
Câu hỏi 10:Phân biệt vào/ra song song và vào/ra nối tiếp Ưunhược điểm của 2 phương pháp truyền này Chúngđược sử dụng trong các trường hợp nào Khi khởiđộng, máy tính IBM –
PC sẽ kiểm tra và cất giữ địachỉ của các cổng vào ra song song
và nối tiếp vàođâu Để kiểm tra sự có mặt của các cổng COM vàcổng LPT trong máy tính IBM PCs người ta dùngphương pháp nào? DTE và DCE là gì
Vào ra song song là mỗi một lần thực hiện lệnhIN hoặc OUT thì 8bits hay 16 bits số liệu đồngthời được đưa ra hay nhận vào tại cổng
Vào ra nối tiếp là mỗi một lần thực hiện lệnh IN hoặc OUT thì chỉ duy nhất 1 bit số liệu được đưa ra hay nhận vào tại cổng Muốn chuyển đủ 1 byte số liệu thì máy tính cần đến 8 lần thực hiện lệnh
IN và OUT Thao tác này phải sử dụng 1 thanh ghi dịch để chuyển tín hiệu song song thành nối tiếp (lệnh OUT) và chuyển tín hiệu nối tiếp thành song song (lệnh IN)
Truyền số liệu song song có tốc độ cao hơn nhiềulần so với truyềnsố liệu nối tiếp nhưng khi Buslàm việc ở tần số cao thường
bị can nhiễu làm ảnhhưởng tới chất lượng truyền tin Mặt khác nếutruyền khoảng cách xa thì giá thành sẽ rất cao dosố lượng đường truyền lớn
Xuất phát từ tính chất của truyền số liệu song song nên người ta thường sử dụng phương thức truyền số liệu song song khi truyền
số liệu trong nội bộ máy tính và truyền số liệu giữa thiết bị chủ và
Trang 32thiết bị tớ với cự ly ngắn như truyền số liệu giữa máy tính với các ngoại vi thông qua cổng kết nối LPT Phương thức truyền số liệu nối tiếp thường được dùng khi truyền số liệu giữa thiết bị chủ và thiết bị tớ có khoảng cách xa, khi đó thường có sự giúp đỡ của các thiết bị truyền tin như Modem, Rounter.v.v
Trên máy tính IBM PC cho phép quản lý tối đa đến4 cống vào ra nối tiếp theo chuẩn RS 232 (cổngCOM) được gán số hiệu từ COM
1 đến COM 4 và4 cổng vào ra song song theo chuẩn LPT được gánsố hiệu từ LPT1 đến LPT 4 Khi khởi động máytính, HĐH sẽ kiểm tra sự có mặt của các cổng vàora nối tiếp và vào ra song song và cất địa chỉ củachúng vào vùng nhớ có địa chỉ là:
Địa chỉ của các cổng vào ra nối tiếp được cất giữ từđịa chỉ: 0000:0400 đến 0000:0407
Địa chỉ của các cổng vào ra song song được cất giữ từ địa chỉ 0000:0408 đến 0000:040F
Do đó để xác định được số cổng vào ra song song và nối tiếp trên máy tính hiện hành người ta thường dùng lệnh D của chương trình gỡ rối Debug để quan sát nội dung của vùng nhớ có địa chỉ
từ 0000:0400 đến 0000:400F 8 byte đầu tiên sẽ chứa địa chỉ của các cồng COM từ 1 đến 4 và 8 byte tiếp theo sẽ chưa địa chỉ của các cổng LPT từ 1 đến 4 Khi giá trị của ô nhớ bằng 00 khi đó cổng COM và LPT tương ứng không tồn tại
Khi truyền số liệu đi xa người ta phân biệtthiết bị truyền số liệu thành thiết bị đầu cuốivà thiết bị truyền thông
Trang 33Thiết bị đầu cuối – DTE (Data Terminalequipment): là thiết bị sẽ chủ động thu vàphát số liệu ví dụ như máy tính, máy Fax,máy điện thoại.v v
Thiết bị truyền thông – DCE (Data Communication eqipment) là thiết bị chỉ thực hiện khuyếch đại và truyền số liệu trên đường truyền ví dụ như modem, router, switch.v.v
Câu hỏi 11:Thế nào là phương pháp truyền vi sai, phương pháp này có những ưu điểm gì và chuẩn vào/ra nào trên máy tính hiện nay sử dựng phương pháp truyền này Modem nối với máy tính bằng cổng gì? Mức logic “0” và mức logic “1” của chuẩn này trên máy tính tương ứng với điện áp nào? Tại sao? Cách chuyển đổi điện áp này trên máy tính.?
Tín hiệu sẽ được truyền trên hai dây tínhiêu là U+ và U- được đưa vào hai chânD+ và D- tương ứng của bộ khuyếch đạivi sai Với
sơ đồ trên tín hiệu trên đầu ra Ura sẽ là:
Trang 34Việc sử dụng bộ khuyếch đại vi sai có ưuđiểm với hai tín hiệu U+
và U- được xoắnvới nhau cho phép triệt tiêu được nhiễutác động lên đường truyền Nếu có mộtnhiễu loạn U nh tác động lên đườngtruyền thì tín hiệu đó sẽ tác động đồngthời lên cả hai dây tín hiệu U+và U-, khiđó:
Rõ ràng tín hiệu nhiễu tác động lênđường truyền đã bị triệt tiêu khi truyềnqua bộ khuyếch đại vi sai Phương thứctruyền sử dụng khuyếch đại vi sai đượcsử dụng trên giao thức truyền USB trênmáy tính hiện nay
Chuẩn RS 232 quy định mức điện áp như sau:
Mức logíc 0: Tương ứng với mức điện áptừ +3V đến + 25V