Cấn Trúc Máy Tính
-53-
Hình 2.29: Nguyên tắc hoạt động máy in phun bọt hơi
Hiện nay, ở các máy tính cá nhân, máy in được ghép với PC qua cổng song song
(parallel port) hay còn gọi là cổng máy in (printer port) LPT. Giao tiếp qua cổng máy
in cho phép ta xuất đồng thời 8 bit dữ liệu ra máy in nên tốc độ truyền nhanh. Các hệ
thống khác truyền dữ liệu qua cổng máy in có thể truyền một lần 4 bit (xuất 8 bit song
song và nhận 4 bit song song) .
Điều này xảy ra do lúc ban đầu các IBM–PC không quan tâm đến vấn đề nhập
dữ liệu qua cổng máy in và gọi các cổng này là cổng 4 bit. Khi các hệ thống PS/2 xuất
hiện, IBM đưa ra các cổng song song 8 bit rồi sau đó các cổng song song 8 bit sử dụng
kỹ thuật truy xuất trực tiếp bộ nhớ DMA (Direct Memory Access). Tuy nhiên chúng lại
không được hỗ trợ trong các PC chuẩn.
Cấu hình của các cổng song song không phức tạp như các cổng nối tiếp. Các
IBM–PC ngay từ ban đầu đã có phần mềm hệ xuất nhập cơ bản BIOS (Basic Input
Output System) cũng như hệ điều hành DOS hỗ trợ cho 3 cổng máy in. Bảng ở hình
2.30 trình bày các đòa chỉ I / O và các ngắt chuẩn cho của cổng song song.
Hệ thống
bus
LPT
chuẩn
LPT
thay
thế
Đia
ï chỉ
cổn
g
Ngắt
8/16 bit
cổng này đều được xác đònh theo chuẩn IEEE 1284 ( đây là chuẩn giao tiếp các thiết bò
ngoại vi song song hai chiều cho máy tính cá nhân, xác đònh các tính chất vật lý của
cổng, các chế độ truyền dữ liệu, các tiêu chuẩn về điện v. v ), EPP được thiết kế cho
Nguyễn Hữu Lộc Khoa Vật Lý
Cấn Trúc Máy Tính
-54-
LAN adaptor, các ổ đóa và các thiết bò lưu trữ dự phòng trong khi ECP thiết kế cho các
máy in tốc độ cao và có sử dụng kênh DMA .
6. Ngõ ra nối tiếp chuẩn RS–232–C .
Có hàng chục công ty chế tạo máy tính và hàng trăm công ty chế tạo các thiết
bò đầu cuối. Để thiết bò đầu cuối bất kỳ dùng được với bất kỳ máy tính nào , người ta
chế ra một chuẩn giao tiếp cho phép kết nối giữa máy tính và thiết bò đầu cuối
(Standard computer–terminal- interface ), gọi là RS–232–C (Reference Standard). Bất
kỳ thiết bò đầu cuối nào được hỗ trợ chuẩn giao tiếp RS–232–C đều có thể kết nối với
một máy tính bất kỳ cũng được hỗ trợ chuẩn giao tiếp này .
Các thiết bò đầu cuối theo chuẩn RS–232–C có một bộ kết nối chuẩn 25 chân
(25–pin). Chuẩn RS–232–C đònh nghóa kích thước cơ khí và hình dạng bộ kết nối, các
mức điện áp và ý nghóa của từng tín hiệu trên.
Để truyền thông, mỗi máy tính và thiết bò đầu cuối đều có một chip gọi là thu
phát không đồng bộ chung UART (Universal Asynchronous Receiver Transmitter )
cũng như mạch logic truy xuất bus. Để hiển thò một ký tự, máy tính tìm nạp ký tự từ bộ
nhớ chính và gởi đến UART, sau đó UART dòch ký tự ra trên cáp RS–232–C từng bit
một. Thực tế UART là một bộ đổi từ song song ra nối tiếp, vì toàn bộ một ký tự (1
byte) được đưa đến UART theo kiểu song song, UART xuất ra từng bit một ở từng thời
điểm với một tốc độ cho sẵn. Các tốc độ thường sử dụng là110, 300, 1200, 2400, 9600
và 19200 bit / sec .
Trong thiết bò đầu cuối, một UART khác thu nhận các bit và tái tạo lại toàn bộ
sàng
Xuất
5 SG Nối đất …
6 DSR Dữ liệu được đặt sẵn
sàng
Nhập
7 RTS Yêu cầu phát Xuất
8 CTS Xoá để phát Nhập
9 RI Tín hiệu chỉ báo rung
chuông
Nhập
Kết nối 9 chân thành 25 chân
9 chân 25
chân
Tín
hiệu
1 8 CD
2 3 RxD
3 2 TxD
4 20 DTR
5 7 SG
6 6 DSR
7 4 RTS
8 5 CTS
9 22 RI
Hình 2.31 Các chân ra cuả đầu nối 9 chân và kết nối đổi 9 chân thành 25 chân
Tất cả COM2 2F8H IRQ3
Bus ISA COM3 3E8H IRQ4*
Bus ISA COM4 2E8H IRQ3*
Hình 2.32 Các đòa chỉ cổng và ngắt chuẩn .
(* : Thực tế nên chọn các ngắt khác ).
Bus ISA ( industry standard architecture ) ban đầu là bus 8–bit của IBM PC cho
các máy PC chuẩn và XT, sau đó mở rộng thành 16 bit cho IBM PC AT. ISA là cơ sở cho
máy tính cá nhân hiện đại và là kiến trúc ban đầu được sử dụng trọng đại đa số các hệ
thống PC. Chi tiết về các loại bus sẽ đề cập trong chương 3. Hệ thống bus ISA 8–bit có 8
mức ngắt trong khi hệ thống bus ISA 16-bit có 16 mức ngắt .
Hiện nay Windows 95 hỗ trợ tới 128 cổng nối tiếp, cho phép ta sử dụng những
board nhiều cổng nối tiếp trong hệ thống. Các board này cho phép hệ thống thu thập
và sử dụng dữ liệu chung với nhiều thiết bò với chỉ một khe mở rộng và một ngắt.
Nguyễn Hữu Lộc Khoa Vật Lý
Cấn Trúc Máy Tính
-57-
CHƯƠNG 3:
LỚP VẬT LÝ
Các máy tính được xây dựng từ những chip mạch tích hợp chứa các phần tử
chuyển mạch rất nhỏ gọi là cửa (gate). Những cửa thường dùng nhất là AND, OR,
NAND, NOR và NOT. Các mạch logic đơn giản được xây dựng bằng cách tổ hợp trực
tiếp các cổng riêng rẽ trong các chip có độ tích hợp thấp SSI.
Các mạch logic phức tạp hơn được xây dựng từ những chip có độ tích hợp trung
bình MSI chuẩn như : mạch chọn kênh (multiplexer), mạch phân kênh (demultiplexer),
mạch mã hóa (encoder), mạch giải mã (decoder), mạch dòch bit (shifter) và ALU.
Cũng có thể lập trình cho một dãy logic lập trình được PLA (Programmable Logical
Array) để có các hàm đại số logic tùy ý. Khi cần nhiều hàm đại số logic, việc sử dụng
với thế giới bên ngoài đều thực hiện được. Một số chân xuất các tín hiệu từ CPU, một
số khác nhận tín hiệu vào từ bên ngoài và một số có thể thực hiện được cả 2 chức
năng này.
Bằøng cách hiểu rõ chức năng của từng chân, chúng ta có thể biết được bằng cách
nào CPU có thể tác động qua lại với bộ nhớ và các thiết bò I / O ở cấp logic số. Mặc dù
tài liệu sau đây liên quan có thể đến các bộ vi xử lý, các ý tưởng cơ bản như cách thức
các CPU tham khảo bộ nhớ, cách thức các CPU giao tiếp với các thiết bò I / O v.v…
cũng liên quan đến các máy tính mini (minicomputer) và trong phạm vi nào đó liên
quan đến các mainframe, tuy ở dạng hơi khác.
Các chân trên một chip vi xử lý được chia thành 3 loại chính : đòa chỉ, dữ liệu và
điều khiển. Những chân này được nối đến các chân tương tự trên các chip bộ nhớ và
các chip I/O thông qua một tập hợp các đường song song gọi là bus. Để tìm nạp một
lệnh, trước tiên bộ vi xử lý đặt đòa chỉ bộ nhớ của lệnh đó lên các chân đòa chỉ. Sau đó
bộ vi xử lý xác lập (chuyển trạng thái từ thụ động sang tích cực) một đường điều khiển
để thông báo cho bộ nhớ rằng muốn đọc một từ. Bộ nhớ trả lời bằng cách đưa từ được
yêu cầu (requested word) lên các chân dữ liệu của bộ vi xử lý và xác lập một tín hiệu
cho biết yêu cầu đã được thực hiện. Bộ vi xử lý thấy tín hiệu này sẽ nhận từ yêu cầu
và thực thi lệnh.
Lệnh có thể yêu cầu đọc hoặc ghi các từ dữ liệu, trong trường hợp này toàn bộ
quá trình được lặp lại cho mỗi từ thêm vào. Chúng ta sẽ đi vào chi tiết cách đọc và ghi
ở phần dưới, vào thời điểm này, điều quan trọng cần quan tâm là CPU truyền thông tin
với bộ nhớ và các thiết bò I/O bằng cách đưa các tín hiệu ra và nhận các tín hiệu vào
trên các chân. Không có cách truyền thông tin nào khác.
Đến đây có một lưu ý về mặt thuật ngữ. Trên một số chân, mức điện áp cao (+ 5
volt) của tín hiệu sẽ gây ra một tác động. Trên một số chân khác, mức điện áp của tín
hiệu tạo ra một tác động lại là mức thấp. Để tránh nhầm lẫn, chúng ta sẽ thống nhất
nói rằng tín hiệu được xác lập (asserted) (hơn là nói tín hiệu chuyển thành mức cao
hoặc mức thấp), nghóa là tín hiệu chuyển trạng thái từ thụ động sang tích cực để tạo ra
một tác động. Vì thế đối với một số chân, xác lập có nghóa là được thiết lập ở mức cao
và đối với một số chân khác, được thiết lập ở mức thấp. Những chân được xác lập ở
Phân xử bus (bus arbitration).
Báo hiệu với đồng xử lý (coprocessor signaling).
Trạng thái (status).
Các tín hiệu khác.
Chúng ta sẽ mô tả tóm tắt từng loại trong các mục dưới đây. Nhiều thông tin chi
tiết hơn sẽ được cung cấp khi em xét các chip của Intel và Motorola sau này. Một chip
CPU tổng quát sử dụng các nhóm tín hiệu trên được trình bày trong hình 3.1.
Hầu hết các chân điều khiển bus là các ngõ ra từ bộ vi xử lý tới bus (vậy thì
chúng là các ngõ vào đối với các chip bộ nhớ và các chip I/O ; cho biết bộ vi xử lý
hoặc muốn đọc bộ nhớ hoặc muốn ghi bhn hoặc làm một điều gì khác.
Hình 3.1: Các chân ra logic của 1 bộ vi xử lý điển hình
Các chân xử lý ngắt là các ngõ vào từ thiết bò I/O tới bộ vi xử lý. Trong hầu hết
các hệ thống, bộ vi xử lý có thể yêu cầu một thiết bò I/O khởi động, sau đó chuyển
Nguyễn Hữu Lộc Khoa Vật Lý
Cấn Trúc Máy Tính
-60-
sang thực hiện một công việc hữu ích khác trong khi các thiết bò I/O tốc độ chậm vẫn
đang thực hiện công việc của chúng. Khi I/O đã hoàn tất công việc, chip điều khiển
I/O xác lập một tín hiệu trên một trong số các chân xử lý ngắt để ngắt CPU và yêu cầu
CPU phục vụ thiết bò I/O, thí dụ như kiểm tra xem có lỗi I/O nào xảy ra hay không.
Một số bộ vi xử lý có một ngõ ra dùng để trả lời tín hiệu yêu cầu ngắt.
Các chân phân xử bus được cần đến để điều hòa lưu lượng thông tin trên bus,
nhằm tránh trường hợp hai thiết bò cùng sử dụng bus đồng thời. Với mục đích phân xử
bus, CPU cũng được xem như một thiết bò.
Nhiều chip vi xử lý được thiết kế để hoạt động với các bộ đồng xử lý, hầu hết là
các chip dấu chấm động (floating – point), nhưng đôi khi là chip đồ họa (graphic) hoặc
là các chip khác. Để bộ vi xử lý và bộ đồng xử lý thông tin với nhau dễ dàng, người ta
cung cấp những chân đặc biệt để tạo ra và chấp nhận những yêu cầu khác nhau.
Ngoài những chân tín hiệu này, các bộ vi xử lý còn có nhiều chân linh tinh khác.
(80386), Nubus (Macintosh II), Omnibus (PDP-8), Qbus (LSI-11), S-100 bus (hobby
computer), SBI (VAX–11/780 ), Unibus (PDP-11), Versabus (Motorola) và VME bus
(680 x 0).
Đáng tiếc là việc tiêu chuẩn hóa trong lãnh vực này dường như rất khó có thể
xảy ra khi đã có quá nhiều đầu tư cho những hệ thống không tương thích này.
Một số bus đã và đang sử dụng hiện nay trên các máy tính cá nhân, chủ yếu là
các máy tính của IBM và tương thích sử dụng các chip vi xử lý của Intel, sẽ được đề
cập có thể trong phần các thí dụ về bus.
Bây giờ chúng ta bắt đầu nghiên cứu về cách làm việc của bus. Một số thiết bò
(từ thiết bò được dòch từ chữ device, dùng chỉ chung các thành phần cấu tạo nên một hệ
thống máy tính ) nối với bus là các thiết bò tích cực (active) có thể khởi động việc
truyền bus, trái lại một số khác là các thiết bò thụ động (passive) chờ các yêu cầu.
Thiết bò tích cực gọi là thiết bò chủ bus hay thiết bò chủ (master), thiết bò thụ động
gọi là thiết bò phụ thuộc bus hay thiết bò phụ thuộc (slave).
Khi CPU ra lệnh bộ điều khiển đóa đọc hoặc ghi một khối dữ liệu, CPU đóng vai
trò một thiết bò chủ và bộ điều khiển đóa hành động như một thiết bò phụ thuộc. Tuy
nhiên, vào thời điểm sau, bộ điều khiển đóa trở thành thiết bò chủ khi yêu cầu bộ nhớ
nhận các từ dữ liệu đọc từ ổ đóa.
Các thành phần của máy tính thường xuất các tín hiệu nhò phân có dòng không
đủ mạnh để cung cấp cho bus, đặc biệt nếu bus tương đối dài hoặc có nhiều thiết bò
nối với bus. Vì lý do này, hầu hết các thiết bò chủ đều được nối với bus qua một chip
gọi là bộ kích bus (bus driver), bộ kích bus chủ yếu là một mạch khuyếch đại tín hiệu
Nguyễn Hữu Lộc Khoa Vật Lý
Cấn Trúc Máy Tính
-62-
số. Tương tự, hầu hết các thiết bò phụ thuộc đều được nối tới bus qua một bộ thu bus
(bus receiver). Đối với các thiết bò có thể hoạt động ở cả 2 vai trò chủ và phụ thuộc,
một chip kết hợp gọi là bộ thu phát bus (bus transceiver) được dùng đến.
Các chip giao tiếp bus này (bus interface chip) thường là thành phần có ngõ ra 3
trạng thái (tri-state output), cho phép thả nổi không kết nối (disconnect) khi không cần
1
đến khi kết thúc chu kỳ T
3
. Ta
cũng giả thiết phải mất 10 ngiây để tín hiệu thay đổi từ mức thấp sang mức cao hoặc
ngược lại. Các đường xung đồng hồ, đòa chỉ, dữ liệu, yêu cầu bộ nhớ
MREQ (memory
request) và điều khiển đọc
RD (read) đều được thể hiện theo cùng một tỷ lệ thời gian.
Nguyễn Hữu Lộc Khoa Vật Lý
Cấn Trúc Máy Tính
-63-
Chu kỳ T
1
được bắt đầu bởi cạnh lên của xung clock. Một khoảng thời gian sau
cạnh lên của T
1
, CPU đặt đòa chỉ của byte muốn đọc trong bộ nhớ lên các đường đòa
chỉ. Do có nhiều đường đòa chỉ, không phải một như xung clock, nên không thể biễu
diễn chúng như một đường đơn trong hình vẽ, thay vào đó là 2 đường và chúng cắt
chéo nhau tại thời điểm thay đổi đòa chỉ. Ngoài ra, phần vệt mờ ngay trước 2 đường
chéo cắt nhau cho biết giá trò ở phần vệt mờ không quan trọng hoặc không có giá trò sử
dụng. Bằng cách dùng quy ước như vậy ta sẽ thấy không có nội dung nào của các
đường dữ liệu có ý nghóa cho đến khi vào chu kỳ T
3
.
Sau một khoảng thời gian sao cho các đường đòa chỉ ổn đònh giá trò mới,
MREQ
và RD được xác lập. Tín hiệu
MREQ
3
để dữ
liệu có thời gian ổn đònh trước khi CPU đọc. Kết hợp các ràng buộc trên T
AD
và T
DS
,
trong trường hợp xấu nhất, bộ nhớ chỉ có 250 + 250 + 125 – 110 – 50 = 465 ngiây từ
thời điểm đòa chỉ xuất hiện cho đến khi bộ nhớ phải xuất dữ liệu lên bus. Nếu bộ nhớ
không đáp ứng đủ nhanh, bộ nhớ xác lập đường tín hiệu
WAIT
( không thể hiện trên
hình vẽ) trước cạnh xuống của xung clock T
2
khi
WAIT
được chốt. Tác động này chèn
thêm các trạng thái chờ (wait state) vào chu kỳ đọc bộ nhớ cho tới khi bộ nhớ hoàn tất
công việc và không xác lập đường tín hiệu
WAIT
.
Bảng đặc tính thời gian còn đảm bảo đòa chỉ sẽ được thiết lập ít nhất 60 ngiây
trước khi
MREQ
được xác lập. Thời gian này sẽ quan trọng nếu tín hiệu
MREQ
tác
động lên chân chọn chip
CS
(chip select) của chip bộ nhớ bởi vì một số bộ nhớ yêu
MREQ
và
RD xác lập để đưa dữ liệu từ bộ nhớ lên bus. Sự ràng buộc này được cộng thêm vào
sự ràng buộc trên đòa chỉ.
Thời gian T
MH
và T
RH
cho biết phải mất bao lâu để MBREQ và RD không còn
xác lập sau khi dữ liệu đã được đọc. Cuối cùng, T
DH
cho biết phải duy trì dữ liệu trên
bus bao lâu sau khi RD không còn xác lập. Bộ nhớ có thể loại bỏ dữ liệu ra khỏi bus
ngay khi RD không còn xác lập, tuy nhiên đối với một số bộ vi xử lý trong thực tế, dữ
liệu phải được duy trì ổn đònh trên bus lâu hơn một chút.
Ký
hiệu
Thông số
M
in
M
ax
Đ
ơn vò
T
A
D
Trì hoãn đòa chỉ
1
10
5
0
n
s
T
M
H
Trì hoãn MREQ kể từ cạnh xuống T3
8
5
n
s
T
R
H
Trì hoãn RD kể từ cạnh xuống của T3
8
5
n
s
T
D
H
Thời gian lưu giữ dữ liệu sau khi RD
không xác lập
0
n
s
Hình 3.3 (b) : Bảng đặc tính thời gian
Nguyễn Hữu Lộc Khoa Vật Lý
Mặc dù làm việc với các bus đồng bộ sẽ dễ hơn do các khoản thời gian rời rạc
của chúng, nhưng cũng có một số vấn đề xảy ra. Do mọi công việc đều được thực hiện
trong những khoảng thời gian là bội số của chu kỳ xung clock, nếu một CPU cá biệt và
bộ nhớ có khả năng hoàn tất việc chuyển dữ liệu trong 3.1 chu kỳ, chúng vẫn phải kéo
dài tới 4 chu kỳ bởi vì những chu kỳ bò phân đoạn nhỏ không được phép dùng trong bus
đồng bộ.
Tệ hơn nữa, một khi chu kỳ xung clock được chọn, bộ nhớ và thiết bò I/O đã được
thiết kế cho chu kỳ bus này, thật khó có thể nâng cấp trong tương lai. Giả sử một vài
năm sau khi hệ thống trong hình 3.3 được thiết kế, các CPU và bộ nhớ mới hoạt động
với thời gian một chu kỳ là 100 ngiây thay vì 250 ngiây, hệ thống cũ mặc dù vẫn chạy
được với hệ thống mới nhưng không thể tăng tốc độ lên được vì nghi thức bus yêu cầu
bộ nhớ xác lập các đường dữ liệu ngay trước cạnh xuống của chu kỳ T
3.
Nguyễn Hữu Lộc Khoa Vật Lý