CẤU TRÚC BUS TRONG MÁY TÍNH

VŨ NGỌC THANH SANG

TRỊNH TẤN ĐẠT

KHOA CÔNG NGHỆ THÔNG TIN

ĐẠI HỌC SÀI GÒN

Email: trinhtandat@sgu.edu.vn

Website: https://sites.google.com/site/ttdat88

CHỨC NĂNG VÀ THÔNG SỐ CỦA BUS

• Bus là đường truyền tín hiệu có chức năng lưu thông, vận chuyển tín hiệu, dữ liệu

• Bus thường có 50 đến 100 dây dẫn được gắn trên mainboard.

giữa các khối chức năng trong hệ thống máy tính.

• Với các đường dây dẫn, Bus truyền tín hiệu giữa bộ vi xử lý và các bộ phận khác,

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

hoặc thiết bị này với các thiết bị khác trong hệ thống máy tính.

CHỨC NĂNG VÀ THÔNG SỐ CỦA BUS

• Độ rộng bus (bus width, đơn vị bit): là số bit dữ liệu tối đa có thể truyền trong 1

chu kỳ dữ liệu của bus (số bit dữ liệu tối đa trong 1 lần truyền).

• Tốc độ bus (bus speed, đơn vị MHz): tốc độ truyền tối đa của bus.

• Chu kỳ dữ liệu xung nhịp (clock data cycle): số chu kỳ xung nhịp cần thiết để

truyền 1 chu kỳ dữ liệu.

• Băng thông (Bandwidth, đơn vị MBps): Số bit dữ liệu tối đa truyền trên một đơn vị

thời gian (giây).

𝑇ố𝑐 độ 𝐵𝑈𝑆 𝑀𝐻𝑧 ∗𝑆ố 𝑏𝑦𝑡𝑒 𝑡𝑟𝑜𝑛𝑔 1 𝑙ầ𝑛 𝑡𝑟𝑢𝑦ề𝑛 𝑡ả𝑖 𝐶ℎ𝑢 𝑘ỳ 𝑑ữ 𝑙𝑖ệ𝑢 𝑡ℎ𝑒𝑜 𝑥𝑢𝑛𝑔 𝑛ℎị𝑝

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

Băng thông [MB/s] =

HỆ THỐNG ĐƠN BUS

• Có nhiều thành phần nối vào bus chung, một số thiết bị tích tực (active) có thể đòi hỏi truyền thông

trên bus, một số 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).

• Phân loại các dây dẫn:

o Dây dẫn dữ liệu: Data line.

o Dây dẫn địa chỉ: Address line.

o Dây dẫn điều khiển: Control line.

Sơ đồ kết nối Bus

HỆ THỐNG ĐƠN BUS

• Tại một thời điểm chỉ phục vụ được một yêu cầu trao đổi dữ liệu.

• Các thành phần nối vào Bus có thể có tốc độ khác nhau.

• Các Module nhớ và Module IO phụ thuộc vào cấu trúc của CPU.

• Khắc phục:

o Xây dựng cấu trúc đa Bus bao gồm các hệ thống Bus khác nhau về tốc độ.

o Trong hầu hết các máy PC bus được phân thành 3 cấp và các bus nối với nhau

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

thông qua cầu nối Bus.

PHÂN LOẠI BUS

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

o Theo tổ chức phần cứng.

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

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

• Bus theo tổ chức phần cứng: bên trong (internal bus), bên ngoài (external bus).

Các chip vi xử lý được thiết kế để tùy ý lựa chọn internal bus, với external bus cần

phải thiết kế tuân theo tập các quy tắc của chuẩn còn được gọi là giao thức bus

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

(bus protocol).

LOẠI BUS PHẦN CỨNG - INTERNAL BUS

o Đơn vị điều khiển (CU)

o Đơn vị số học và logic (ALU)

o Các thanh ghi (Registers)

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

• Kết nối các thành phần bên trong vi xử lý:

LOẠI BUS PHẦN CỨNG - EXTERNAL BUS

• Các external bus được lắp đặt vào bo mạch chủ, từ đó kết nối với các internal bus

• Dây cáp external bus dùng để kết nối thiết bị ngoại vi và thiết bị nội bộ, kết nối

➔ Kết nối bo mạch chủ với các thành phần khác.

internal buses với thiết bị nội bộ.

LOẠI BUS GIAO THỨC TRUYỀN THÔNG - 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ố 5 → 50 MHz.

• Mọi hoạt động bus xảy ra trong một số

nguyên lần chu kỳ gọi là chu kỳ bus.

• Ví dụ (hình bên): tấn số xung clock là

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

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

4MHz ➔ chu kỳ bus là 250ns

