BÀi giảng cấu trúc máy tíNH


CHƯƠNG 2: BUS VÀ TRUYỀN THÔNG TIN TRONG MÁY TÍNH



tải về 0.71 Mb.
trang4/8
Chuyển đổi dữ liệu14.08.2016
Kích0.71 Mb.
#19887
1   2   3   4   5   6   7   8

CHƯƠNG 2:

BUS VÀ TRUYỀN THÔNG TIN TRONG MÁY TÍNH
1. Khái Niệm BUS

1.1. Định nghĩa BUS

Bus là đường truyền tín hiệu điện nối các thiết bị khác nhau trong một hệ thống máy tính. Bus có nhiều dây dẫn được gắn trên mainboard, trên các dây này có các đầu nối đưa ra, các đầu này được sắp xếp và cách nhau những khoảng quy định để có thể cắm vào đó những I/O board hay board bộ nhớ (bus hệ thống – system bus).

1.2. Phân loại các Bus trong hệ thống



Các Bus trong hệ thống máy tính

Cũng có những bus dùng cho mục đích chuyên biệt, thí dụ nối 1 vi xử lý với 1 hay nhiều vi xử lý khác hoặc nối với bộ nhớ cục bộ (local bus). Trong vi xử lý cũng có một số bus để nối các thành phần bên trong của bộ vi xử lý với nhau. Người thiết kế chip vi xử lý có thể tuỳ ý lựa chọn loại bus bên trong nó, còn với các bus liên hệ bên ngoài cần phải xác định rõ các quy tắc làm việc cũng như các đặc điểm kỹ thuật về điện và cơ khí của bus để người thiết kế mainboard có thể ghép nối chip vi xử lý với các thiết bị khác.

Bus thường phân loại theo 3 cách sau:

• Theo tổ chức phần cứng (như trên).

• Theo giao thức truyền thông ( bus đồng bộ và không đồng bộ).

• Theo loại tín hiệu truyền trên bus ( bus địa chỉ, bus dữ liệu,…).

1.3. Bus hệ thống

Thường có nhiều thiết bị nối với bus, một số thiết bị là tích cực (active) có thể đòi hỏi truyền thông trên bus, trong khi đó có các thiết bị thụ động chờ yêu cầu từ các thiết bị khác. Các thiết bị tích cực được gọi là chủ (master) còn thiết bị thụ động là tớ (slave). Ví dụ: Khi CPU ra lệnh cho bộ điều khiển đĩa đọc/ghi một khối dữ liệu thì CPU là master còn bộ điều khiển đĩa là slave. Tuy nhiên, bộ điều khiển đĩa ra lệnh cho bộ nhớ nhận dữ liệu thì nó lại giữ vai trò master.

1.4. Bus Driver và Bus Receiver

Tín hiệu điện trong máy tính phát ra thường không đủ để điều khiển bus, nhất là khi bus khá dài và có nhiều thiết bị nối với nó. Chính vì thế mà hầu hết các bus master được nối với bus thông qua 1 chip gọi là bus driver, về cơ bản nó là một bộ khuếch đại tín hiệu số. Tương tự như vậy, hầu hết các slave được nối với bus thông qua bus receiver. Đối với các thiết bị khi thì đóng vai trò master, khi thì đóng vai trò slave, người ta sử dụng 1 chip kết hợp gọi là transceiver. Các chip này đóng vai trò ghép nối và là các thiết bị 3 trạng thái, cho phép nó có thể ở trạng thái thứ 3 – hở mạch (thả nổi). Giống như vi xử lý, bus có các đường địa chỉ, đường số liệu và đường điều khiển. Tuy nhiên, không nhất thiết có ánh xạ 1 – 1 giữa các tín hiệu ở các chân ra của vi xử lý và các đường dây của bus. Thí dụ: một số chíp vi xử lý có 3 chân ra, truyền ra các tín hiệu báo chíp vi xử lý đang thực hiện các thao tác MEMR, MEMW, IOR, IOW hay thao tác khác, một số Bus điển hình có các đường trên. Các vấn đề quan trọng nhất liên quan đến thiết kế bus là: xung clock bus (sự phân chia thời gian, hay còn gọi là bus blocking), cơ chế phân xử bus (bus arbitration), xử lý ngắt và xử lý lỗi. Các bus có thể được chia theo giao thức truyền thông thành hai loại riêng biệt là bus đồng bộ và bus không đồng bộ phụ thuộc vào việc sử dụng clock bus.



1.5. Bus đồng bộ (Synchronous bus)

Bus đồng bộ có một đường điều khiển bởi một bộ dao động thạch anh, tín hiệu trên đường dây này có dạng sóng vuông, với tần số thường nằm trong khoảng 5MHz ÷ 50MHz. Mọi hoạt động bus xảy ra trong một số nguyên lần chu kỳ này và được gọi là chu kỳ bus.



Chu kỳ đọc trong Bus đồng bộ

Hình trên là giản đồ thời gian của một bus đồng bộ với tần số xung clock là 4MHz, như vậy chu kỳ bus là 250ns. Giả sử đọc 1 byte từ bộ nhớ chiếm 3 chu kỳ bus (750ns), tương ứng với T1, T2, T3 như hình vẽ. Vì tất cả các tín hiệu điện thay đổi mức không phải là tức thời, nên trên hình vẽ có các sườn xung, ta giả sử các sườn xung kéo dài 10ns.

