NỘI DUNG BÁO CÁO Nội dung báo cáo chia thành 3 phần : Phần 1 : Cấu trúc chung của một hệ vi xử lý, hệ thống bus và các chuẩn bus thông dụng trong quá trình phát triển của các hệ vi xử
Trang 1BÁO CÁO ĐỀ TÀI NCKH
Đề tài : Nghiên cứu tổ chức phần mềm máy tính đảm bảo cho hệ điện tử theo tiêu chuẩn PCI bus
Giáo viên hướng dẫn : KS Lê Trọng Nghĩa Nhóm nghiên cứu : 1 Lê Thanh Bình
2 Nguyễn Hoàng Việt
Trang 2Nội dung nghiên cứu cụ thể :
• Nghiên cứu cấu trúc và hoạt động của bus PCI 32bit/33MHz và 64bit/66MHz
• Tổ chức vi mạch giao diện PCI
• Đảm bảo chương trình
Trang 3NỘI DUNG BÁO CÁO
Nội dung báo cáo chia thành 3 phần :
Phần 1 : Cấu trúc chung của một hệ vi xử
lý, hệ thống bus và các chuẩn bus thông dụng trong quá trình phát triển của các hệ
vi xử lý
Trang 4NỘI DUNG BÁO CÁO
Nội dung báo cáo chia thành 3 phần :
Phần 1 : Cấu trúc chung của một hệ vi xử
lý, hệ thống bus và các chuẩn bus thông dụng trong quá trình phát triển của các hệ
vi xử lý
Phần 2 : Cấu trúc và hoạt động của bus PCI
Trang 5NỘI DUNG BÁO CÁO
Nội dung báo cáo chia thành 3 phần :
Phần 1 : Cấu trúc chung của một hệ vi xử
lý, hệ thống bus và các chuẩn bus thông dụng trong quá trình phát triển của các hệ
vi xử lý
Phần 2 : Cấu trúc và hoạt động của bus PCI
Phần 3 : Giải pháp thiết kế hệ điện tử
hoạt động theo chuẩn PCI
Trang 6I CẤU TRÚC CHUNG CỦA MỘT HỆ VI
XỬ LÝ, HỆ THỐNG BUS VÀ CÁC CHUẨN BUS THÔNG DỤNG TRONG QUÁ TRÌNH PHÁT TRIỂN CỦA CÁC
HỆ VI XỬ LÝ
1 Cấu trúc chung của hệ vi xử lý
Một hệ vi xử lý bao gồm: bộ xử lý trung tâm,
bộ nhớ và bộ giao tiếp thiết bị ngoại vi Các khối này giao tiếp với nhau thông qua hệ thống bus
Trang 8
2 Hệ thống bus và các chuẩn bus thông dụng trong quá trình phát triển của các hệ vi xử lý
Như vậy, có thể coi bus là “ hệ thống giao thông” của một hệ vi xử lý, nó đóng vai trò không thể thiếu trong bất kỳ hoạt động nào của
hệ vi xử lý Tốc độ, hiệu quả và độ tin cậy trong hoạt động của hệ vi xử lý phụ thuộc rất nhiều vào hệ thống bus mà nó sở hữu
Sau đây chúng ta sẽ tìm hiều một số chuẩn bus thông dụng
Trang 93.1 Bus kiến trúc tiêu chuẩn công nghiệp ISA ( Industry Standard Architure )
Đây là bus 16 bit, đầu tiên được xây dựng để dùng cho các máy tính AT vào những năm đầu của thập niên 80 của thế kỷ 20 Bus này có khe cắm 62 chân , bao gồm bus dữ liệu D0 - D7, bus địa chỉ A0 - A19, các tín hiệu điều khiển IOR, IOW, MEMR, MEMW, một số tín hiệu điều khiển của board hệ thống và ngoại vi như DMA, bộ điều khiển ngắt
Trang 10
Năm 1984 cùng với sự ra đời của bộ vi xử lý
80286, bus này được bổ sung thêm 36 chân nữa
để phối hợp làm việc với bus dữ liệu 16 bit và bus địa chỉ 24 bit 36 chân bổ sung được dùng làm các đường dữ liệu từ D8 - D15, các đường địa chỉ A21 - A23, các tín hiệu điều khiển kênh DMA mới và một số tín hiệu điều khiển hệ thống khác nữa
Trang 11
Một số hạn chế của bus ISA:
- Đường dữ liệu bị hạn chế ở 16 bit
- Bus địa chỉ 24 bit làm hạn chế khả năng truy cập bộ nhớ cực đại qua khe cắm mở rộng là 16 Mb.
- Vấn đề diện dung, điện cảm của khe cắm
và nhiễu xuyên âm làm hạn chế tần số làm việc của bus ở ngưỡng 8 MHz
Trang 12
- Chuyển mạch DIP tương đối khó khăn và phức tạp
Trang 133.2 Bus kiến trúc vi kênh MCA ( Micro Channel Architecture )
Ra đời nhằm đáp ứng yêu cầu về tốc độ của bộ
vi xử lý 80386, MCA có sơ đồ bố trí chân và đặc tính tín hiệu hoàn toàn khác với bus AT Bus kiến trúc vi kênh có các đường dữ liệu và địa chỉ 32 bit có thể chuyển dữ liệu với Card
mở rộng dạng 8/16/32 bit, các chuyển mạch DIP và chân cắm được thay thế bằng cách sử dụng các thanh ghi điều khiển bằng phần mềm
để thiết lập cấu hình cho Card mở rộng
Trang 14Trên lý thuyết MCA có thể làm việc với tần số 30MHz Các chân tín hiệu được bố trí xen lẫn với các chân đất và chân nguồn làm giảm nhiễu xuyên âm và tổn hao, có mạch phân phối bus cho phép tổ chức thiết bị đa chủ bus Tuy vậy, khác với ISA là một kiến trúc mở, kiến trúc vi kênh MCA được IBM coi là kiến trúc bus độc quyền của mình và các hãng sản xuất máy nhái khác phải nộp khoản tiền bản quyền cho IBM khi sản xuất MCA Những yêu cầu nghiêm ngặt về bản quyền cộng với tính không tương thích của MCA đã khiến bus kiến trúc vi kênh này nhanh chóng bị các nhà sản xuất từ chối
Trang 153.3 Bus ISA cải tiến EISA ( Enhanced ISA )
EISA là chuẩn bus do nhóm G9 đề xướng Bus này được coi là bản nâng cấp của bus ISA nhằm đáp ứng với những yêu cầu về tốc độ của các bộ vi xử lý 80386 về sau Một trong những cải tiến đáng kể đó là nó có đường địa chỉ A23
- A31 và đường dữ liệu D16 - D31 để phối hợp với các bộ vi xử lý 80386/486/Pentium Các tín hiệu bổ sung được đặt giữa các chân ISA chứ không mở rộng khe cắm
Trang 16Chuẩn EISA có nhiều tính năng tiên tiến hơn như độ rộng kênh dữ liệu đạt 32 bit, Card thiết kế theo chuẩn này có hiệu quả làm việc cao và cũng có khả năng tự động đặt cấu hình cho Card Tuy nhiên chuẩn này không phải là chuẩn thông dụng vì thiết bị theo chuẩn này
có giá thành tương đối đắt và tốc độ của nó
( 8 Mhz ) chậm hơn nhiều so với các chuẩn giao tiếp bus cục bộ được xây dựng sau này
Trang 173.4 Bus cục bộ VL ( Vesa Local Bus )
Song song với sự phát triển của các phần mềm đồ họa, các chuẩn bus cũ với tốc độ thấp, băng thông hẹp ngày càng không đáp ứng được yêu cầu của các bộ vi xử lý, thậm chí trong nhiều trường hợp, chúng trở thành gánh nặng cản trở khả năng thi hành của bộ vi
xử lý
Trang 18Những yêu cầu thực tế đã thúc đẩy hiệp hội chuẩn điện tử video VESA ( Video Electronic Standars Association ) chuyển sang thiết kế bus cục bộ nhằm mục đích truy nhập bus hệ thống với tốc độ xấp xỉ tốc độ bộ vi xử lý, cải thiện băng thông, nâng cao độ tin cậy và giảm giá thành nhờ chuẩn hóa Sự ra đời của bus cục bộ đã giải quyết được vấn đề xung quanh tốc độ xử lý của bus, ít ra là để bộ vi xử lý không phải chịu một gánh nặng do bus chậm
Trang 19Đặc điểm chính của bus VL như sau :
• Bus VL ( phiên bản 1.0 ) là bus 32 bit
• Bus VL có thể làm việc ở tần số lên tới 33 MHz và có tối đa 3 khe cắm mở rộng Các khe cắm có thể đạt tốc độ 40 MHz nếu như số lượng giảm xuống còn 2 và 50 MHz nếu số khe cắm là 1
• Bus VL không có chuẩn đặt cấu hình tự động
Trang 203.5 Bus cục bộ PCI ( Peripheral Component Interconnect )
Ra đời nhằm mục đích thiết lập một chuẩn giao tiếp có hiệu suất cao, mức tiêu thụ năng lượng thấp, bus cục bộ PCI đã nhanh chóng được các nhà sản xuất chấp nhận và coi đó như một chuẩn bus mặc định trong các bo mạch chủ Với những ưu điểm vượt trội của mình, ngày nay các khe cắm PCI đã hoàn toàn thay thế các khe cắm ISA trên các bo mạch máy tính được sản xuất Hình dưới đây mô tả các băng thông
có thể có của bus PCI :
Trang 22Như vậy băng thông của PCI có thể đạt tới
528 Mb/s Đây là thông lượng cực đại mà bus PCI có thể đạt được, tương ứng với nó là chuẩn PCI 64bit/66MHz
Trang 23Trong một hệ thống sử dụng bus PCI, thành phần PCI và các card giao tiếp được xử lý hoàn toàn độc lập với nhau, cho phép một quá trình trao đổi dữ liệu cố định và có thể sử dụng với cấu trúc đa xử lý Xử lý độc lập cho phép bus cục bộ PCI tối ưu hoá các chức năng vào ra, cho phép đồng thời thực hiện các thao tác trên bus cục bộ cùng bộ vi xử lý, các
hệ thống nhớ, các thiết bị ngoại vi có hiệu suất cao như hình ảnh động, LAN, SCSI, FDDI, ổ đĩa cứng… nâng cao hình ảnh và hiển thị đa phương tiện (đồ họa 3 chiều)
Trang 24Phần đuôi mở rộng của bus địa chỉ và dữ liệu 32bit được tăng gấp đôi độ rộng băng thông có tác động hồi tiếp và chuyển tiếp phù hợp với những thiết bị ngoại vi theo chuẩn PCI.
Trên các máy tính PC chuẩn bus cục bộ PCI được xây dựng thành một hệ thống để có thể liên kết cùng một lúc nhiều thiết bị ngoại vi với bo mạch chủ Chính điều này đã giúp cho chuẩn bus cục bộ PCI không bị lỗi thời và ngày càng phát triển khi các công ty sản xuất máy tính đã mặc định xây dựng hệ thống bus PCI trên các bo mạch chủ của máy tính PC
Trang 25Và như vậy chuẩn bus cục bộ PCI đã ngày càng phát triển và trở thành chuẩn giao tiếp thông dụng nhất với các bộ vi xử lý tốc độ cao hiện nay như Pentium
Trang 26Một số đặc điểm chính của bus cục bộ PCI :
• Có đường dữ liệu 32bit và 64bit
• Có tốc độ 32Mhz ở phiên bản đầu và nâng lên 66Mhz ở các phiên bản sau
• Hỗ trợ truyền dữ liệu dạng khối
• Hỗ trợ việc làm chủ bus, cho phép thực hiện
đa xử lý mà với bất kỳ bộ vi xử lý nào cũng đều có thể trở thành thiết bị chủ và dành quyền điều khiển bus
Trang 27• Khả năng tương thích với chuẩn ISA, EISA
và MCA nhờ sử dụng các cầu nối PCI Bridge) Bus PCI độc lập so với bộ vi xử lí, nó là bus tầng dưới, không trực tiếp nối vào bus hệ thống, giữa bộ vi xử lí và bus PCI là thiết bị điều khiển PCI - một vi mạch
bus(PCI-to-có nhiệm vụ đồng bộ các tín hiệu hệ thống và tín hiệu bus để phối hợp hoạt động của chúng Cũng do khả năng này mà bus PCI có thể dùng cho bộ vi xử lý của Intel và cả của các hãng khác
Trang 28• Hỗ trợ card mở rộng 5v và 3,3v và cho phép chuyển dễ dàng từ hệ thống 5v sang 3,3v bằng việc sử dụng lẫy điện áp.
• Khả năng tạo cấu hình tự động bằng phần mềm
• Giảm nhiễu xuyên âm và bức xạ vô tuyến bằng cách sử dụng các chân Vcc hoặc chân đất ( Ground ) giữa 2 tầng tín hiệu
• Thực hiện các ngắt mức khởi phát và hỗ trợ việc chia sẻ ngắt
Trang 293.6 Cổng tăng tốc đồ họa AGP
( Accelerator Graphic Port )
Cổng tăng tốc đồ họa là cổng tốc độ cao giành riêng cho nhiệm vụ xử lý và hiển thị các đối tượng đồ họa, đặc biệt là các đối tượng đồ họa 3 chiều Nó được dành riêng cho card kết nối thiết bị hiển thị Giao diện AGP dựa trên tập hợp các thao tác mở rộng
và cải tiến của bus PCI
Trang 30Trong máy tính cổng tăng tốc đồ họa không thay thế hay hủy bỏ chuẩn PCI mà nó độc lập với bus PCI về mặt vật lý, logic và điện Nó dành riêng cho việc sử dụng các thiết bị hiển thị, còn tất cả các thiết bị vào/
ra khác sẽ vẫn ở trên bus PCI
Trang 31Giao diện AGP tối ưu hóa cho các ứng dụng đồ họa 3 chiều tốc độ cao bằng các biện pháp sau :
• Can thiệp sâu vào không gian nhớ
• Phân kênh địa chỉ và dữ liệu trên bus, vì thế bus có thể đạt hiệu suất gần 100%
• Với điện áp cung cấp 3.3V cho phép truyền dữ liệu một hoặc hai lần trong một nhịp xung clock 66 Mhz Thực tế có thể truyền được hơn
500 Mb/s
Trang 32• Một điện áp cung cấp nhỏ hơn nữa sẽ cho phép truyền dữ liệu 4 lần trong một nhịp xung clock 66 Mhz Lúc này tốc độ truyền có thể tăng lên đến 1 GB/s.
Trang 333.7 Giao diện tuần tự đa năng USB
( Universal Serial Bus )
USB là chuẩn truyền dữ liệu cho thiết bị ngoại vi được hãng Intel và Microsoft phát triển Chuẩn này cho phép các thiết bị kết nối với máy tính với một cổng vào duy nhất trên bảng mạch chủ thay vì nhiều đầu nối như trước đây
Trang 34Với khả năng Hot plug and play, Chuẩn USB loại trừ nhiều rắc rối trên khi cài đặt thiết bị ngoại vi, chẳng hạn như phải tháo máy để cài đặt card nối ghép, thay đổi các chuyển mạch, khai báo ngắt Hiện nay chuẩn USB 2.0 cho phép truyền dữ liệu đạt đến tốc độ 480Mb/s Trên bảng mạch chủ máy vi tính chỉ có duy nhất 1 khối điều khiển cho giao diện này, cho phép đồng thời quản lý 127 thiết bị ngoại vi bằng cách chia sẻ băng thông cho tất cả các thiết bị trên kênh trong cùng một thời điểm
Trang 35Nó có 4 đường tín hiệu: 2 đường cho nguồn
và 2 đường cho truyền dữ liệu Mỗi khi 1 thiết bị được cắm vào máy tính qua giao diện USB, nó sẽ được phát hiện và gán cho một địa chỉ tương thích với chíp điều khiển giao diện USB
Trang 363.8 PCI Express
Ra đời nhằm đáp ứng yêu cầu ngày càng cao
về tốc độ của các bộ vi xử lý mới, PCI Express được coi như một công nghệ quá độ trong khi chờ đợi các nhà sản xuất phát triển một kiến trúc bus I/O dài hạn hơn có tên là Future I/O Với những tính năng nâng cao so với bus PCI, PCI Express đã hoàn toàn loại bỏ mọi trở ngại đối với tốc độ của các hệ vi xử lý gặp phải do tốc độ của các bus Tốc độ cao nhất mà bus PCI Express có thể đạt được hiện nay là 10 Gb/s
Trang 37II CẤU TRÚC VÀ HOẠT ĐỘNG CỦA BUS PCI
Sơ đồ kiến trúc của một hệ thống bus cục bộ
PCI tiêu chuẩn như sau :
Trang 39Như trên đã thấy, bộ vi xử lý, cache, bộ nhớ được nối tới bus PCI qua một cầu nối PCI, nó cho phép bộ vi xử lý truy cập trực tiếp tới các thiết bị truyền theo chuẩn PCI khác như bộ nhớ, không gian địa chỉ vào/ra Đồng thời cầu PCI tạo ra đường truyền băng thông rộng và
có nhiều tính năng khác nhau
Trang 401 Các chân tín hiệu trên Slot PCI
1.1 Nhóm các chân hệ thống
1.2 Nhóm các chân địa chỉ và dữ liệu
1.3 Nhóm các chân điều khiển giao diện
1.4 Nhóm các chân báo lỗi
1.5 Nhóm các chân phân phối bus
1.6 Nhóm các chân ngắt
1.7 Nhóm các chân bổ sung
1.8 Nhóm các chân mở rộng 64bit
1.9 Nhóm các chân quét đường biên
1.10 Nhóm các chân giao tiếp quản lý hệ thống bus
Trang 412 Các lệnh bus
Các lệnh bus chỉ ra thao tác, thiết bị đích của một thực thi truyền dữ liệu được yêu cầu bởi thiết bị chủ Các lệnh bus được mã hoá đầy
đủ trên các chân C/BE3-C/BE0 và được phát trong pha địa chỉ Các lệnh bus này bao gồm:
Trang 443 Giao thức cơ bản của bus PCI
Phương thức trao đổi dữ liệu cơ bản của PCI
là truyền khối Theo phương thức này, các đường tín hiệu ADxx bắt đầu bằng thông tin
về địa chỉ cần truy nhập, tiếp theo là một hay nhiều nhịp dữ liệu trong khối đó Bus PCI cho phép truyền khối đối với cả bộ nhớ và cổng vào ra
Sự truyền dữ liệu trên bus PCI được điều khiển bởi 3 tín hiệu chính là FRAME#, IRDY# và TRDY#
Trang 454 Định địa chỉ trên bus PCI
Bus PCI xác định 3 không gian địa chỉ vật lý, bao gồm : Bộ nhớ, không gian địa chỉ vào/ra
và không gian địa chỉ cấu hình
Trang 465 Tổ chức không gian cấu hình cho bus PCI
Tất cả các đối tượng phải cung cấp đầy đủ thông
số cho thiết bị điều khiển bus PCI, thông tin này đặt trong 64 byte đầu tiên của 256 byte cấu hình Trong đó có hai thanh ghi quan trọng nhất là
thanh ghi trạng thái và thanh ghi lệnh Thanh ghi lệnh cho ta biết phần điều khiển thô trên những thiết bị có khả năng tạo và đáp ứng một chu kỳ hoạt động của bus PCI Thanh ghi trạng thái
dùng chứa các thông tin trạng thái để bus PCI liên hệ các sự kiện.
Trang 476 Các thao tác cơ bản trên bus PCI
Giao diện PCI có nhiều thao tác rất phức tạp, trong đó hai thao tác cơ bản nhất là đọc và ghi
dữ liệu Chi tiết về hai thao tác này được trình bày trong bản báo cáo chính
Trang 487 Sự kết thúc quá trình trao đổi dữ liệu
Sự kết thúc của giao dịch PCI có thể được bắt đầu bởi đối tượng điều khiển hoặc đối tượng
bị điều khiển chứ không kết thúc đơn phương Tất cả quá trình giao dịch sẽ được kết thúc khi tín hiệu FRAME# và IRDY# được chuyển về mức không tích cực Các dạng kết thúc giao dịch như sau :
Trang 497.1 Đối tượng điều khiển bắt đầu kết thúc quá trình giao dịch
7.2 Đối tượng bị điều khiển bắt đầu kết thúc quá trình trao đổi dữ liệu
7.3 Ngưng kết nối không cần sự kết thúc nhịp
dữ liệu
7.4 Sự giao dịch bị bãi bỏ bởi đối tượng bị điều khiển
7.5 Sự giao dịch trễ