LOẠI BUS GIAO THỨC TRUYỀN THÔNG - BUS ĐỒNG BỘ - SYNCHRONOUS BUS

• Giả sử đọc 1 byte từ bộ nhớ chiếm 3 chu kỳ

bus (750ns), tương ứng với T1, T2, T3.

o T1: bắt đầu bằng cạnh dương xung clock → 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 𝑀𝑅𝐸𝑄 và RD tích cực (mức thấp).

o 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.

chọn đọc

(Memory Request) - xác định truy xuất bộ nhớ

o 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 → vi xử lý đảo các tín hiệu 𝑀𝑅𝐸𝑄 và RD.

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

• Thao tác đọc:

LOẠI BUS GIAO THỨC TRUYỀN THÔNG - BUS ĐỒNG BỘ - SYNCHRONOUS BUS

• TAD: ≤ 110ns, 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, dữ liệu đã ổn

điểm giữa cạnh âm của T3

định trên bus dữ liệu ít nhất là 50ns trước

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

➔đảm bảo cho vi xử lý đọc dữ liệu tin cậy.

LOẠI BUS GIAO THỨC TRUYỀN THÔNG - BUS ĐỒNG BỘ - SYNCHRONOUS BUS

• TML: đảm bảo tín hiệu địa chỉ sẽ được xác lập

trước tín hiệu 𝑀𝑅𝐸𝑄 ít nhất 60ns.

• TM, TRL: cho phép 2 tín hiệu 𝑀𝑅𝐸𝑄 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.

• TMH, TRH: thời gian để các tín hiệu 𝑀𝑅𝐸𝑄 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

Trong trường hợp bộ nhớ không có khả năng đáp ứng đủ Nhanh → phát tín hiệu WAIT trước cạnh âm của T2, đưa thêm vào 1 chu kỳ bus. Khi bộ nhớ đưa tín hiệu ổn định → đảo chiều

LOẠI BUS GIAO THỨC TRUYỀN THÔNG - BUS ĐỒNG BỘ - SYNCHRONOUS BUS

Bảng giá trị tới hạn của các thông số

Ký hiệu

Tham số

Min (ns) Max (ns)

Thời gian trễ của địa chỉ

110

TAD

60

Thời gian địa chỉ ổn định trước 𝑀𝑅𝐸𝑄

TML

85

Thời gian trễ của 𝑀𝑅𝐸𝑄 so với cạnh âm của T1

TM

85

Thời gian trễ của RD so với sườn xuống của tín hiệu đồng hồ T1

TRL

50

TDS

Thời gian thiết lập dữ liệu trước sườn xuống của tín hiệu xung clock (tín hiệu đồng hồ)

85

TMH

Thời gian trễ của 𝑀𝑅𝐸𝑄 so với sườn xuống của tín hiệu đồng hồ T3

85

Thời gian trễ của RD so với sườn xuống của tín hiệu đồng hồ T3

TRH

0

Thời gian lưu trữ dữ liệu từ lúc đảo tín hiệu RD

TDH

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

LOẠI BUS GIAO THỨC TRUYỀN THÔNG - BUS ĐỒNG BỘ - SYNCHRONOUS BUS

• 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.

• Thao tác đọc khối: bus master báo cho slave biết số byte cần được truyền đi , với n+2

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

chu kỳ clock cho n byte dữ liệu.

LOẠI BUS GIAO THỨC TRUYỀN THÔNG - BUS BẤT ĐỒNG BỘ - ASYNCHRONOUS BUS

• Không sử dụng xung clock đồng bộ, có thể

kéo dài chu kỳ tùy ý.

• Khắc phục nhược điểm của bus đồng bộ

(tốc độ thấp, khó ổn định khi đặt vào các

thiết bị đòi hỏi hoạt động nhanh) bằng

phương pháp bắt tay toàn phần - 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.

Chu kỳ đọc trong bus bất đồng bộ

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

LOẠI BUS GIAO THỨC TRUYỀN THÔNG - BUS BẤT ĐỒNG BỘ - ASYNCHRONOUS BUS

• 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ộ, do:

o Hệ thống sử dụng bus đồng bộ dễ thiết kế hơn.

o Vi xử lý dễ dàng truy cập bộ nhớ mà không cần tín hiệu phản hồi.

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

o Chỉ cần 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

LOẠI BUS TÍN HIỆU TRUYỀN - BUS DỮ LIỆU

• Cung cấp một đường truyền tải dữ liệu giữa các hệ

o 8088 => m=8

thống mô đun.

o 8086 => m=16

• Bao gồm 32, 64, 128 hoặc hơn các loại dây dẫn riêng

o 80386 => m=32

biệt phụ thuộc vào độ rộng bus (vì mỗi dây chỉ có thể

o Pentium => m=64

vận tải 1 bit cho mỗi lần truyền tải).