• T1 bắt đầu bằng cạnh dương của xung clock, trong một phần thời gian của T1, vi xử lý đặt địa chỉ byte cần đọc lên bus địa chỉ. Sau khi tín hiệu địa chỉ được xác lập, vi xử lý đặt các tín hiệu MREQ và RD tích cực mức thấp, tín hiệu MREQ (Memory Request) - xác định truy xuất bộ nhớ chứ không phải thiết bị I/O, còn tín hiệu RD - chọn đọc chứ không phải ghi dữ liệu.

• T2: thời gian cần thiết để bộ nhớ giải mã địa chỉ và đưa dữ liệu lên bus dữ liệu.

• T3: tại cạnh âm của T3, vi xử lý nhận dữ liệu trên bus dữ liệu, chứa vào thanh ghi bên trong vi xử lý và chốt dữ liệu. Sau đó vi xử lý đảo các tín hiệu MREQ và RD. Như vậy thao tác đọc đã hoàn thành, tại chu kỳ máy tiếp theo vi xử lý có thể thực hiện thao tác khác. Các giá trị cụ thể về thời gian của hình vẽ trên có thể được giải thích chi tiết như sau:

• TAD: TAD <110ns, nghĩa là nhà sản xuất vi xử lý đảm bảo rằng trong mọi chu kỳ đọc toán hạng từ bộ nhớ, vi xử lý sẽ đưa ra tín hiệu địa chỉ không nhiều hơn 110 ns tính từ thời điểm cạnh dương của T1.

• TDS: giá trị nhỏ nhất là 50ns, có nghĩa là nhà sản xuất bộ nhớ phải đảm bảo rằng dữ liệu đã ổn định trên bus dữ liệu ít nhất là 50ns trước điểm giữa cạnh âm của T3. Yêu cầu này đảm bảo cho vi xử lý đọc dữ liệu tin cậy. Khoảng thời gian bắt buộc đối với TAD và TDS xác định rằng trong trường hợp xấu nhất, bộ nhớ chỉ có 250 + 250 + 125 – 110 – 50 = 465 ns tính từ thời điểm có tín hiệu địa chỉ cho tới khi tạo ra dữ liệu trên bus dữ liệu. Nếu bộ nhớ không có khả năng đáp ứng đủ nhanh, nó phát tín hiệu WAIT trước cạnh âm của T2. Thao tác này đưa thêm các trạng thái chờ – wait state (tức là đưa thêm vào 1 chu kỳ bus), khi bộ nhớ đã đưa ra tín hiệu ổn định, nó sẽ đảo WAIT thành WAIT.

• TML: đảm bảo tín hiệu địa chỉ sẽ được xác lập trước tín hiệu MREQ ít nhất 60ns. hoảng thời gian này sẽ quan trọng nếu tín hiệu MREQ điều khiển quá trình tạo tín hiệu chon chip CS hay CE do một số chip nhớ đòi hỏi phải nhận được tín hiệu địa chỉ trước tín hiệu chọn chip. Như vậy, không thể chọn chip nhớ với thời gian thiết lập 75ns.

• TM, TRL cho phép hai tín hiệu MREQ và RD tích cực trong khoảng thời gian 85ns tính từ thời điểm xuống của xung clock T1. Trong trường hợp xấu nhất, chíp nhớ chỉ có 250 + 250 – 85 – 50 = 365ns sau khi 2 tín hiệu trên tích cực để đưa dữ liệu ra bus dữ liệu. Sự bắt buộc về thời gian này bổ sung thêm sự bắt buộc thời gian với tín hiệu clock.

• TMH, TRH : thời gian để các tín hiệu MREQ và RD được đảo sau khi dữ liệu đã được vi xử lý nhận vào.

• TDH: Thời gian bộ nhớ cần giữ data trên bus sau khi tín hiệu RD đã đảo.



Truyền theo khối:

Ngoài các chu kỳ đọc/ghi, một số bus truyền dữ liệu đồng bộ còn hỗ trợ truyền dữ liệu theo khối. Khi bắt đầu thao tác đọc khối, bus master báo cho slave biết số byte cần được truyền đi, thí dụ truyền con số này đi trong chu kỳ T1, sau đó đáng lẽ truyền đi 1 byte, slave đưa ra trong mỗi chu kỳ 1 byte cho tới khi đủ số byte được thông báo. Như vậy, khi đọc dữ liệu theo khối, n byte dữ liệu cần n+2 chu kỳ clock chứ không phải 3n chu kỳ.

Một cách khác để cho truyền dữ liệu nhanh hơn là giảm chu kỳ. Ở ví dụ trên: 1 byte được truyền đi trong 750ns, vậy bus có tốc độ truyền 1.33MBps. Nếu xung clock có tần số 8MHz, thời gian 1 chu kỳ chỉ còn một nửa, tốc độ sẽ là 2.67MBps. Tuy nhiên, giảm chu kỳ bus dẫn đến khó khăn về mặt kỹ thuật, các tín hiệu truyền trên các đường khác nhau không phải luôn có cùng tốc độ, dẫn đến hiệu ứng bus skew. Điều quan trọng là thời gian chu kỳ phải dài hơn so với skew để tránh việc những khoảng thời gian được số hoá lại trở thành các đại lượng biến thiên liên tục.

1.6. Bus bất đồng bộ (Asynchronous bus)

