Bus là tập hợp các đường dây dẫn song song trên mainboard, để truyền dữ liệu giữa CPU, bộ nhớ và các thành phần khác. Để mở rộng thêm khả năng làm việc của bộ vi xử lý với các thiết bị ngoại vi, trên mainboard có bổ sung thêm bus mở rộng theo nhiều tiêu chuẩn khác nhau và gắn vào đó một số khe cắm mở rộng để cắm các card mở rộng tương ứng. Trên card mở rộng có các đầu nối để nối với thiết bị ngoại vi. Việc thiết kế bus hay kiến trúc bus trên mainboard luôn được cải tiến tùy thuộc vào tốc độ làm việc của CPU và yêu cầu của các thành phần riêng biệt.
Hệ thống máy tính hiện đại được xây dựng và phát triển dựa trên hai hệ thống bus chủ đạo:
a. Bus hệ thống (System bus): kết nối giữa bộ vi xử lý và bộ nhớ chính.
b. Bus vào ra hay bus mở rộng (I/O bus): được dùng để truyền dữ liệu giữa CPU và thiết bị ngoại vi qua vỉ mạch mở rộng.
III.1 Bus hệ thống
Theo kiến trúc Dual Independent Bus (DIB – hai tuyến bus độc lập) bus hệ thống được tách thành Back Side Bus (BSB – Bus tuyến sau) và Front Side Bus (Bus tuyến
trước).
- BSB có nhiệm vụ kết nối giữa bộ vi xử lý và cache L2.
- FSB là bus kết nối giữa bộ vi xử lý và chip bán cầu bắc (NB – điều khiển trao đổi dữ liệu giữa CPU, RAM, Video card và chip bán cầu nam )..
Như vậy, bộ vi xử lý có thể truy cập đồng thời trên cả FSB và BSB góp phần tăng hiệu năng làm việc của bộ vi xử lý. Hiện nay, thuật ngữ FSB đã trở nên phổ biến và được hiểu rằng FSB chính là Bus hệ thống.
III.2 Bus vào ra (I/O Bus)
Bảng 2.1 khái quát các chuẩn bus được sử dụng trong các thế hệ máy tính.
Bảng 2.1 các chuẩn bus.
Bus vào ra được phát triển với nhiều chuẩn khác nhau để đáp ứng yêu cầu của từng thế hệ vi xử lý và các thiết bị ngoại vi. Bắt đầu là bus ISA, EISA, MCA, VESA Local bus, PCI cùng với sự ra đời của bus AGP để đáp ứng yêu cầu về xử lý đồ họa. PCI Express đang được phát triển với nhiều ưu điểm so với các dạng bus trước nó. Sau đây ta tìm hiểu một số loại bus thơng dụng:
ISA (Industry Standard Architecture)
Đầu tiên, ISA bus 8 bit (còn gọi là PC bus) được thiết kế cho mainboard của máy tính XT/8088, với đặc tính:
- Độ rộng bus dữ liệu 8 bit,
- Làm việc với tần số 4,77MHz (bằng tần số xung clock của bộ vi xử lý) - Tốc độ truyền dữ liệu giữa CPU và các thiết bị ngoại vi là 1MBps.
- Khe mở rộng ISA gồm 62chân (31 chân trên mỗi cạnh) gồm 3 đường dây đất, 5 đường dây nguồn, 20 đường dây địa chỉ, 8 đường dây dữ liệu (8 bit), 10 đường dây tín hiệu ngắt và 16 đường dây tín hiệu điều khiển. card mở rộng cũng được thiết kế tương thích gồm 62 chân.
Sau đó, bus ISA được cải tiến để phù hợp với yêu cầu của máy tính AT/80286: - Độ rộng bus dữ liệu 16 bit
- Tần số làm việc: 8MHz
- Tốc độ truyền dữ liệu: 5MBps
- Khe cắm gồm 2 đoạn tách rời nhau, một đoạn 62 chân như bus ISA cho máy XT và một đoạn 36 chân nhằm cung cấp thêm 8 bit cho bus dữ liệu, 5 đường dây tín hiệu ngắt, 4 đôi yêu cầu và báo nhận DMA, 4 đường địa chỉ và một số đường điều khiển khác. Như vậy, khe cắm này gồm 98 chân, vẫn tương thích với bus XT cũ (hình 2.17).
Hình 2.17 khe cắm mở rộng chuẩn ISA MCA(Micro Channel Architecture) và EISA(Extended ISA)
Từ thế hệ máy tính AT/80386 trở đi, CPU làm việc nhanh hơn, nhưng các thiết bị hiển thị đồ họa độ phân giải cao, đĩa cứng và giao tiếp mạng,... lại cần băng thông dữ liệu lớn hơn, bus ISA khơng cịn đáp ứng được u cầu đó nữa.
Năm 1987, IBM đưa ra chuẩn bus MCA với độ rộng 32 bit, tốc độ xung 10MHz, băng thông 20MBps. Bus MCA khơng tương thích với ISA nhưng hoạt động nhanh và mạnh hơn ISA.
Năm 1989, Compaq và 8 công ty khác đưa ra chuẩn bus EISA. Giống như MCA, EISA hoạt động với bus dữ liệu 32 bit, nhưng EISA hồn tồn tương thích với ISA, hoạt động ở tần số 8,33MHz, băng thông 33MBps, cho phép các card mở rộng ISA làm việc trên khe cắm EISA.
Tuy nhiên, hai chuẩn này khơng có cơ hội phát triển do giá thành các hệ thống và thiết bị MCA, EISA quá cao.
Khi Windows đưa hình ảnh trung thực vào PC, ISA bị quá tải, không đáp ứng được yêu cầu khả năng đồ họa màu thực, video chuyển động và hình ảnh 3 chiều. Để loại trừ tắc nghẽn, các nhà sản xuất hệ thống và thiết bị đã tạo ra một đường truyền dữ liệu rộng, nhanh mới gắn vào bus tốc độ cao của bộ xử lý. Như vậy, bên cạnh bus MCA, EISA, mainboard có thêm một tuyến bus 32 bit nối trực tiếp từ bus dữ liệu bên trong bộ
vi xử lý tới bộ nhớ chính và các chip phụ trợ, gọi là bus cục bộ (Local bus).
Năm 1992, để đưa ra chuẩn Local Bus, các nhà sản xuất card và chipset đồ họa đã ban hành chuẩn VESA Local Bus gọi tắt là VL-Bus. VL-bus trở thành một thành phần kết hợp trong hầu hết máy tính PC 486. Các hệ thống VL bus với tốc độ truyền dữ liệu 132MBps, tần số làm việc 40MHz đã chứng tỏ hiệu suất vượt trội ISA.
Bộ điều khiển đồ họa và các thiết bị tốc độ cao được nối lên VL bus và nối trực tiếp vào bus bộ vi xử lý. Nhờ đó tốc độ hiển thị đồ họa được nâng lên, tạo điều kiện thuận lợi cho môi trường giao tiếp người dùng đồ họa (GUI – Graphical User Interface) như hệ điều hành Windows phát triển.
Lưu ý, VL-bus không thể thay thế cho các bus mở rộng khác, do đó, nó tồn tại song song với ISA, MCA, hoặc EISA (hình 2.18).
Hình 2.18 Slot VL-Bus
Nhược điểm lớn nhất của VL Bus là chỉ cho phép thiết kế tối đa 3 khe cắm. Vì khi có nhiều thiết bị nối lên VL-bus, dữ liệu của bộ vi xử lý sẽ rất dễ bị nhiễu. Mặt khác, do chạy cùng tốc độ xung nhịp với bộ vi xử lý nên khi tốc độ vi xử lý tăng, toàn bộ thiết bị ngoại vi theo chuẩn VL-bus cũng phải nâng cấp theo, làm cho chi phí nâng cấp tăng lên quá cao.
PCI (Peripheral Component Interconnect)
Với bộ vi xử lý 486 tốc độ 40MHz, 50MHz, ... việc triển khai VL-bus gặp khó khăn bởi nhược điểm trên. Năm 1992, hãng Intel đưa ra chuẩn PCI, và năm 1993 PCI chính thức thay thế chuẩn VL-bus.
Khơng giống với VL bus nối trực tiếp vào Bus bộ vi xử lý, PCI đã tạo ra một lớp giữa CPU và thiết bị ngoại vi, nó hồn tồn độc lập là một bus với vi xử lý. Do đó, bus
PCI có thể dễ dàng nối với nhiều loại CPU, làm cho giá thành phát triển thấp hơn vì có thể dùng lại các thiết kế hệ thống trên các CPU.
PCI cung cấp nhiều đặc trưng khác, như cấu hình thiết bị tự động. Do đó, người dùng có thể lắp đặt thêm các thiết bị mà không cần quan tâm đến việc cấp IRQ, kênh DMA và địa chỉ cổng vào ra của hệ thống.
Đối với nhà chế tạo hệ thống, khả năng điện áp thấp và giao tiếp 64 bit cho PCI thích hợp cho các loại sản phẩm đa dạng. Thiết kế theo lớp của PCI làm giảm ứng suất điện trong CPU, cho phép đấu 6 thiết bị hoạt động.
Bảng 2.2 các phiên bản PCI
Qua bảng 2.2 ta thấy bus PCI có độ rộng bus dữ diệu, tần số làm việc, băng thông lớn gấp nhiều lần bus ISA. Các phiên bản sau này, như PCI 2.2, độ rộng bus và tần số làm việc hầu như không thay đổi, nhưng bổ sung thêm nhiều tính năng mới nhằm đáp ứng cho nhu cầu của các máy tính cao cấp với các bộ vi xử lý 64 bit.
Khác với bus ISA, VL-bus, bus PCI hoàn toàn tách biệt với bộ vi xử lý, bộ nhớ chính và bus mở rộng. Nó được nối với bus hệ thống qua một mạch cầu “Bridge” đặc biệt mà thường gọi là bộ điều khiển PCI. Bộ điều khiển PCI có nhiệm vụ truyền dữ liệu từ bus hệ thống đến bộ điều khiển ISA và đến các thiết bị ngoại vi được cắm vào khe mở rộng PCI. Nhờ đó, bus PCI có thể làm việc với tần số bus cố định mà không phụ thuộc vào tần số xung của bộ vi xử lý, do đó PCI có thể làm việc với các họ vi xử lý có tần số làm việc khác nhau, khác với VL-bus chỉ làm việc với bộ vi xử lý 8048 / 33MHz.
PCI cho phép thiết kế tối đa 5 khe cắm mở rộng, cung cấp 2 mức điện áp 5v và 3.3v. Để tránh card 3.3v bị cắm nhầm vào khe 5v và ngược lại, các khe cắm được thiết kế thêm một chân khóa.
PCI hỗ trợ tính năng Plug&Play giúp người dùng PC có thể tự cài đặt các thiết bị ngoại vi mà không bận tâm đến việc tranh chấp tài nguyên có thể xảy ra. Trong chế độ tiết kiệm điện, tần số xung của bus PCI tự động giảm xuống hoặc dừng hẳn khi thiết bị ngoại vi không hoạt động, trong khi bộ vi xử lý vẫn hoạt động bình thường.
AGP (Accelerated Graphics Port)
Với các ứng dụng đồ họa 3 chiều (3D), PCI khơng đáp ứng được u cầu để truyền hình ảnh chuyển động mang tính hiện thực, trong khi card mạng, card âm thanh và nhiều thiết bị khác chia sẻ băng thông với card đồ họa.
Hãng Intel đã đưa ra đặc tả Accelerated Graphic Port – AGP, nhằm cung cấp một kênh dữ liệu đồ họa riêng biệt với tốc độ cao, băng thơng rộng và hồn tồn tách biệt với bus PCI. Đây là một giải pháp hữu hiệu dành cho các ứng dụng đồ họa.
Kiến trúc bus AGP
AGP (Accelerated Graphic Port) nghĩa là cổng đồ họa tăng tốc, hoạt động dựa trên tần số làm việc 33MHz của bus PCI, nhưng có thêm một số chức năng đặc biệt để tăng tốc độ truyền. Dữ liệu truyền trên AGP tối thiểu là 8 byte (64bit) trong khi bus PCI chỉ 4 byte (32bit). Chipset AGP hoạt động như một bộ tăng tốc 4 cổng vì nằm giữa ngã tư nối đến bộ vi xử lý, bộ nhớ chính, các cổng vào ra trên bus PCI và cổng AGP. Đặc biệt chỉ có 1 khe cắm mở rộng AGP được tích hợp trên mainboard.
Hình 2.20 slot PCI và slot AGP.
Bus AGP chỉ được sử dụng cho việc truyền dữ liệu giữa Chipset và card AGP mà khơng có bất kỳ thiết bị nào xen vào, nói cách khác bus AGP được sử dụng hoàn toàn cho ứng dụng đồ họa (hình 2.21a). Mặt khác, bộ xử lý của card AGP có thể truy cập trực tiếp
vào bộ nhớ chính – đó là tính năng Direct Memory Execute (DIME)- để nạp nhanh một lượng lớn dữ liệu Texture (cỡ Megabyte)vào Video RAM, kết hợp chúng lại với nhau để hình ảnh 3D có tính hiện thực cao hơn.
Hình 2.21a Quá trình chuyển dữ liệu từ đĩa cứng tới card màn hình qua bus AGP
Hình 2.21b Quá trình chuyển dữ liệu từ đĩa cứng tới card màn hình qua bus PCI Trên hình 2.21a, dữ liệu từ đĩa cứng được nạp vào RAM qua bus PCI và từ RAM qua chipset, qua bus AGP nạp vào bộ nhớ video. Trong khi nếu sử dụng bus PCI (hình 2.21b), dữ liệu từ đĩa cứng qua bus PCI nạp vào RAM, dữ liệu từ RAM qua chipset, nạp vào CPU, sau đó CPU lại chuyển dữ liệu qua bus PCI tới bộ nhớ Video của card màn hình. Như vậy, dữ liệu truyền tới card màn hình qua bus PCI sẽ chậm hơn so với bus AGP, thời gian sử dụng bus PCI bị chia sẻ cho cả ổ cứng và card màn hình.
PCI Express (PCIe hoặc PCIx)
Được đưa ra năm 2001, PCI Express là một công nghệ I/O mới cho các hệ thống máy tính Destop, mobile, server và thơng tin liên lạc với tốc độ truyền dữ liệu cao.
PCI Express có các đặc tính sau:
tiếp mà có thể gồm nhiều dây dẫn nối tiếp. Bus có thể gồm 1, 2, 4, 8, 16 hoặc 32 đường dẫn (ký hiệu x1, x2, ..., x32) nhằm thích ứng các yêu cầu khác nhau. Khác với PCI là kiến trúc kết nối song song với độ rộng bus dữ liệu là 32 hoặc 64 bit. Băng thông trên mỗi hướng truyền là 2.5Gbps (~250MBps). PCIe 8 đường băng
thông sẽ là 2GBps, 16 đường là 4-5GBps.
Cho phép thiết lập mạng giao tiếp điểm-điểm (Peer to peer) giữa các thiết bị trong hệ thống truyền thông, thay thế cho kiểu một chiều của kiến trúc song song. Do đó, PCIe khơng cịn cần đến bộ điều khiển bus nữa.
Đáp ứng được băng thông rộng cho các ứng dụng đồ họa. Cho phép tháo lắp/ thay thế nóng
Hồn tồn tương thích với phần mềm, các thiết bị chuẩn PCI 2.2
Khe cắm PCIe được thiết kế nhỏ gọn với nhiều dạng x1, x4, x8, x16, nên mainboard có khả năng thu gọn diện tích khoảng 50%. Slot PCIe x1 có chiều dài 1inch, x16 thì dài hơn PCI hiện nay.
Nhờ những cải thiện về hiệu năng, khả năng mở rộng và linh động trong thiết kế, PCIe khơng những thay thế cho PCI, PCI-X mà cịn thay thế cho cả AGP. Trong tương lai nó sẽ được triển khai rộng rãi cho máy tính, máy chủ, thiết bị truyền thông.