• Độ rộng của bus dữ liệu là tác nhân chính để đánh giá

hiệu suất tổng quát của hệ thống. Ví dụ: Bus dữ liệu có

độ rộng là 32 bits và mỗi lệnh dài 64 bits ➔ Bộ xử lý

phải truy cập bộ nhớ 2 lần cho mỗi chu kỳ lệnh.

• Ví dụ Bus dữ liệu trên 1 số bộ vi xử lý:

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

LOẠI BUS TÍN HIỆU TRUYỀN - BUS ĐỊA CHỈ

• Các dây dẫn địa chỉ có chức năng xác định nguồn hoặc vị trí đích của dữ liệu trên bus dữ

liệu, định địa chỉ cho các cổng I/O (input/output). Ví dụ: để đọc một dữ liệu (8, 16 hoặc 32

bits) từ bộ nhớ, bộ vi xử lý sẽ đặt địa chỉ của dữ liệu vào các dây dẫn địa chỉ.

• Độ rộng của bus địa chỉ xác định mức tối đa lưu trữ mà bộ nhớ hệ thống có thể thực hiện

(khả năng quản lý cực đại số các ngăn nhớ).

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

LOẠI BUS TÍN HIỆU TRUYỀN - BUS ĐỊA CHỈ

• Ví dụ Bus địa chỉ của 1 số bộ vi xử lý:

o 8088/8086

n=20

220 (1MB)

o 80286

n=24

224 (16MB)

o 80386

n=32

232 (4GB)

o Pentium II, III, IV

n=36

2𝑛(64GB)

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

LOẠI BUS TÍN HIỆU TRUYỀN - BUS ĐIỀU KHIỂN

• Điều khiển phần truy cập và sử dụng của bus dữ liệu và bus địa chỉ. Vì các dây dẫn

dữ liệu và các dây dẫn địa chỉ được chia sẻ qua nhiều thành phần trong hệ thống,

nên cần có bộ phần quản lý khả năng sử dụng các dây dẫn.

• Tín hiệu điều khiển vận chuyển câu lệnh và thời gian tính toán giữa các hệ thống

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

mô đun.

LOẠI BUS TÍN HIỆU TRUYỀN - BUS ĐIỀU KHIỂN

• Các loại dây dẫn điều khiển:

o Ghi bộ nhớ (Memory write): chuyển dữ liệu vào vị trí địa chỉ đã định.

o Đọc bộ nhớ (Memory read): chuyển dữ liệu từ địa chỉ lên bus.

o Ghi I/O (I/O write): chuyển dữ liệu trên bus vào địa chỉ cổng I/O.

o Đọc I/O (I/O read): chuyển dữ liệu từ cổng I/O để lưu vào bus.

o Truyền tải ACK (Transfer ACK): trong trường hợp dữ liệu được chấp thuận để lấy hoặc ghi lên bus.

o Yêu cầu bus (bus request): trong trường hợp mô đun cần điều khiển bus.

o Truy cập bus (bus grant): trong trường hợp mô đun yêu cầu được quyền truy cập điều khiển vào bus.

o Ngắt yêu cầu (interrupt request): trong trường hợp ngắt được thêm vào.

o Ngắt ACK (interrupt ACK): Phần ngắt thêm vào đã được nhận biết.

o Xung nhịp (clock): được sử dụng cho các hoạt động đồng bộ.

o Khởi động lại (reset): Khởi động lại toàn bộ mô đun.

CÁC LOẠI MÁY VI TÍNH VÀ CẤU TRÚC BUS TƯƠNG ỨNG

• Máy PC/XT và bus PC

• Máy PC/AT và bus ISA

• Bus MCA, bus EISA

• Bus PCI

• Bus nối tiếp vạn năng (USB)

• Bus IEEE 1394

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

• Bus cục bộ

MÁY PC/XT VÀ BUS PC

• Ra đời để phục vụ kiến trúc intel 8086.

• Tần số xung nhịp: 8.33 MHz.

• Độ rộng bus: 8 bit.

• Băng thông tối da: 8.33 MB/s

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

• Bus địa chỉ: 20 dây.

MÁY PC/AT VÀ BUS ISA

• 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, phục vụ kiến

trúc Intel 80286.

• Tần số làm việc cực đại: 8.33 MHz (tốc độ truyền

tải cực đại là 16.66 MBps với số liệu 2 bytes).

• Độ rộng bus: 8, 16 bits.

• Bus địa chỉ: 24 dây (quản lý được 16 MB bộ nhớ).

• Tương thích 90% với bus AT

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

BUS MCA

• 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.

• Bộ điều khiển bus hoạt động độc lập với bộ VXL.

• Hỗ trợ tự động cấu hình thiết bị (Plug And Play).