Bus bất đồng bộ không sử dụng xung clock đồng bộ, chu kỳ của nó có thể kéo dài tuỳ ý và có thể khác nhau đối với các cặp thiết bị khác nhau. Làm việc với các bus đồng bộ dễ dàng hơn do nó được định thời một cách gián đoạn , tuy vậy chính đặc điểm này cũng dẫn đên nhược điểm. Mọi công việc được tiến hành trong khoảng thời gian là bội số của xung clock, nếu 1 thao tác nào đó của vi xử lý hay bộ nhớ hoàn thành trong 3.1 chu kỳ thì nó cũng sẽ phải kéo dài trong 4 chu kỳ. Khi đã chọn chu kỳ bus và đã xây dựng bộ nhớ, I/O card cho bus này thì khó có thể tận dụng những tiến bộ của công nghệ. Chẳng hạn sau khi đã xây bus với sự định thời như trên, công nghệ mới đưa ra các vi xử lý và bộ nhớ có thời gian chu kỳ là 100ns chứ không còn là 750ns như cũ, thì chúng vẫn chạy với tốc độ thấp như các vi xử lý, bộ nhớ loại cũ, bởi vì giao thức bus đòi hỏi bộ nhớ phải đưa được dữ liệu ra và ổn định trước thời điểm cạnh âm của T3. Nếu có nhiều thiết bị khác nhau cùng nối với 1 bus, trong đó có thể có một số thiết bị hoạt động nhanh hơn hơn các thiết bị khác thì cần phải đặt bus hoạt động phù hợp với thiết bị có tốc độ thấp nhất. Bus bất đồng bộ ra đời nhằm khắc phục những nhược điểm của bus đồng bộ. Trước hết master phát ra địa chỉ nhớ mà nó muốn truy cập, sau đó phát tín hiệu MREQ bù tích cực để xác định cần truy xuất bộ nhớ. Tín hiệu này cần thiết khi bộ nhớ và các cổng I/O sử dụng chung miền địa chỉ. Sau khi phát địa chỉ, bên master cũng phải phát tín hiệu RD tích cực để bên

slave biết rằng master sẽ thực hiện thao tác đọc chứ không phải ghi. Các tính hiệu MREQ bù và RD bù được đưa ra sau tín hiệu địa chỉ một khoảng thời gian phụ thuộc tốc độ hoạt động của master. Sau khi 2 tín hiệu này đã ổn định, master sẽ phát ra tính hiệu MSYN (master synchrization) ở mức tích cực để báo cho slave biết rằng các tín hiệu cần thiết đã sẵn sàng trên bus, slave có thể nhận lấy. Khi slave nhận được tín hiệu này, nó sẽ thực hiện công việc với tốc độ nhanh nhất có thể được, đưa dữ liệu của ô nhớ được yêu cầu lên bus dữ liệu. Khi hoàn thành slave sẽ phát tín hiệu SSYN (slave synchronization) tích cực.

Chu kỳ đọc của Bus bất đồng bộ

Master nhận được tín hiệu SSYN tích cực thì xác định được dữ liệu của slave đã sẵn sàng nên thực hiện việc chốt dữ liệu, sau đó đảo các đường địa chỉ cũng như các tín hiệu MREQ, RD, và SSYN. Khi slave nhận được tín hiệu MSYN không tích cực, nó xác định kết thúc chu kỳ và đảo tín hiệu SSYN làm bus trở lại trạng thái ban đầu, mọi tín hiệu đều không tích cực, chờ bus master mới. Trên giản đồ thời gian của bus bất đồng bộ, ta sử dụng mũi tên để thể hiện nguyên nhân và kết quả MSYN tích cực dẫn đến việc truyền dữ liệu ra bus dữ liệu và đồng thời cũng dẫn đến việc slave phát ra tín hiệu SSYN tích cực, đến lượt mình tín hiệu SSYN lại gây ra sự đảo mức của các đường địa chỉ, MREQ bù, RD bù, và SSYN. Cuối cùng sự đảo mức của MSYN lại gây ra sự đảo mức tín hiệu SSYN và kết thúc chu kỳ. Tập các tín hiệu phối hợp với nhau như vậy được gọi là bắt tay toàn phần (full handshake), chủ yếu gồm 4 tín hiệu sau:

• MSYN tích cực.

• SSYN bù tích cực để đáp lại tín hiệu MSYN.

• MSYN được đảo để đáp lại tín hiệu SSYN bù (tích cực).

• SSYN bù được đảo để đáp lại tính hiệu MSYN không tích cực.

Ta có thể nhận thấy bắt tay toàn phần là độc lập thời gian, mỗi sự kiện được gây ra bởi 1 sự kiện trước đó chứ không phải bởi xung clock. Nếu 1 cặp master-slave nào đó hoạt động chậm thì cặp master-slave kế tiếp không hề bị ảnh hưởng. Tuy ưu điểm của bus bất đồng bộ rất rõ ràng, nhưng trong thực tế phần lớn các bus đang sử dụng là loại đồng bộ. Nguyên nhân là các hệ thống sử dụng bus đồng bộ dễ thiết kế hơn. Vi xử lý chỉ cần chuyển các mức tín hiệu cần thiết sang trạng thái tích cực là bộ nhớ đáp ứng ngay, không cần tín hiệu phản hồi. Chỉ cần các chọn phù hợp thì mọi hoạt động đều trôi chảy, không cần phải bắt tay.



1.7. Phân xử bus (bus arbitration)

Trong hệ thống máy tính không phải chỉ có CPU làm bus master, các chip I/O cũng có lúc làm bus master để có thể đọc hay ghi bộ nhớ và gọi ngắt. Các bộ đồng xử lý cũng có thể làm bus master. Như vậy nảy sinh ra vấn đề: điều gì sẽ xảy ra khi 2 thiết bị trở lên đồng thời cần làm bus master? Từ đó cần có một cơ chế phân xử để tránh sự hỗn loạn của hệ thống. Cơ chế phân xử có thể là tập trung hay không tập trung.



1.8. Phân xử bus tập trung

