Bài giảng Kiến trúc máy tính - Chương 3: Tổng quan về máy tính và hệ thống kết nối trong máy tính
Chương 3. Tổng quan về máy tính và
hệ thống kết nối trong máy tính
Phần I. Tổng quan về máy tính
3.1 Các thành phần của máy tính
3.2 Hoạt động của máy tính
Phần II. Hệ thống kết nối
3.3 Cấu trúc kết nối
3.4 Hệ thống bus
3.5 Kết nối điểm-điểm (Point-To-Point)
3.6 PCI Express
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 3: Tổng quan về máy tính và hệ thống kết nối trong máy tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính - Chương 3: Tổng quan về máy tính và hệ thống kết nối trong máy tính
+ Chương 3 Tổng quan về máy tính và hệ thống kết nối trong máy tính + Chương 3. Tổng quan về máy tính và hệ thống kết nối trong máy tính Phần I. Tổng quan về máy tính 3.1 Các thành phần của máy tính 3.2 Hoạt động của máy tính Phần II. Hệ thống kết nối 3.3 Cấu trúc kết nối 3.4 Hệ thống bus 3.5 Kết nối điểm-điểm (Point-To-Point) 3.6 PCI Express + 3.1. Các thành phần của máy tính Máy tính hiện đại ngày nay được thiết kế dựa trên kiến trúc von Neumann (Viện nghiên cứu Princeton) Kiến trúc Von Neumann có 3 điểm chính: Dữ liệu và lệnh được lưu trữ trên cùng một bộ nhớ đọc-ghi (RAM) Nội dung của dữ liệu được định vị theo vị trí (địa chỉ) mà không phụ thuộc vào kiểu dữ liệu. Các lệnh được thực thi một cách tuần tự (trừ trong một số trường hợp yêu cầu gọi đến câu lệnh khác). + Các thành phần của máy tính (tiếp) Phần mềm Một chuỗi các lệnh Khối CU làm chức năng phiên dịch từng lệnh và tạo ra tín hiệu điều khiển Quá trình thực hiện chương trình là truy xuất lệnh từ bộ nhớ và thực thi lệnh của CPU Phần cứng (3 thành phần chính) CPU CU: Khối điều khiển thực hiện chức năng biên dịch và thực thi lệnh ALU: Khối tính toán số học và logic Các Module vào/ra (I/O module) Module vào: bao gồm các thành phần cơ bản cho việc nhận vào dữ liệu và lệnh; chuyển đổi chúng thành dạng tín hiệu sử dụng bên trong hệ thống Module ra: công cụ để hiện thị kết quả Bộ nhớ trong (bộ nhớ chính): bộ nhớ ROM, RAM: lưu trữ lệnh, dữ liệu Bộ nhớ Cache: cải thiện hiệu suất của hệ thống Các thành phần của máy tính + Giải thích một số thanh ghi trong hình: Thanh ghi MAR (Memory Address Register) chứa địa chỉ trong bộ nhớ cho lần đọc hoặc ghi tiếp theo Thanh ghi MBR (Memory Buffer Register) dữ liệu được ghi vào bộ nhớ hoặc nhận dữ liệu được đọc từ bộ nhớ. Thanh ghi I/OAR (I/O Address Register) xác định một thiết bị I/O cụ thể. Thanh ghi I/O BR (I/O Buffer Register) được sử dụng để trao đổi dữ liệu giữa một mô-đun I/O và CPU. Thanh ghi PC (Program counter Register) chứa địa chỉ lệnh tiếp theo Thanh ghi IR (Instruction Register) chứa lệnh đang được thực thi + 3.2. Hoạt động của máy tính Hoạt động cơ bản của máy tính là thực hiện chương trình: a. Thực hiện lệnh: chu kỳ lệnh b. Thực hiện lệnh có xử lý ngắt c. Thực hiện các chức năng vào ra + 3.2. Hoạt động của máy tính Chức năng chính của máy tính là thực thi chương trình (một tập lệnh lưu trữ trong BN): VXL phải thực hiện lần lượt các lệnh Quá trình VXL thực hiện 1 lệnh gồm 2 bước: lấy lệnh (truy xuất) từ bộ nhớ và thực thi lệnh. Việc thực thi một chương trình là quá trình lặp đi lặp lại việc truy xuất và thực thi lệnh Quá trình thực hiện một lệnh được gọi là chu kỳ lệnh (instruction cycle) Quá trình truy xuất lệnh từ bộ nhớ được gọi là chu kỳ truy xuất (fetch cycle) Quá trình thực thi lệnh được gọi là chu kỳ thực thi (execute cycle) a. Thực hiện lệnh: chu kỳ lệnh + a. Truy xuất và thực thi lệnh Vào đầu mỗi chu kỳ lệnh, bộ xử lý truy xuất một lệnh từ bộ nhớ Thanh ghi PC (Program Counter) giữ địa chỉ của lệnh được truy xuất tiếp theo Bộ xử lý tăng PC sau mỗi lần truy xuất lệnh do đó nó sẽ truy xuất được lệnh tiếp theo vào lần sau. Lệnh vừa được truy xuất được tải vào thanh ghi IR (Instruction Register) Bộ xử lý biên dịch lệnh và thi hành những hành động cần thiết Chu kỳ truy xuất Chu kỳ lệnh cơ bản + CPU giải mã và thực hiện các hoạt động (action) tương ứng được chỉ ra trong mã lệnh (Opcode) Có 4 nhóm hoạt động chính của một CPU: Chu kỳ thực thi a. Truy xuất và thực thi lệnh • Dữ liệu truyền từ bộ xử lý đến bộ nhớ hoặc ngược lại Bộ xử lý – bộ nhớ • Dữ liệu truyền đến/đi từ thiết bị ngoại vi bằng cách truyền thông tin giữa bộ xử lý và module I/OBộ xử lý – I/O • Bộ xử lý có thể thực hiện một số phép toán số học hoặc logic trên dữ liệu Xử lý dữ liệu • Đưa ra lệnh chỉ rõ thứ tự thực hiện các lệnh bị thay đổi Điều khiển + Ví dụ việc thực hiện lệnh Máy giả thiết gồm một số thông tin cấu hình như sau: +Ví dụ Thực hiện lệnh Dữ liệu và lệnh được biểu diễn dưới dạng mã thập lục phân + Sơ đồ trạng thái chu kỳ lệnh + Ví dụ Máy giả thiết trong ví dụ trên có hai lệnh vào/ra sau: 0011 = Đọc dữ liệu từ module I/O vào thanh ghi AC 0111 = Ghi dữ liệu từ AC ra module I/O Biết các thiết bị ngoại vi được đánh địa chỉ 12b. Giải thích hoạt động của chương trình sau (giống Ví dụ 3.5): 1. Đọc dữ liệu từ thiết bị 5 vào thanh ghi AC. 2. Cộng AC với địa chỉ 940 của bộ nhớ. 3. Ghi AC ra thiết bị 6. Giả sử giá trị được lấy từ thiết bị 5 là 5 và địa chỉ bộ nhớ 940 có giá trị 7. + 3.2. Hoạt động của máy tính b. Xử lý ngắt Ngắt là một cơ chế máy tính cho phép các module khác (I/O, bộ nhớ có thể ngắt quá trình xử lý thông thường của BXL. Một số ngắt: Ngắt chương trình: Sinh ra bởi lỗi thi hành lệnh, ví dụ như tràn số học, lỗi chia cho 0, cố tình thực hiện các lệnh máy không hợp lệ, hoặc tham chiếu ngoài phạm vi bộ nhớ mà người sử dụng được phép Ngắt định thời: Sinh ra bởi đồng hồ nằm trong bộ xử lý. Nó cho phép hệ điều hành thực hiện các chức năng cơ bản nhất định. Ngắt I/O: Sinh ra bởi bộ điều khiển I/O, để báo hiệu hoàn thành một thao tác, yêu cầu dịch vụ từ bộ xử lý, hoặc báo hiệu các trường hợp lỗi Gián đoạn lỗi phần cứng: Gây ra bởi một số lỗi như lỗi nguồn hay lỗi bộ nhớ + Quá trình xử lý ngắt Ngắt được đưa vào chủ yếu như là 1 cách để để cải thiện hiệu quả xử lý: Trong trường hợp VXL thực hiện chương trình có trao đổi dữ liệu với I/O Do tốc độ của I/O chậm hơn rất nhiều so với VXL VXL phải đợi I/O Giải pháp: trong lúc chờ đợi I/O, VXL thực hiện tiếp các phần công việc khác đến khi I/O xong, nó sẽ gửi tín hiệu đến VXL (tín hiệu y/c ngắt) VXL dừng công việc đang làm (ngắt), phục vụ I/O VXL tiếp tục cv đang thực hiện Điều khiển dòng chương trình + Điều khiển ngắt + Chu kỳ lệnh có ngắt Sơ đồ trạng thái chu kỳ lệnh Có ngắt +Minh họa thời gian thực hiện chương trình +Định thời chương trình: Đợi I/O dài + Xử lý nhiều ngắt Trong trường hợp có nhiều ngắt, hai phương pháp để xử lý: Tắt ngắt Bộ vi xử lý sẽ bỏ qua các tín hiệu ngắt khác trong khi xử lý một yêu cầu ngắt Các yêu cầu ngắt đó sẽ phải chờ đến khi bộ xử lý xử lý xong ngắt hiện tại Sau khi thực thi xong một ngắt, bộ xử lý sẽ kiểm tra xem có ngắt nào đang chờ không. Các ngắt sẽ được xử lý lần lượt Xác định ưu tiên Cho phép các ngắt có mức độ ưu tiên cao hơn được ngắt các ngắt có mức độ ưu tiên thấp hơn + Nhiều ngắt Điều khiển ngắt + Trình tự thời gian của xử lý nhiều ngắt + c. Chức năng I/O Module I/O có thể chuyển dữ liệu trực tiếp với bộ xử lý Bộ xử lý có thể đọc dữ liệu từ hoặc ghi dữ liệu lên module I/O Bộ xử lý xác định thiết bị nào được điều khiển bởi module I/O nào Khi làm việc với module I/O, một chuỗi lệnh tương tự như P13 có thể được thực hiện chỉ khác ở các lệnh I/O chứ không phải là các lệnh tham chiếu đến bộ nhớ Cơ chế truy cập bộ nhớ trực tiếp (Direct Memory Access - DMA): cho phép I/O trao đổi dữ liệu trực tiếp với bộ nhớ Bộ xử lý cấp cho module I/O quyền đọc/ghi vào bộ nhớ do đó việc truyền tin giữa module I/O và bộ nhớ có thể diễn ra trực tiếp mà không cần thông qua bộ xử lý Giải phóng bộ XL khỏi nhiệm vụ điều khiển việc chuyển dữ liệu + 3.3 Cấu trúc kết nối Các thành phần chính (bộ vi xử lý, bộ nhớ, I /O) của máy tính cần được kết nối để trao đổi dữ liệu với nhau Một tập các đường kết nối tạo thành cấu trúc kết nối (Interconnection Structures) Cấu trúc này được thiết kế phụ thuộc vào cơ chế trao đổi dữ liệu giữa các thành phần máy tính. Cấu trúc kết nối hỗ trợ các hình thức truyền sau: Bộ nhớ tới bộ xử lý Bộ xử lý đọc 1 lệnh hoặc 1 đơn vị dữ liệu từ bộ nhớ Bộ xử lý tới bộ nhớ Bộ xử lý ghi 1 đơn vị dữ liệu vào bộ nhớ I/O tới bộ xử lý Bộ xử lý đọc dữ liệu từ thiết bị I/O thông qua I/O module Bộ xử lý tới I/O Bộ xử lý gửi dữ liệu tới thiết bị I/O I/O tới/từ bộ nhớ Module I/O được phép trao đổi dữ liệu trực tiếp với bộ nhớ mà không cần đi qua bộ xử lý nhờ DMA + Các dạng dữ liệu đến/đi từ các thành phần máy tính Bộ nhớ: T/h điều khiển đọc/ghi T/h địa chỉ Dữ liệu đi vào/ra Module I/O T/h điều khiển đọc/ghi T/h địa chỉ Dữ liệu bên trong (ngoài): dữ liệu đến từ CPU(thiết bị ngoại vi) Tín hiệu ngắt: phát ra từ module I/O gửi đến CPU Memory N Words 0 N – 1 Data Data Address Write Read I/O Module M Ports External Data Address Internal Data External Data Interrupt Signals Internal DataWrite Read CPU Figure 3.15 Computer Modules Data Data AddressInstructions Control Signals Interrupt Signals + Các dạng dữ liệu đến/đi từ các thành phần máy tính CPU Lệnh: truy xuất từ bộ nhớ Dữ liệu đến hoặc đi từ bộ nhớ hoặc I/O T/h ngắt: do I/O module gửi tới T/h địa chỉ: định vị một ô nhớ hoặc một tb ngoại vi T/h điều khiển Memory N Words 0 N – 1 Data Data Address Write Read I/O Module M Ports External Data Address Internal Data External Data Interrupt Signals Internal DataWrite Read CPU Figure 3.15 Computer Modules Data Data AddressInstructions Control Signals Interrupt Signals + Một số cấu trúc kết nối Cấu trúc kết nối phổ biến nhất: cấu trúc bus và cấu trúc đa bus (phần 3.4) Cấu trúc kết nối điểm – điểm: QPI (phần 3.5) và PCIe (phần 3.6) + 3.4 Kết nối Bus (hệ thống Bus) Bus: đường thông tin kết nối giữa 2 hay nhiều thiết bị. Là đường truyền chia sẻ: Tín hiệu truyền bởi 1 thiết bị bất kì có thể được nhận bởi tất cả các thiết bị khác kết nối với bus đó Nếu 2 thiết bị cùng truyền 1 lúc, tín hiệu của chúng sẽ bị chồng nhau và bị méo Một bus thường gồm nhiều đường, mỗi đường có khả năng truyền tín hiệu dưới dạng bit 1 và bit 0 Hệ thống máy tính có một số loại bus khác nhau cung cấp đường kết nối giữa các thành phần thuộc các cấp khác nhau của hệ thống máy tính Bus hệ thống Kết nối các thành phần chính của máy tính (bộ xử lý, bộ nhớ, module I/O) Gồm 50 đến 100 đường: Data bus (bus dữ liệu): gồm các đường truyền dữ liệu Address bus (bus địa chỉ): gồm các đường địa chỉ Control bus (bus điều khiển): các đường truyền tín hiệu điều khiển + a. Cấu trúc bus Gồm các đường dữ liệu (data lines) để truyền dữ liệu giữa các module hệ thống: data bus Data bus bao gồm 32, 64, 128 đường hay nhiều hơn Số lượng đường được xem là độ rộng của bus dữ liệu Số lượng đường nối quyết định bao nhiêu bit có thể truyền đi cùng một lúc Độ rộng bus dữ liệu là yếu tố chính quyết định hiệu suất toàn hệ thống Bus dữ liệu (data bus) + Bus địa chỉ Bus điều khiển Được sử dụng để xác định địa chỉ nguồn/đích của dữ liệu trên bus dữ liệu. Nếu bộ xử lý muốn đọc 1 word từ bộ nhớ, nó sẽ đặt địa chỉ của word đó lên đường bus địa chỉ. Độ rộng bus xác định dung lượng nhớ tối đa của hệ thống Cũng được sử dụng để xác định cổng vào/ra (I/O port) trên module I/O. Các bit cao được sử dụng để lựa chọn module cụ thể trên bus còn bit thấp dùng để chọn vị trí bộ nhớ hoặc cổng vào/ra trong module. Được sử dụng để điều khiển việc truy nhập và sử dụng dữ liệu và bus địa chỉ. Bởi vì dữ liệu và bus địa chỉ được chia sẻ cho tất cả các thành phần nên cần phải có một công cụ kiểm soát việc sử dụng chúng. Các tín hiệu điều khiển truyền cả thông tin lệnh và định thời giữa các mô đun hệ thống. Tín hiệu định thời xác định tính hợp lệ của dữ liệu và thông tin địa chỉ. Tín hiệu lệnh chỉ ra thao tác (operation) cần được thực hiện. VD: t/h điều khiển read/write + Ví dụ: đọc dữ liệu từ Bộ nhớ vào VXL CPU gửi: Địa chỉ qua bus địa chỉ Tín hiệu yêu cầu đọc (READ) qua bus điều khiển RAM: Nhận địa chỉ từ bus địa chỉ, giải mã địa chỉ Xác định yêu cầu: đọc dữ liệu Lấy dữ liệu từ ngăn nhớ đó đặt lên bus dữ liệu CPU: đọc dữ liệu từ bus dữ liệu, ghi vào thanh ghi. Loại bỏ các tín hiệu điều khiển và địa chỉ. Sơ đồ kết nối BUS CPU Memory Memory I/O Figure 3.16 Bus Interconnection Scheme Bus I/O Control lines Address lines Data lines Hoạt động của bus như sau: • Nếu một module muốn gửi dữ liệu đến một module khác nó phải làm ha việc: (1) yêu cầu việc sử dụng bus và (2) truyền dữ liệu qua bus. • Nếu một module yêu cầu dữ liệu từ một module khác, nó phải (1) yêu cầu sử dụng bus và (2) chuyển yêu cầu tới module khác qua bus điều khiển và địa chỉ. Sau đó phải chờ cho module thứ hai gửi dữ liệu. + b. Cấu trúc bus phân cấp Nếu một số lượng lớn các thiết bị được kết nối với bus, hiệu suất sẽ giảm. Hai nguyên nhân chính: 1. Nhiều thiết bị gắn vào bus, chiều dài bus càng dài và do đó trễ truyền càng lớn. 2. Hiện tượng nút cổ chai: lượng dl cần truyền quá lớn so với khả năng của bus. Khắc phục nhược điểm trên: Cấu trúc bus phân cấp Bus địa phương kết nối bộ vi xử lý với bus hệ thống qua cache: cách li bộ XL và bộ nhớ thực hiện DMA Bus hệ thống liên kết tất cả các module bộ nhớ chính Bus mở rộng kết nối các thiết bị ngoại vi: cho phép nối đc với nhiều tb ngoại vi hơn nhưng vẫn đảm bảo ko làm ảnh hưởng đến bus hệ thống khi dl truyền từ tb ngoại vi quá lớn + Kiến trúc truyền thống (Có cache) Cache System Bus Processor Main Memory Local I/O controller Expansion bus interface Network SCSI Modem Serial (a) Traditional Bus Architecture Expansion Bus Figure 3.17 Example Bus Configurations Local Bus Expansion bus interface FAX SCSI Modem Serial (b) High-Performance Architecture FireWire Graphic Main Memory Cache /BridgeProcessor Local Bus Video LAN System Bus High-Speed Bus Expansion Bus Cache System Bus Processor Main Memory Local I/O controller Expansion bus interface Network SCSI Modem Serial (a) Traditional Bus Architecture Expansion Bus Figure 3.17 Example Bus Configurations Local Bus Expansion bus interface FAX SCSI Modem Serial (b) High-Performance Architecture FireWire Graphic Main Memory Cache /BridgeProcessor Local Bus Video LAN System Bus High-Speed Bus Expansion Bus Kiến trúc hiệu suất cao + c. Các yếu tố trong thiết kế Bus Loại Dành riêng Ghép kênh Phương pháp trọng tài Tập trung Phân tán Định thời Đồng bộ Bất đồng bộ Độ rộng bus Địa chỉ Dữ liệu Loại truyền dữ liệu Đọc Ghi Đọc thay đổi ghi Đọc sau khi ghi Khối 1. Loại bus Chuyên dụng Ghép kênh 2. Phương pháp trọng tài Tập trung Phân tán 3. Định thời Đồng bộ Bất đồng bộ 4. Độ rộng bus Địa chỉ Dữ liệu 5. Loại truyền dữ liệu Đọc Ghi Đọc thay đổi ghi Đọc sau khi ghi Khối + 1. Các loại bus: chuyên dụng và ghép kênh. Bus chuyên dụng sử dụng cho một chức năng cụ thể: vd: bus dữ liệu, bus địa chỉ, bus điều khiển Ưu điểm: nhanh hơn, ít có xung đột bus Nhược điểm: tăng kích thước và chi phí Bus ghép kênh: các thông tin (dữ liệu, địa chỉ) được truyền trên cùng một đường. Sử dụng đường điều khiển AV (Address Valid control line). Khi bắt đầu, đ/c được đưa vào bus và đường AV được kích hoạt. Các module nhận địa chỉ, kiểm tra xem có phải đ/c của nó không. Thông tin đ/c được loại bỏ và một kênh truyền được thiết lập để truyền dữ liệu đọc hoặc ghi Ưu điểm: ít đường hơn, tiết kiệm không gian và chi phí Nhược điểm: mạch phức tạp hơn + 2. Phương pháp phân xử (trọng tài) Đôi khi, tại một thời điểm có nhiều module cần chiếm bus cần quyết định xem module nào có quyền sử dụng bus: phân xử (trọng tài) bus Phương pháp phân xử bus: tập trung và phân tán Phân xử tập trung: bộ điều khiển (bộ phân xử) phân bổ thời gian trên bus. Bộ điều khiển này có thể là một thiết bị riêng hoặc một phần của bộ XL Phân xử phân tán: mỗi module chứa một access control logic và chúng làm việc cùng nhau để chia sẻ đường truyền + 3. Định thời Định thời là cách các sự kiện được phối hợp truyền trên bus Hai loại: đồng bộ và không đồng bộ Định thời đồng bộ: Mỗi hoạt động truyền trên bus được thực hiện theo các xung đồng hồ Bus chứa một đường xung đồng hồ (clock line) truyền liên tiếp một chuỗi các bit 0, 1 Khoảng thời gian T được gọi là chu kỳ đồng hồ Tất cả các thiết bị trong máy tính đều đọc được và đồng bộ các hoạt động truyền theo xung này Figure 3.18 Timing of Synchronous Bus Operations Status signals Stable address Valid data in T1 T2 T3 Clock Status lines Data linesRead cycle Address lines Address enable Read Valid data out Data linesWrite cycle Write + 3. Định thời (tiếp) Định thời không đồng bộ Không sử dụng tín hiệu đồng hồ. Sau khi dữ liệu được đưa vào bus, bộ nhớ gửi một tín hiệu ACK để báo cho VXL biết việc đọc hoặc ghi dữ liệu Truyền đồng bộ: thực hiện đơn giản tuy nhiên ít linh hoạt hơn truyền không đồng bộ Việc truyền theo xung đồng hồ đôi khi làm giảm hiệu suất hệ thống Truyền không đồng bộ: hiệu quả hơn trong trường hợp nhiều thiết bị có tốc độ xử lý khác nhau chia sẻ chung bus Status lines Status signals (a) System bus read cycle Address lines Read Stable address Data lines Valid data Figure 3.19 Timing of Asynchronous Bus Operations Acknowledge Status lines Status signals (b) System bus write cycle Address lines Write Stable address Data lines Valid data Acknowledge Status lines Status signals (a) System bus read cycle Address lines Read Stable address Data lines Valid data Figure 3.19 Timing of Asynchronous Bus Operations Acknowledge Status lines Status signals (b) System bus write cycle Address lines Write Stable address Data lines Valid data Acknowledge + Bài tập 1. Xét một hệ thống máy tính có độ rộng bus địa chỉ là 16b, bus dữ liệu là 16b. a. Không gian địa chỉ bộ nhớ là bao nhiêu? b. Dung lượng tối đa của bộ nhớ là bao nhiêu nếu kích thước mỗi ngăn nhớ là 16b 2. Xét VXL 32b, với bus dữ liệu có độ rộng 16b, hoạt động với tốc độ đồng hồ 8MHz. Giả sử một chu kỳ bus = 4 chu kỳ đồng hồ. Tính tốc độ dữ liệu tối đa được truyền qua bus (theo B/s). Nếu tăng bus dữ liệu lên 32 đường, liệu hiệu suất của hệ thống có được cải thiện? + 3.5. Kết nối điểm - điểm Nhược điểm của hệ thống kết nối bus: Tốc độ của bus đồng bộ không cao do khó khăn trong việc tăng tần số tín hiệu đồng hồ. Khi tốc độ dữ liệu cao, việc thực hiện các chức năng đồng bộ và phân xử bus một cách kịp thời trở nên khó khăn hơn Với chip đa nhân, nếu sử dụng bus để kết nối, trao đổi dữ liệu giữa các nhân sẽ không đáp ứng được tốc độ VXL giảm hiệu suất. Giải pháp: kết nối điểm-điểm: có độ trễ thấp, tốc độ dữ liệu cao, và khả năng mở rộng tốt hơn. 2 loại kết nối điểm – điểm: QPI và PCIe +Đường dẫn nhanh (Quick Path Interconnect) Được giới thiệu vào năm 2008 Nhiều kết nối trực tiếp Các kết nối từng cặp trực tiếp tới các thành phần khác giúp loại bỏ việc phân xử thường thấy trong các hệ thống truyền dẫn chia sẻ. Kiến trúc giao thức phân lớp Những kết nối của bộ xử lý sử dụng kiến trúc giao thức phân lớp chứ không chỉ đơn giản sử dụng tín hiệu điều khiển thường thấy trong sắp xếp các bus chia sẻ. Truyền dữ liệu gói Dữ liệu được gửi thành 1 chuỗi các gói chứa tiêu đề điều khiển (header) và mã kiểm soát lỗi. QPI Cấu hình chip đa nhân sử dụng QPI Figure 3.20 Multicore Configuration Using QPI Core A I/O Hub I/O Hub Core B Core C Core D D R A M I/ O d e v ic e I/ O d e v ic e D R A M D R A M D R A M I/ O d e v ic e I/ O d e v ic e QPI PCI Express Memory bus + Các lớp QPI QPI được định nghĩa là một kiến trúc bốn lớp, bao gồm các lớp sau: Vật lý: Bao gồm dây dẫn mang tín hiệu, cũng như mạch và logic để hỗ trợ các tính năng truyền và nhận các bit 1 và 0. Đơn vị chuyển giao ở lớp này 20 bit, được gọi là Phit (physical unit). Liên kết: Chịu trách nhiệm truyền tin cậy và điều khiển luồng. Đơn vị dữ liệu của lớp Liên kết là một Flit 80-bit (flow control unit) Định tuyến: Cung cấp một framework để chuyển các gói dữ liệu Giao thức: Bộ quy tắc để trao đổi các gói tin dữ liệu giữa các thiết bị. Một gói bao gồm một số không đổi các Flit. + a. Lớp vật lý Transmission Lanes Intel QuickPath Interconnect Port COMPONENT A COMPONENT B F w d C lk Reception Lanes R cv C lk Reception Lanes R cv C lk Transmission Lanes F w d C lk Figure 3.22 Physical Interface of the Intel QPI Interconnect Intel QuickPath Interconnect Port + b. Lớp liên kết #2n+1 #2n #n+2 #n+1 #n #2 #1 bit stream of flits #2n+1 #n+1 #1 QPI lane 0 #2n+2 #n+2 #2 QPI lane 1 #3n #2n #n QPI lane 19 Figure 3.23 QPI Multilane Distribution + b. Lớp liên kết (tiếp) Chức năng điều khiển lỗi Phát hiện và khắc phục lỗi bit, do đó tránh cho các lớp cao hơn gặp lỗi bit Thực hiện hai chức năng chính: điều khiển luồng và điều khiển lỗi. Vận hành trên cấp flit (flow control unit – đơn vị điều khiển luồng) Mỗi flit gồm 1 bản tin 72- bit và một mã kiểm soát lỗi 8-bit được gọi là cyclic redundancy check (CRC) Chức năng điều khiển luồng Cần thiết để đảm bảo rằng 1 thực thể QPI gửi không áp đảo 1 thực thể QPI nhận bằng cách gửi dữ liệu nhanh hơn khả năng xử lý dữ liệu và xoá bộ đệm để nhiều dữ liệu mới đến của phía nhận + c. Lớp giao thức và lớp định tuyến Được sử dụng để xác định đường đi mà một gói sẽ đi qua các kết nối hệ thống có sẵn Xác định bởi phần sụn và mô tả các đường dẫn mà một gói tin có thể đi theo Gói (packet) là đơn vị truyền Một chức năng quan trọng được thực hiện ở lớp này là giao thức liên kết bộ nhớ cache - đảm bảo rằng các giá trị bộ nhớ chính được giữ trong nhiều cache là phù hợp Một gói dữ liệu thông thường là một khối dữ liệu được gửi đến hoặc từ một bộ nhớ cache Lớp Định tuyến Lớp Giao thức + 3.6. Kết nối thiết bị ngoại vi Peripheral Component Interconnect (PCI) Một bus băng thông cao, độc lập với bộ xử lý, có thể hoạt động như một bus ngoại vi PCI cung cấp hiệu suất cao hơn cho các thiết bị I/O tốc độ cao (vd: card mạng, card màn hình, card ổ cứng) Nhóm quan tâm đặc biệt PCI (Special Interest Group - SIG) Được tạo ra để phát triển và duy trì tính tương thích của các đặc tính PCI PCI Express (PCIe) Cơ chế kết nối điểm-điểm nhằm thay thế cơ chế dựa trên bus như PCI Yêu cầu chính là dung lượng cao để hỗ trợ nhu cầu của thiết bị I / O tốc độ dữ liệu cao hơn, như Gigabit Ethernet Một yêu cầu khác là phải hỗ trợ các ứng dụng với luồng dữ liệu thời gian thực +Cấu hình PCIe Figure 3.24 Typical Configuration Using PCIe Chipset Core Core Gigabit Ethernet PCIe PCIe PCIe PCIe PCIePCIe PCIe PCIe–PCI Bridge Memory Memory Legacy endpoint PCIe endpoint PCIe endpoint PCIe endpoint Switch + Lớp giao thức PCIe Kiến trúc giao thức PCIe bao gồm các lớp sau: a. Vật lý (Physical): Bao gồm các dây dẫn thực tế mang tín hiệu, cũng như mạch và logic để hỗ trợ các tính năng cần thiết trong việc truyền và nhận các bit 1 và 0. b. Liên kết dữ liệu (Data link layer – DLL): Chịu trách nhiệm truyền tin cậy và điều khiển luồng. Các gói dữ liệu được tạo ra và được xử lý bởi DLL được gọi là gói DLLP. c. Giao dịch (Transaction Layer): Tạo ra và xử lý các gói dữ liệu được sử dụng để thực hiện các cơ chế truyền dữ liệu được tải/lưu trữ và cũng quản lý điều khiển luồng của các gói tin giữa hai thiết bị. Các gói dữ liệu của lớp này được gọi là gói TLP. + a. Lớp vật lý Phân phối đa tuyến PCIe B1B2B3B4B5B6B7 B0 byte stream PCIe lane 0 Figure 3.26 PCIe Multilane Distribution B4 B0 B5 B1 B6 B2 B7 B3 128b/ 130b PCIe lane 1 128b/ 130b PCIe lane 2 128b/ 130b PCIe lane 3 128b/ 130b Sơ đồ khối Truyền và nhận PCIe Figure 3.27 PCIe Transmit and Receive Block Diagrams Scrambler Differential Receiver Data recovery circuit Clock recovery circuit D+ 8b 130b 128b 130b1b 1b 1b D– 128b/130b Encoding Parallel to serial (a) Transmitter Serial to parallel Transmitter Differential Driver 128b/130b Decoding Descrambler (b) Receiver 8b 8b D+ D– +b. Lớp giao dịch PCIe Transaction Layer (TL) Nhận các yêu cầu đọc và ghi từ phần mềm phía trên TL và tạo ra các gói tin yêu cầu để truyền tới đích qua lớp liên kết (link layer) Hầu hết các giao dịch sử dụng kỹ thuật giao dịch phân chia Một thiết bị PCIe nguồn gửi 1 gói tin yêu cầu đi, sau đó đợi 1 phản hồi gọi là gói hoàn thành (completion packet) Bản tin TL và một số giao dịch ghi là giao dịch gửi (nghĩa là không cần có phản hồi) Định dạng gói TL hỗ trợ địa chỉ bộ nhớ 32-bit và địa chỉ bộ nhớ 64-bit mở rộng + TL hỗ trợ bốn không gian địa chỉ: Bộ nhớ Không gian bộ nhớ bao gồm bộ nhớ chính của hệ thống và thiết bị I/O PCIe Các khoảng địa chỉ bộ nhớ nhất định được ánh xạ vào các thiết bị I/O Cấu hình Không gian địa chỉ này cho phép TL đọc/ghi các thanh ghi cấu hình kết hợp với các thiết bị I/O I/O Không gian địa chỉ này được sử dụng cho thiết bị PCI kế thừa, với dải địa chỉ dành riêng dùng để xác định các thiết bị I/O kế thừa Message Không gian địa chỉ này dành cho các tín hiệu điều khiển liên quan đến gián đoạn, xử lý lỗi, và quản lý năng lượng Các kiểu giao dịch TLP PCIe Address Space TLP Type Purpose Memory Read Request Memory Read Lock Request Memory Memory Write Request Transfer data to or from a location in the system memory map. I/O Read Request I/O I/O Write Request Transfer data to or from a location in the system memory map for legacy devices. Config Type 0 Read Request Config Type 0 Write Request Config Type 1 Read Request Configuration Config Type 1 Write Request Transfer data to or from a location in the configuration space of a PCIe device. Message Request Message Message Request with Data Provides in-band messaging and event reporting. Completion Completion with Data Completion Locked Memory, I/O, Configuration Completion Locked with Data Returned for certain requests. +Figure 3.28 PCIe Protocol Data Unit Format STP framing Sequence number ECRC LCRC (a) Transaction Layer Packet (b) Data Link Layer Packet STP framing A p p e n d ed b y P h y si ca l L a y er A p p en d ed b y D a ta L in k L a y er C re a te d b y T ra n sa ct io n L a y er C re a te d b y D L L 1 2 12 or 16 0 to 4096 0 or 4 4 1 Number of octets Data Header Start DLLP End 1 4 1 CRC2 A p p en d ed b y P L Định dạng Đơn vị dữ liệu Giao thức PCIe + Định dạng TLP - Yêu cầu bộ nhớ Figure 3.29 TLP Memory Request Format Type Requestor ID Tag Address [63:32] Address [31:2] R R Fmt Length 32 bits 1 6 o ct et s Attr RRR Traffic Class T E Last DW BE First DW BE E P + Tổng kết Thành phần máy tính Chức năng máy tính Lệnh truy xuất và thi hành Gián đoạn Chức năng I / O Cấu trúc kết nối Kết nối bus Cấu trúc bus Nhiều phân cấp bus Các yếu tố thiết kế bus Kết nối điểm-điểm Lớp vật lý QPI Lớp liên kết QPI Lớp định tuyến QPI Lớp giao thức QPI PCI Express Kiến trúc vật lý và logic PCI Lớp vật lý PCIe Lớp giao dịch PCIe Lớp liên kết dữ liệu PCIe Chương 3 Chức năng máy tính và kết nối + Câu hỏi 1. Nêu các nhóm chức năng chính của một hệ thống máy tính 2. Các bước thực hiện một lệnh được diễn ra như thế nào? 3. Hai phương pháp xử lý đa ngắt là gì? 4. Các loại tín hiệu truyền nào cần được hệ thống bus hỗ trợ? 5. Các ưu điểm của kiến trúc đa bus so với kiến trúc đơn bus là gì? 6. Các đặc điểm của kết nối điểm – điểm là gì? 7. Liệt kê các lớp của QPI. 8. Liệt kê các lớp của PCIe.
File đính kèm:
- bai_giang_kien_truc_may_tinh_chuong_3_tong_quan_ve_may_tinh.pdf