II.1. Bus trong vi xử lý và bus bộ xử lý
Trong các bộ vi xử lý có một hệ thống các bus dùng để truyền số liệu, lệnh, các tín hiệu điều khiển ,... , giữa các khối bên trong của nó. Ngồi ra có một hệ thống các bus đa ra ngồi qua các chân của nó. Các đờng bus trong đợc điều khiển bởi khối điều khiển tuỳ thuộc hoặc vào nội dung lệnh đuợc giải mã hoặc theo các điều khiển ngắt của bên ngoài đa vào vi xử lý. Các đờng bus này hoạt động theo nhịp của một clock bên trong vi xử lý.
Xét với ví dụ các đờng bus trong kiến trúc của vi xử lý 8088 nh đã giới thiệu trong chơng III.
Ngô Nh Khoa
Các bus trong vi xử lý truyền số liệu giữa các khối với nhau, có hai loại đờng truyền, một chiều và hai chiều. Hệ các đờng bus nối với các bộ phận, khối bên ngoài vi xử lý gồm 20 đờng địa chỉ (AD0 - AD 19), 8 đờng số liệu ( ), và các đờng thuộc bus điều khiển.
Chính khối điều khiển phát các tín hiệu điều khiển các bus.
Bus bộ vi xử lý là đờng truyền dẫn giữa CPU và các chip hỗ trợ trung gian. Những chip hỗ trợ này đợc gọi là bộ chip (chip set). Bus này dùng để truyền dữ liệu giữa CPU và bus hệ thống chính hoặc giữa CPU và cache ngồi.
Vì mục đích của bus bộ xử lý để gửi hoặc nhận thông tin từ CPU với tốc độ nhanh nhất có thể, nên bus này hoạt động nhanh hơn nhiều so với bất kỳ bus nào khác trong hệ thống và đảm bảo tránh hiện tợng tắc nghẽn ở đây. Bus bộ xử lý bao gồm bus dữ liệu, bus địa chỉ và bus điều khiển. Trong một hệ thống thiết kế cho VXL Pentium, bus bộ xử lý có 64 đờng dữ liệu, 32 đờng địa chỉ. Pentium Pro và Pentium II có 36 đờng địa chỉ.
Bus bộ xử lý hoạt động ở tốc độ đồng hồ cơ sở giống nh CPU chạy ngoại trú. Ví dụ Pentium II 333MHz chạy ở tốc độ đồng hồ 333MHz nội trú nhng chỉ ở 66,6 MHz ngoại trú.
Tốc độ truyền của bus bộ xử lý đợc xác định bằng cách nhân độ rộng dữ liệu với tốc độ đồng hồ cơ sở rồi chia cho 8.
Khi thiết kế các bộ vi xử lý, có thể tuỳ ý lựa chọn loại bus bên trong vi xử lý, cịn với các bus liên hệ với bên ngồ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í để ngời thiết kế Main Board có thể ghép nối vi xử lý với các thiết bị khác. nói cách khác, các bus này phải tuân theo một chuẩn nhất định. Tập các quy tắc của chuẩn còn đợc gọi là nghi thức bus (bus protocol).
Trong thế giới máy tính có rất nhiều loại bus khác nhauđợc sử dụng, các bus này nói chung là khơng tơng thích với nhau. Sau đây là một số loại bus đợc dùng phổ biến:
Tên bus Lĩnh vực áp dụng
- Camac Vật lý hạt nhân
- EISA Một sô hệ thống dùng bộ VXL 8036 - IBM PC, PC/AT Máy tính IBM PC, IBM/PC/AT
- Massbus Máy PDP - 1 và VAX
- Microchannel Máy PS/2
- Multibus I Một số hệ thống có VXL 8088, 8086 - Multibus II Một số hệ thống có VXL 80386 - Versabus Một số hệ thống dùng VXL Motorola
- VME Một số hệ thống dùng VXL 68x0 của Motorola. Ngời ta thờng phân loại bus theo ba cách sau:
1. Theo tổ chức phần cứng (nh các loại bus nêu trên)
2. Theo nghi thức truyền thông (bus đồng bộ và không đồng bộ). 3. Theo loại tín hiệu truyền trên bus (bus địa chỉ, bus dữ liệu ...)
Ngô Nh Khoa
Sự làm việc của các bus
Thờng có nhiều thiết bị nối với bus, một số là thiết bị tích cực và có thể địi hỏi truyền thơng tin trên bus, trong khi đó lại có các thiết bị thụ động chờ các 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ủ bus (master), còn các thiết bị thụ động là tớ (slave).
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ò bộ điều khiển đĩa là slave. Tuy nhiên khi bộ điều khiển đĩa ra lệnh cho bộ nhớ nhận dữ liệu mà nó đọc từ đĩa thì nó lại giữ vai trị của master.
Bus Driver và Bus Receiver.
Tín hiệu điện mà các thiết bị trong máy tính phát ra thờng khơng đủ mạnh để điều khiển đợc bus, nhất là khi bus khá dài và có nhiều thiết bị nối với nó. Chính vì vậy mà hầu hết các bus master đợc nối với bus thông qua một chip đợc gọi là bus driver, về căn bản đó là bộ khuyếch đại tín hiệu số. Tơng tự nh vậy, hầu hết các slave bus đợc nối với bus thông qua bus receiver. Đối với các thiết bị có thể khi thì đóng vai trị master, khi thì đóng vai trị slave, ngời ta sử dụng một chip kết hợp, gọi là transceiver. Các chip này đóng vai trị ghép nối và thờng là các thiết bị 3 trạng thái, cho phép có thể ở trạng thái thứ ba: hở mạch (còn gọi là thả nổi).
Giống nh MPU, 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 phải có ánh xạ một - một giữa các tín hiệu ở các chân ra của MPU và các đờng dây của bus.
Những vấn đề quan trọng nhất liên quan đến thiết kế bus là: Nhịp đồng hồ bus (sự phân chia thời gian, hay còn gọi là bus cloking), cơ chế trọng tài bus (bus arbitration), xử lý ngắt và xử lý lỗi.
Các bus có thể đợc chia theo nghi thức truyền thơng tin 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 nhịp đồng hồ bus.
II.2. Bus đồng bộ (Synchronous bus)
Bus đồng bộ có một đờng dây đ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 vng, với tần số thờng nằm trong khoảng 5MHz - 50 MHz. 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.
Giản đồ thời gian của một bus đồng bộ với tần số đồng hồ là 4MHz, nh vậy chu kỳ bus là 250nS.