Nhiều vi xử lý có đơn vị phân xử được chế tạo nằm ngay trong chip CPU, trong một số máy tính mini, đơn vị này nằm ngoài chíp CPU. Theo cơ chế này thì bộ phân xử (arbiter) chỉ có thể biết có yêu cầu chiếm dụng bus hay không mà không biết có bao nhiêu đơn vị muốn chiếm dụng bus. Khi arbiter nhận được yêu cầu, nó sẽ phát ra 1 tín hiệu cho phép trên đường dây (bus grant: cho phép sử dụng bus). Đường dây này nối qua tất cả các thiết bị I/O theo kiểu nối tiếp. Khi thiết bị nằm gần arbiter nhất nhận được tín hiệu cho phép, nó kiểm tra xem có phải chính nó đã phát ra yêu cầu hay không. Nếu có thì nó sẽ chiếm lấy bus và không truyền tiếp tín hiệu cho phép trên đường dây. Nếu không thì nó sẽ truyền tín hiệu cho phép tới thiết bị kế tiếp trên đường dây, với thiết bị này sự việc xảy ra giống thiết bị trước nó, quá trình cứ tiếp diễn cho đến khi có một thiết bị chiếm lấy bus. Sơ đồ xử lý như vậy có tên gọi là daisy chaining (chuỗi cánh hoa). Điểm nổi bật của sơ đồ này là các thiết bị được gán thứ tự ưu tiên tuỳ thuộc vào vị trí của nó so với arbiter, thiết bị gần hơn thì mức ưu tiên cao hơn.



Phân sử Bus tập trung một mức nối tiếp

Một số loại bus có nhiều mức độ ưu tiên, với mỗi mức độ ưu tiên có đường yêu cầu bus (bus request) và đường dây cho phép bus (bus grant). Ví dụ: giả sử 1 bus có 2 mức ưu tiên 1 và 2 (các bus thực tế có 4, 8 hay 16 mức). Mỗi thiết bị trong hệ thống máy tính nối với 1 trong các mức yêu cầu bus, các đường thường được sử dụng nhiều hơn được gắn với đường dây có mức ưu tiên cao hơn. Ở ví du, các thiết bị 1, 2 sử dụng mức ưu tiên 1, còn các thiết bị 3, 4 sử dụng mức ưu tiên 2.

Phân sử Bus tập trung 2 mức Nếu có một số thiết bị ở các mức ưu tiên khác nhau cùng yêu cầu, arbiter chỉ phát ra tín hiệu grant đối với yêu cầu có mức ưu tiên cao nhất. Trong số các thiết bị có cùng mức ưu tiên, thiết bị nào gần arbiter hơn sẽ ưu tiên hơn. Về mặt kỹ thuật, không cần nối đường grant level 2 giữa các thiết bị vì chúng không bao giờ đòi hỏi bus ở mức 2. Tuy nhiên, trong thực tế để thuận tiện cho việc lắp đặt người ta hay làm như sau: nối tất cả các đường grant thông qua tất cả các thiết bị, như vậy sẽ dể dàng hơn là nối các đường grant một cách riêng biệt, và từ đó căn cứ vào thiết bị nào có quyền ưu tiên cao hơn. Một arbiter(phân xử) có đường dây thứ 3 nối tới các thiết bị để các thiết bị xác nhận đã nhận được tín hiệu grant và chiếm dụng bus – đường ACK (acknowledgement). Ngay sau 1 thiết bị phát tín hiệu tích cực trên đường dây ACK, có thể đảo tín hiệu trên các đường dây request và grant xuống mức không tích cực. Các thiết bị khác có thể yêu cầu bus khi thiết bị đầu tiên đang dùng bus. Khi sự truyền thông kết thúc, bus master kế tiếp sẽ được lựa chọn. Cách làm việc như vậy làm tăng hiệu quả sử dụng bus, nhưng cần thêm 1 đường truyền tín hiệu và cấu trúc thiết bị cũng phức tạp hơn. Các chip trong máy tính PDP-11 và các chip Motorola làm việc với các bus như vậy.



1.9. Phân xử bus không tập trung

Trong Multibus, người ta cho phép có thể lựa chọn sử dụng phân xử bus tập trung hay không tập trung, cơ chế phân xử bus không tập trung được thực hiện như sau:



Phân xử Bus không tập trung trong multibus

Cơ chế sử dụng 3 đường dây, không phụ thuộc vào số lượng thiết bị nối với bus:

• Bus request: yêu cầu chiếm dụng bus.

• Bus busy: đường báo bận, được bus master đặt ở mức tích cực khi có thiết bị đang chiếm dụng bus.

• Bus arbitration: được mắc nối tiếp thành 1 chuỗi xích qua tất cả các thiết bị ngoại vi. Đầu của chuỗi này được gắn với mức điện áp 5V của nguồn nuôi. Khi không có đơn vị nào yêu cầu chiếm dụng bus, đường dây phân xử bus truyền mức tích cực tới tất cả các thiết bị trong chuỗi xích. Khi 1 đơn vị nào đó muốn chiếm dụng bus, đầu tiên nó kiểm tra xem bus có rảnh không và đầu vào In của đường trọng tài bus có mức tích cực hay không. Nếu không (not active) thì nó không trở thành bus master. Ngược lại, nó sẽ đảo đầu Out thành không tích cực, làm cho các thiết bị đứng sau nó trong chuỗi xích có đầu In không tích cực. Khi trạng thái có thể hiểu lầm (khoảng thời gian tín hiệu trên đầu In và Out đang thay đổi) qua đi, chỉ còn lại duy nhất 1 thiết bị có đầu In tích cực và Out không tích cực. Thiết bị này trở thành bus master, nó sẽ đặt bus busy tích cực và bắt đầu truyền thông tin trên bus.