• Độ rộng dữ liệu: 16/32 bit.

• Bus không đồng bộ.

• Băng thông: 160MB/s.

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

BUS EISA

• Phiên bản cải tiến của bus ISA.

• Hỗ trợ thiết bị ngoại vi 32 bit.

• Tốc độ cao hơn bus ISA.

• Hỗ trợ khe cắm EISA (Extented ISA).

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

• Tương thích với chuẩn ISA

BUS EISA

• Tần số xung nhịp: 8.33MHz.

• Độ rộng bus: 32.

• Băng thông: 33.32MB/s.

• Quản lí không gian bộ nhớ: 4GB.

inch), dài 333.5 mm (13.13 inch), rộng: 12.7

• Kích thước tiêu chuẩn EISA: cao 127mm (5

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

mm (0.5 inch).

BUS PCI - PERIPHERAL COMPONENT INTERCONNECT

• Chuẩn kết nối thành phần ngoại vi (Peripheral

Component Interconnect).

• Ra đời 1993.

• Khe cắm PCI không tương thích với chuẩn ISA

và EISA.

• Tần số xung nhịp: 33MHz hoặc 66MHz.

• Độ rộng bus: 32/64 bit.

• Băng thông: 132 MB/s, hoặc 264 MB/s.

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

BUS PCI - PERIPHERAL COMPONENT INTERCONNECT

• Điểm mạnh: dữ liệu được truyền tải theo kiểu cụm (burst).

→ Địa chỉ chỉ truyền đi 1 lần, những lần còn lại hệ thống sẽ 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.

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

• Tốc độ truyền tối đa trong kiểu burst có thể lên đến 120MBps.

BUS PCI - PERIPHERAL COMPONENT INTERCONNECT

• Nâng cấp PCI thành PCI-X cho phép nâng tốc độ trao đổi dữ liệu gấp đôi so với PCI.

• Ra đời 1999.

• Tần số xung nhịp: 133MHz.

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

• Băng thông: 1GB/s.

BUS NỐI TIẾP ĐA NĂNG

• Bus USB (Univeral Serial Bus).

• Cho phép kết nối với nhiều loại thiết bị: Bàn

phím, con chuột, màn hình, ổ đĩa,…

• Cho phép kết nối 127 thiết bị theo kiểu móc

xích.

• Chuẩn USB 1.0 và 1.1 có băng thông:

12Mbps.

• Chuẩn USB 2.0 băng thông: 480Mbps.

• Chuẩn USB tự nhận diện thiết bị.

• Gắn thêm thiết bị không cần khởi động lại

máy.

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

BUS NỐI TIẾP ĐA NĂNG

• USB tuân theo chuẩn truyền thông nối tiếp đồng bộ (Synchronuos serial).

• Thông tin trên USB gồm 3 gói:

o Gói thẻ (token packet): nơi khởi tạo token cho biết các loại truyền tải tiếp theo. o Gói dữ liệu (data packet): Dữ liệu thực tế truyền tải. o Gói thông tin móc nối (handshack packet): cho biết việc truyền tải thất bại hay thành công

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

BUS NỐI TIẾP ĐA NĂNG

• Bắt đầu truyền tin, máy chủ sẽ gửi đi 1 gói thẻ (token packet). Mỗi gói thẻ có

• cấu trúc như sau:

o 8 bit nhận dạng PID. o 7 bit địa chỉ. o 4 bit số hiệu điểm cuối và hướng truyền. o 5 bit kiểm tra lỗi CRC.

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

BUS NỐI TIẾP ĐA NĂNG

• Thiết bị ngoại vi trả lời bằng gói có định dạng như sau:

o 8 bit nhận dạng PID.

o 16 bit kiểm tra lỗi CRC.

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

o Các byte dữ liệu (1024 byte).

BUS NỐI TIẾP ĐA NĂNG

• Khi nhận được dữ liệu phía chủ sẽ trả lời bằng tín hiệu móc nối

o ACK: Chấp nhận.

o STALL: Tắc nghẽn.

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

o NACK: Không chấp nhận.

BUS IEEE 1394

• Bus hỗ trợ truyền thông đa phương tiện.

• Ra đời 1995.

• Băng thông: 100Mbps, 200Mbps, 400 Mbps.

• Tối đa 63 thiết bị được kết nối theo kiểu móc xích.

• Hỗ trợ 2 phương thức truyền: không đồng bộ và

đồng bộ.

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

Bài tập

• Tìm hiểu các chipset và các bus hiện đại

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính

• Xác định ưu và nhược điểm của các loại bus.

THANK YOU FOR YOUR ATTENTIONS

Khoa Công Nghệ Thông Tin – Đại học Sài Gòn

Kiến Trúc Máy Tính