1.10. Xử lý ngắt

Ở trên, ta chỉ khảo sát các chu kỳ bus thông thường, trong đó master nhận hay gởi thông tin từ / đến slave. Một ứng dụng quan trọng nữa của bus là dùng để xử lý ngắt. Khi CPU ra lệnh cho thiết bị I/O làm một việc gì đó, nó thường chờ đợi tín hiệu ngắt do thiết bị I/O phát ra khi hoàn thành công việc được CPU yêu cầu. Khi nhận được tín hiệu ngắt, CPU sẽ đáp ứng ngay, có thể nhận dữ liệu do thiết bị I/O truyền về, hay gởi tiếp dữ liệu ra thiết bị I/O, hay CPU sẽ sử dụng bus cho một thao tác khác…. Như vậy chính ngắt phát ra tín hiệu yêu cầu sử dụng bus. Vì có thể nhiều thiết bị ngoại vi cùng phát ra ngắt, cho nên cần có 1 cơ chế phân xử giống như đối với các bus thông thường. Giải pháp thường dùng là gán các mức độ ưu tiên cho các thiết bị và sử dụng 1 arbiter tập trung để trao quyền ưu tiên cho các thiết bị quan trọng thường xuyên được sử dụng.



2. Phân Loại Bus

2.1. Bus ISA (Industry Standard Architecture)

Bus ISA dùng cho hệ thống chỉ được điều khiển bởi 1 CPU trên bảng mạch chính, tức là tất cả các chương trình và thiết bị đều chỉ được điều khiển bởi CPU đó. Tần số làm việc cực đại là 8.33 MHz ( tốc độ chuyển tải cực đại là 16.66 MBps với số liệu 2 bytes). Bề rộng dữ liệu là 8 hay 16 bits. ISA có 24 đường địa chỉ nên quản lý được 16 MB bộ nhớ. Bus ISA tương thích 90% với bus AT.



2.2. Bus EISA và MCA

Sử dụng cho các CPU 32 bits ( số liệu và đường địa chỉ) từ 80386 trở đi. Bus MCA (Micro Channel Architecture) Phục vụ cho hệ thống IBM PS/2 không tương thích với bus ISA, có thể hoạt động với 16 hay 32 bits dữ liệu. Nó có nhiều đường dẫn hơn ISA, thiết kế phức tạp cho phép giảm bớt các nhiễu cao tần của PC tới các thiết bị xung quanh. Tốc độ truyền dữ liệu có thể lên tới 160 MBps.



2.3. Bus EISA (Extended ISA)

Đây là chuẩn mở rộng của ISA để bố trí các dữ liệu 32 bits nhưng vẫn giữ được sự tương thích với mạch nối ghép cũ. Bus EISA có 2 nấc, các tín hiệu ISA được gửi qua nấc trên và các tín hiệu phụ trợ EISA qua nấc dưới. Các đặc trưng của EISA như sau:

• Về mặt cơ khí: có nhiều chân cắm hơn nhưng vẫn tương thích với ISA Độ rộng dữ liệu: có thể truy xuất 2 đường 8 bits (tương thích với ISA), hay 2 đường 16 bits Do. đó, đơn vị quản lý bus 32 bits có thể chuyển tải 4 byte với bộ nhớ hoặc thiết bị ngoại vi. Điều này góp phần tăng tốc độ truyền tải lên khoảng 33 MBps so với 16.66 MBps của ISA.

• Độ rộng địa chỉ: ngoài 24 đường như ISA còn thêm 8 đường bổ sung nữa, do đó có thể định địa chỉ trong 4 GB bộ nhớ.

• Phần cứng được thiết kế theo hệ thống EISA phức tạp hơn ISA vì nó cũng phải thực hiện các chu kỳ bus tương thích với ISA. EISA có thể thực hiện phân xử bus, nó cho phép vi xử lý nằm ngoài bảng mạch chính có thể điều khiển toàn bộ bus. Điều này rất hiệu quả trong các hệ thống đa xử lý (multiprocessor). Hãng Intel đã phát triển 4 chip điện tử phục vụ cho bus EISA như sau:

o ISP (Intergrated system peripheral)

o BMIC (Bus master interface controller)

o EBC (EISA bus controller)

o EBB (EISA bus buffer)
2.4. Bus cục bộ (Local Bus)

Nhược điểm của các bus chuẩn trên là mặc dù xung clock của CPU rất cao nhưng cũng chỉ làm việc với các ngoại vi với tốc độ truyền tải không quá 33MBps. Điều này không thể đáp ứng được tốc độ của các card đồ hoạ cắm vào khe cắm của bus mở rộng trong chế độ đồ họa. Chuẩn các bus cc b tạo thêm các khe cm m rng nối trực tiếp vào bus cục bộ (bus nối giữa CPU và các bộ đệm). Do vậy, bus mở rộng loại này cho phép truy xuất lên trên 32 bit cũng như tận dụng được tốc độ xung clock của chính CPU, tránh được rào cản 8.33MHz của bus hệ thống. Theo hướng giải quyết này, Intel đã phát triển bus PCI và Uỷ ban VESA (Video Electronics Standards Association) đã phát triển bus VL.



2.5. Bus PCI (Peripheral Component Interconnect)

Sơ đồ Bus PCI

Bus PCI là bus của i486 trong đó dữ liệu và địa chỉ được gởi đi theo cách thức dồn kênh (multiplexing), các đường địa chỉ và dữ liệu được dồn chung trên các đường của PCI. Cách này tiết kiệm được số chân PCI nhưng lại hạn chế tốc độ vì phải cần 2 xung clock cho một quá trình truyền dữ liệu (1 cho địa chỉ và 1 cho dữ liệu). Việc nối giữa CPU, bộ nhớ chính, và bus PCI được thực hiện bằng cầu PCI (PCI bridge), qua đó bus PC sẽ phục vụ cho tất cả các đơn vị của bus PCI. Tối đa là 10 thiết bị có thể được nối tới bus PCI, trong đó cầu PCI được coi là một. Chu kỳ bus của PCI đạt gần bằng tốc độ chu kỳ bus của i486. Nó có thể hoạt động với độ rộng 32 bits dữ liệu và tốc độ 33MHz (có thể đạt 64 bits với tốc độ 66 MHz). Một điểm mạnh của PCI là dữ liệu được truyền tải theo kiểu cụm (burst), trong đó địa chỉ chỉ truyền đi 1 lần, sau đó nó sẽ được hiểu ngầm bằng cách cho các đơn vị phát hoặc thu đếm lên trong mỗi xung clock. Do đó, bus PCI hầu như được lấp đầy bởi dữ liệu. Tốc độ truyền tối đa trong kiểu burst có thể lên đến 120MBps.

2.6. Bus VL (VESA local bus)

Giống như PCI, bus VL cũng phân cách giữa hệ CPU, bộ nhớ chính, và bus mở rộng chuẩn. Thông qua bus cục bộ trên board mạch chính, nó có thể để điều khiển tối đa 3 thiết bị ngoại vi. Khe cắm VL có 116 tiếp điểm. Bus VL chạy với xung clock bên ngoài CPU, như vậy trong các máy DX2 thì tần số này chỉ bằng một nửa clock CPU. Về mặt logic, mỗi một thiết bị có thể ở một trong hai vị trí: LMB (Local bus master) hoặc LBT (Local bus target). Bộ phận điều khiển bus cục bộ LBC (local bus controller) trên main board sẽ quyết định thiết bị nào sẽ trở thành LMB , tức là được nắm quyền điều khiển bus và cho phép nhường quyền đó cho thiết bị có quyền ưu tiên cao hơn. Thường có 3 cấp ưu tiên được sắp xếp theo thứ tự giảm dần như sau: DMA/làm tươi, CPU/đơn vị làm chủ bus (bus master) và các đơn vị làm chủ bus khác. Thiết bị nào ở vị trí LBT thì không có khả năng làm các việc liên quan đến chuyển tải dữ liệu. Bus VL chỉ làm việc với 32 bits, trong tương lai sẽ được mở rộng đến 64 bits.





CHƯƠNG 3:

BỘ NHỚ
1. Các đặc trưng của bộ nhớ.

Memory: Memory đơn giản là một thiết bị nhớ nó có thể ghi và chứa thông tin. ROM, RAM, Cache, Hard disk, Floppy disk, CD.... đều có thể gọi là memory cả (vì nó vẫn lưu thông tin). Dù là loại memory nào ta cũng có các thông số sau đây:

1.1. Các khái niệm

 TỐC ĐỘ (SPEED). Đây có lẽ là khái niệm được người dùng quan tâm nhất, tuy nhiên có người thắc mắc về cách gọi tên, đối với DDR thì có hai cách gọi theo tốc độ MHz hoặc theo băng thông. Ví dụ, khi nói DDR333 tức là thanh RAM đó mặc định hoạt động ở tốc độ 333MHz nhưng cách gọi PC2700 thì lại nói về băng thông RAM, tức là khi chạy ở tốc độ 333MHz thì nó sẽ đạt băng thông là 2700MB/s (trên lý thuyết).

 ĐỘ TRỄ (LATENCY) là khoảng thời gian từ khi ra lệnh đến khi nhận được sự phản hồi. CAS là viết tắt của 'Column Address Strobe' (địa chỉ cột). RAS (Row Adress Strobe) là địa chỉ hàng. khi chipset sẽ truy cập vào hàng ngang (ROW) của ma trận bộ nhớ thông qua việc đưa địa chỉ vào chân nhớ (chân RAM) rồi kích hoạt tín hiệu RAS. Chúng ta sẽ phải chờ khoảng vài xung nhịp hệ thống (RAS to CAS Delay) trước khi địa chỉ cột được đặt vào chân nhớ và tín hiệu CAS phát ra. Sau khi tín hiệu CAS phát đi, chúng ta tiếp tục phải chờ một khoảng thời gian nữa (đây chính là CAS Latency) thì dữ liệu sẽ được tìm thấy.

 TẦN SỐ LÀM TƯƠI (Module DRAM) được tạo nên bởi nhiều tế bào điện tử, mỗi tế bào này phải được nạp lại điện hàng nghìn lần mỗi giây vì nếu không dữ liệu chứa trong chúng sẽ bị mất. Một số loại DRAM có khả năng tự làm tươi dữ liệu độc lập với bộ xử lý thường được sử dụng trong những thiết bị di động để tiết kiệm điện năng.

 SDRAM ACCESS TIME. Việc cho ra đời cách đọc dữ liệu theo từng chuỗi (Burst Mode) đã giúp khắc phục nhiều nhược điểm và tăng hiệu năng cho RAM, chu kì của chuỗi ngắn hơn rất nhiều chu kì trang của RAM loại cũ. Chu kì của chuỗi cũng được coi như là chu kì xung nhịp của SDRAM và chính vì thế nó được coi như thang xác định cho tốc độ của RAM bởi đó là khoảng thời gian cần thiết giữa các lần truy xuất dữ liệu theo chuỗi của RAM. Những con số -12, -10, -8... ghi trên các chip RAM cho biết khoảng thời gian tối thiểu giữa mỗi lần truy xuất dữ liệu: nhãn - 12 xác định chu kì truy cập dữ liệu của RAM là 12ns (nano-giây).

1.2. Các loại bộ nhớ

ROM (Read Only Memory) có đặc tính là thông tin lưu trữ trong ROM không thể xoá được và không sửa được, thông tin sẽ được lưu trữ mãi mãi. Nhưng ngược lại ROM có bất lợi là một khi đã cài đặt thông tin vào rồi thì ROM sẽ không còn tính đa dụng

+ PROM (Programmable ROM). Mặc dù ROM nguyên thủy là không xoá/ghi được, nhưng do sự tiến bộ trong khoa học, Thông tin có thể được "cài" vào chip và nó sẽ lưu lại mãi trong chip. Một đặc điểm lớn nhất của loại PROM là thông tin chỉ cài đặt một lần mà thôi.

EPROM (Erasable Programmable ROM). Một dạng cao hơn PROM là EPROM, tức là ROM nhưng chúng ta có thể xoá và viết lại được. Dạng "CD-Erasable" là một điển hình. EPROM khác PROM ở chổ là thông tin có thể được viết và xoá nhiều lần theo ý người xử dụng, và phương pháp xoá là hardware (dùng tia cực tím xoá) cho nên khá là tốn kém và không phải ai cũng trang bị được.

EEPROM (Electronic Erasable Programmable ROM). Ðây là một dạng cao hơn EPROM, đặt điểm khác biệt duy nhất so với EPROM là có thể ghi và xoá thông tin lại nhiều lần bằng software thay vì hardware. Ứng dụng của EEPROM cụ thể nhất là "flash BIOS". BIOS vốn là ROM và flash BIOS tức là tái cài đặt thông tin (upgrade) cho BIOS.

RAM (Random Access Memory). Thông tin có thể được truy cập không cần theo thứ tự.

SRAM (Static RAM) và DRAM (Dynamic RAM) là loại RAM lưu giữ data mà không cần cập nhật thường xuyên (static). Trên thực tế, chế tạo SRAM tốn kém hơn hơn DRAM và SRAM thường có kích cỡ lớn hơn DRAM, nhưng tốc độ nhanh hơn DRAM vì không phải tốn thời gian refresh nhiều lần.

BDEO-DRAM (Burst Extended Data Out DRAM) là thế hệ sau của EDO DRAM, dùng kỹ thuật "pineline technology" để rút ngắn thời gian dò địa chỉ của data. Nếu các ta để ý những mẫu RAM tôi giới thiệu trên theo trình tự kỹ thuật thì thấy là hầu hết các nhà chế tạo tìm cách nâng cao tốc độ truy cập thông tin của RAM bằng cách cải tiến cách dò địa chỉ hoặt cách chế tạo hardware.

SDRAM (Synchronous DRAM). Ðây là một loại RAM có nguyên lý chế tạo khác hẳn với các loại RAM trước. Như tên gọi của nó là "synchronous" DRAM, synchronous có nghĩa là đồng bộ, tốc độ xung đồng hồ của RAM đồng bộ với dữ liệu.

DDR SDRAM (Double Data Rate SDRAM). Ðây là loại memory cải tiến từ SDRAM. Nó nhân đôi tốc độ truy cập của SDRAM bằng cách dùng cả hai quá trình đồng bộ khi clock chuyển từ 0 sang 1 và từ 1 sang 0. Ngay khi clock của memory chuyển từ 0 sang 1 hoặc từ 1 sang 0 thì thông tin trong memory được truy cập.

DRDRAM (Direct Rambus DRAM). Ðây lại là một bước ngoặc mới trong lĩnh vực chế tạo memory, hệ thống Rambus (cũng là tên của một hãng chế tạo nó) có nguyên lý và cấu trúc chế tạo hoàn toàn khác loại SDRAM truyền thống. Memory sẽ được vận hành bởi một hệ thống phụ gọi là Direct Rambus Channel có độ rộng 16 bit và một clock 400MHz điều khiển. (có thể lên 800MHz)

SLDRAM (Synchronous-Link DRAM) là thế hệ sau của DRDRAM, thay vì dùng Direct Rambus Channel với chiều rộng 16bit và tốc độ 400MHz, SLDRAM dùng bus 64bit chạy với tốc độ 200MHz. Theo lý thuyết thì hệ thống mới có thể đạt được tốc độ 400Mhz x 64 bits = 400Mhz x 8 bytes = 3.2Gb/giây, tức là gấp đôi DRDRAM. Ðiều thuận tiện là là SLDRAM được phát triển bởi một nhóm 20 công ty hàng đầu về vi tính cho nên nó rất da dụng và phù hợp nhiều hệ thống khác nhau.

PC66, PC100, PC133, PC1600, PC2100, PC2400....

PC xxx *2*8 = băng thông. Chiều rộng của DDR SDRAM: PC200 * 8 = PC1600. Tương tự PC133 sẽ là PC133 * 2 * 8bytes = PC2100 và PC150 sẽ là PC150 * 2 * 8 = PC2400.

Cache memory là loại memory có dung lượng rất nhỏ và chạy rất nhanh (gần như tốc độ của CPU). Thông thường thì Cache memory nằm gần CPU và có nhiệm vụ cung cấp những data thường (đang) dùng cho CPU. Sự hình thành của Cache là một cách nâng cao hiệu quả truy cập thông tin của máy tính mà thôi. Những thông tin ta thường dùng (hoặc đang dùng) thường được chứa trong Cache, mổi khi xử lý hay thay đổi thông tin, CPU sẽ dò trong Cache memory trước xem có tồn tại hay không, nếu có nó sẽ lấy ra dùng lại còn không thì sẽ tìm tiếp vào RAM hoặc các bộ phận khác. Lý do Cache memory nhỏ là vì nó rất đắt tiền và chế tạo rất khó khăn bởi nó gần như là CPU (về cấu thành và tốc độ). Thông thường Cache memory nằm gần CPU, trong nhiều trường hợp Cache memory nằm trong con CPU luôn. Người ta gọi Cache Level 1 (L1), Cache level 2 (L2)...là do vị trí của nó gần hay xa CPU. Cache L1 gần CPU nhất, sau đó là Cache L2...

Interleave là một kỹ thuật làm tăng tốc độ truy cập thông tin bằng giảm bớt thời gian nhàn rổi của CPU. Ví dụ, CPU cần đọc thông tin thông từ hai nơi A và B khác nhau, vì CPU chạy quá lẹ cho nên A chưa kịp lấy đồ ra CPU phải chờ rồi! A thấy CPU chờ thì phiền quá mới bảo CPU sang B đòi luôn sau đó trở lại A lấy cũng chưa muộn! Bởi thế CPU có thể rút bớt thời gian mà lấy được đồ ở cả A và B. Toàn bộ nghĩa interleave là vậy.

Bursting cũng là một kỹ thuật khác để giảm thời gian truyền tải thông tin trong máy tính. Thay vì CPU lấy thông tin từng byte một, bursting sẽ giúp CPU lấy thông tin mỗi lần là một block.

1.3. Cách Tính Dung Lượng Của Memory (RAM)

Thông thường RAM có hai chỉ số, ví dụ, 32Mx4. Thông số đầu biểu thị số hang (chiều sâu) của RAM trong đơn vị Mega Bit, thông số thứ nhì biểu thị số cột (chiều ngang) của RAM. 32x4 = 32MegaBit x 4 cột = 128 Mega Bit = 128/8 Mega Bytes = 16MB.


- Số Pin của RAM

Khi chọn RAM, ngoài việc chú ý tốc độ, sức chứa, ta phải coi số Pin của nó. Thông thường số Pin của RAM là (tuỳ vào loại RAM): 30, 72, 144, 160, 168, 184 pins.

- SIMM (Single In-Line Memory Module)

Ðây là loại ra đời sớm và có hai loại hoặc là 30 pins hoặc là 72 pins. Người ta hay gọi rõ là 30-pin SIMM hoặc 72-pin SIMM. Loại RAM (có cấu hình SIMM) này thường tải thông tin mỗi lần 8bits, sau đó phát triễn lên 32bits. Ta cũng không cần quan tâm lắm đến cách vận hành của nó, nếu ra ngoài thị trường ta chỉ cần nhận dạng SIMM khi nó có 30 hoặc 72 pins. Loại 72-pin SIMM có chiều rộng 41/2" trong khi loại 30-pin SIMM có chiều rộng 31/2".

- DIMM (Dual In-line Memory Modules)

Cũng gần giống như loại SIMM mà thôi nhưng có số pins là 72 hoặc 168. Một đặc điểm khác để phân biệt DIMM với SIMM là cái chân (pins) của SIMM dính lại với nhau tạo thành một mảng để tiếp xúc với memory slot trong khi DIMM có các chân hoàn toàn cách rời độc lập với nhau. Một đặc điểm phụ nửa là DIMM được cài đặt thẳng đứng (ấn miếng RAM thẳng đứng vào memory slot) trong khi SIMM thì ấn vào nghiêng khoảng 45 độ. Thông thường loại 30 pins tải data 16bits, loại 72 pins tải data 32bits, loại 144 (cho notebook) hay 168 pins tải data 64bits.

- SO DIMM (Small Outline DIMM)

Ðây là loại memory dùng cho notebook, có hai loại pin là 72 hoặc 144. Nếu ta để ý một tý thì thấy chúng có khổ hình nhỏ phù hợp cho notebook. Loại 72pins vận hành với 32bits, loại 144pins vận hành với 64bits.

- RIMM (Rambus In-line Memory Modules) và SO RIMM (RIMM dùng


Каталог: books -> cong-nghe-thong-tin -> lap-rap-cai-dat
cong-nghe-thong-tin -> BÀi thực hành số 1
cong-nghe-thong-tin -> Câu 1: Các thành phần của hệ điều hành, nhân hệ điều hành, tải hệ điều hành
cong-nghe-thong-tin -> Bài 1 Những khái niệm cơ bản về ngôn ngữ c mục tiêu
cong-nghe-thong-tin -> Trừ khi người ta cho bạn ngủ trong trạng thái đông lạnh suốt mấy năm vừa qua, nếu không, chắc chắn bạn đã nghe nói nhiều về máy tính và những mối đe dọa từ Internet đối với sự riêng tư của bạn
cong-nghe-thong-tin -> Mục lục 2 Làm quen với visual basic 9
cong-nghe-thong-tin -> TÀi liệu html, dhtml và javascript ha noi 9/2008
cong-nghe-thong-tin -> Hình thức trả lời là chọn 1 hoặc nhiều đáp án đúng. Ứng dụng web
cong-nghe-thong-tin -> SỞ khoa học và CÔng nghệ ĐĂKLĂk trung tâm tin họC & thông tin khcn
cong-nghe-thong-tin -> Thử xem iq đến đâu? Phần quan trọng nhất của hệ điều hành Linux là

tải về 0.71 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương