Giới thiệu chung về Card HBA (Host Bus Adapter)

Card adapter bus cho máy chủ (Card HBA) là một bảng mạch và / hoặc Card IC cung cấp quá trình xử lý đầu vào / đầu ra (I / O) và kết nối vật lý giữa máy chủ và thiết bị lưu trữ. Vì Card HBA làm giảm gánh nặng cho bộ xử lý chủ trong các tác vụ lưu trữ và truy xuất dữ liệu, nên nó có thể cải thiện hiệu suất máy chủ. Card HBA và một hệ thống con đĩa được kết nối với nó đôi khi được gọi là kênh đĩa.

Định nghĩa chung về Card HBA  – Card  I/O kết nối bus I/O máy chủ và hệ thống bộ nhớ máy tính. Theo định nghĩa này, giống như card màn hình được kết nối với máy tính và bộ nhớ, NIC được kết nối với bus mạng và bộ nhớ, card SCSI-FC được kết nối với bus và bộ nhớ SCSI hoặc FC, chúng nên được coi là Card HBA. Card HBA bao gồm FC-Card HBA và iSCSI Card HBA và các Card HBA khác trong tương lai, nhưng Card HBA thường được sử dụng trong SCSI. Card  (adapter) và NIC được sử dụng cho FC, và NIC cũng được sử dụng cho mạng Ethernet và Token Ring.

Card HBA giải thích chi tiết cần thiết cho bạn?

Chúng ta biết rằng một máy tính hầu hết được kết nối bởi hai bus (tất nhiên, tình hình thực tế sẽ khác nhau, ở đây chỉ nói đến tình huống phổ biến, đơn giản), một bus gọi là bus hệ thống, gọi khác là bus I / O. Bus hệ thống trên CPU, bộ nhớ, bộ nhớ đệm, v.v., bus I / O là thiết bị ngoại vi và hiện nay phổ biến nhất là bus PCI. Hai bus được kết nối bằng một chip hoặc mạch bắc cầu. Ví dụ như thành phố, có hai con đường chính, một đường thuộc khu hành chính, một đường thuộc khu thương mại, ở giữa có bùng binh, hai con đường chính nối với nhau, hệ thống xe buýt giống như chính. đường trong quận, và xe buýt I / O giống như trục đường chính trong khu thương mại. Đơn vị băng thông bus hệ thống và bus I / O là Gbyte cần ghi nhớ,

Mặc dù tốc độ bus I/O thấp hơn nhiều so với băng thông bus hệ thống, dù kết quả là Gbyte để đo lường và chúng ta biết tốc độ của các thiết bị ngoại vi, thường chỉ là vài trăm nghìn tỷ, thậm chí hàng chục k thôi, làm thế nào để điều phối công việc? Thật dễ dàng, chúng ta sẽ tổ chức các thiết bị ngoại vi, kết nối với bus I / O! Card HBA đề cập đến Máy chủ lưu trữ và I / O BUS trực tiếp là một bộ chuyển đổi, nhưng cũng giống như một thợ sửa ống nước thường nói “vượt qua kép”. Vai trò của Card HBA là đạt được giao thức kênh nội bộ PCI hoặc Sbus và chuyển đổi giữa giao thức Fibre Channel.

Tầm quan trọng của Card HBA

Trong hệ thống lưu trữ SAN ban đầu, máy chủ và việc truyền dữ liệu chuyển mạch là thông qua sợi quang, bởi vì máy chủ là lệnh SCSI cho thiết bị lưu trữ, không thể lấy giao thức IP mạng LAN thông thường, do đó, nhu cầu sử dụng FC truyền tải, vì vậy SAN này được gọi là FC-SAN, và sau đó xuất hiện trong gói giao thức IP SAN , có thể lấy mạng LAN thông thường, vì vậy được gọi là IP-SAN, điển hình nhất hiện nay là ISCSI phổ biến.

Hai phương pháp này cần thực hiện thao tác giải nén gói dữ liệu nặng, do đó  hệ thống SAN hiệu suất cao yêu cầu một card mạng chuyên dùng để giải nén máy chủ để giảm gánh nặng cho bộ xử lý. NIC này được gọi là Card HBA, tất nhiên ngoài công việc giải nén, còn có thể cung cấp giao diện sợi quang (nếu cạc iSCSI Card HBA cung cấp giao diện RJ45 chung) cho kết nối chuyển mạch tương ứng; Về mặt vật lý, bạn có thể cắm Card HBA vào khe cắm PCI hoặc PCI như một card mạng, vì vậy việc sử dụng thiết bị này giống như một card mạng, và nhiều người nhầm lẫn nó với một NIC thông thường hoặc một card cáp quang thông thường. Tất nhiên, một số card iSCSI Card HBA có thể được sử dụng như một card mạng bình thường, nhưng nếu xét về giá cả thì rất không kinh tế.

Nguyên tắc của Card HBA

Giao thức truyền thông dữ liệu phổ biến giữa máy chủ và thiết bị lưu trữ là IDE, SCSI và Fibre Channel. Để đạt được giao tiếp giữa máy chủ và thiết bị lưu trữ, cần có cùng một giao thức truyền thông ở cả hai đầu của giao tiếp. Cạc điều khiển thường có sẵn trên thiết bị lưu trữ và bộ điều khiển triển khai một hoặc nhiều giao thức truyền thông cho phép chuyển đổi giữa các giao thức lưu trữ như IDE, SCSI hoặc Fibre Channel sang các giao thức hoạt động của thiết bị lưu trữ vật lý.

Giao thức truyền thông của máy chủ được thực hiện bởi một mạch tích hợp của cạc mở rộng hoặc bo mạch chủ, chịu trách nhiệm chuyển đổi giao thức bus máy chủ và giao thức lưu trữ IDE và SCSI. Ví dụ: trong PC, các tính năng của giao thức IDE có trên bo mạch chủ và bộ điều khiển đĩa của IDE có giao thức IDE. Do đó, đĩa IDE có thể được kết nối với đầu nối IDE trên PC.

Nếu đĩa chỉ hỗ trợ giao thức SCSI, thì không thể kết nối trực tiếp đĩa với PC. Bạn cần lắp cạc SCSI trên khe cắm mở rộng của PC và đĩa SCSI có thể được kết nối với cạc. Card SCSI cho phép chuyển đổi bus PC sang SCSI. Loại cạc SCSI này nhận ra chức năng là chức năng card adapter Bus máy chủ. Nếu đĩa chỉ hỗ trợ các giao thức Fibre Channel, thì giao thức Fibre Channel là bắt buộc trên máy chủ vì đặc tính tốc độ cao của Fibre Channel không được hỗ trợ bởi Bo mạch chủ chung và yêu cầu một card adapter bus máy chủ chuyên dụng. Sau khi máy chủ được cắm vào card adapter bus máy chủ, nó có thể được kết nối với đĩa hỗ trợ kênh sợi quang.

Cạc adapter bus chủ bên trong có một CPU nhỏ, một số bộ nhớ làm bộ nhớ đệm dữ liệu và kết nối kênh cáp quang và các thiết bị kết nối bus. Bộ xử lý trung tâm nhỏ này chịu trách nhiệm chuyển đổi các giao thức PCI và Fibre Channel. Nó còn có một số chức năng khác để khởi tạo cổng máy chủ kết nối với mạng Fibre Channel, hỗ trợ các giao thức lớp trên như mã hóa và giải mã TCP / IP, SCSI, 8B / 10B.

Card HBA giải thích chi tiết cần thiết cho bạn?

Mối quan hệ giữa cạc giao diện mạng cáp quang Cạc (NIC) và Card HBA

Do giao thức truyền dẫn khác nhau, card mạng có thể được chia thành ba loại, một là card Ethernet, loại còn lại là card mạng Fibre Channel và ba là card mạng iSCSI.

Card mạng Ethernet –  Tên của Card  Ethernet, giao thức truyền tải là giao thức IP, thường được kết nối với bộ chuyển mạch Ethernet thông qua cáp quang hoặc cáp xoắn đôi. Các loại giao diện được chia thành cổng quang và cổng điện. Cổng quang thường được truyền qua cáp quang , module giao diện thường là SFP  (tốc độ truyền GB) và GBIC  (1GB / s), giao diện tương ứng là SC, ST và LC. Loại giao diện thường được sử dụng hiện nay là RJ45, nó được sử dụng để kết nối với xoắn đôi, cũng có giao diện với cáp đồng trục, nhưng hiện nay nó được sử dụng ít hơn.

FC Card mạng –  hay còn gọi chung là card mạng cáp quang, tên khoa học là Fiber Channel Card HBA. Giao thức truyền tải là một giao thức Kênh Sợi và thường được kết nối với một bộ chuyển Kênh Sợi thông qua cáp quang . Loại giao diện được chia thành cổng quang và cổng điện. Giao diện quang thường thông qua cáp quang  để truyền dữ liệu, mô-đun giao diện thường là SFP  (tốc độ truyền 2Gb / s) và GBIC  (1Gb / s), giao diện tương ứng cho SC và LC. Loại giao diện của giao diện điện nói chung là chân DB9 hoặc HSSDC.

ISCSI Card mạng –  Tên của iSCSI Card HBA, giao thức Transport iSCSI và kiểu giao diện giống như card Ethernet.

Chúng tôi nói “card mạng cáp quang” thường đề cập đến cạc FC Card HBA, cắm vào máy chủ, bộ nhớ ngoài với bộ chuyển mạch quang; và cạc Ethernet quang thường được gọi là “Card Ethernet quang” cũng được đưa vào máy chủ, nhưng nó bên ngoài là bộ chuyển mạch Ethernet với cổng quang.

Nguồn: https://netsystemvn.com/

Các loại bộ nhớ và thiết bị lưu trữ

Cơ bản về: RAM và ROM

RAM (Bộ nhớ truy cập ngẫu nhiên): Bộ nhớ tạm thời, dễ mất dữ liệu khi tắt nguồn, dùng để lưu trữ dữ liệu trong lúc hệ thống đang hoạt động. Ví dụ: DDR4, DDR5.

ROM (Bộ nhớ chỉ đọc): Bộ nhớ không mất dữ liệu khi tắt nguồn, chứa firmware hoặc mã khởi động hệ thống.

DDR4 và DDR5

DDR4 (Double Data Rate 4): Thế hệ thứ tư của RAM, phổ biến trong các hệ thống hiện đại, có tốc độ cao, băng thông lớn và tiết kiệm điện năng.

DDR5 (Double Data Rate 5): Phiên bản nâng cấp của DDR4, cung cấp tốc độ truyền dữ liệu nhanh hơn, dung lượng lớn hơn và hiệu suất năng lượng tốt hơn.

Firmware và BIOS

Firmware: Phần mềm cố định được lập trình vào bộ nhớ chỉ đọc, kiểm soát hoạt động phần cứng ở cấp độ thấp.

BIOS (Hệ thống đầu vào/đầu ra cơ bản): Một dạng firmware đặc biệt, chịu trách nhiệm khởi tạo và kiểm tra phần cứng hệ thống khi khởi động trước khi bàn giao quyền kiểm soát cho hệ điều hành.

SRAM và DRAM

SRAM (Bộ nhớ tĩnh): RAM nhanh hơn và đắt hơn so với DRAM, không cần làm tươi (refresh) liên tục, thường được sử dụng làm bộ nhớ đệm (cache) trong CPU.

DRAM (Bộ nhớ động): RAM chậm hơn nhưng rẻ hơn SRAM, cần được làm tươi hàng nghìn lần mỗi giây, dùng làm bộ nhớ chính trong hầu hết các máy tính.

Thiết bị lưu trữ: HDD, SSD, USB Drive, Thẻ SD

HDD (Ổ cứng truyền thống): Thiết bị lưu trữ sử dụng đĩa từ quay, có dung lượng lớn với chi phí thấp nhưng tốc độ chậm hơn so với SSD.

SSD (Ổ cứng thể rắn): Sử dụng bộ nhớ flash, không có bộ phận chuyển động, tốc độ nhanh và bền hơn HDD nhưng chi phí cao hơn.

USB Drive (Ổ USB): Thiết bị lưu trữ di động, có thể ghi/xóa dữ liệu, tiện lợi để chuyển dữ liệu giữa các thiết bị.

SD Card (Thẻ nhớ SD): Dạng bộ nhớ flash di động, thường dùng trong máy ảnh, điện thoại thông minh và hệ thống nhúng.

Giao thức truyền thông SPI – Serial Peripheral Interface

SPI (tiếng Anh: Serial Peripheral Interface, tạm dịch: Giao diện Ngoại vi Nối tiếp) là một chuẩn truyền thông nối tiếp đồng bộ được sử dụng để truyền dữ liệu trong khoảng cách ngắn, thường được sử dụng trong các hệ thống nhúng. SPI được phát triển bởi Motorola vào giữa những năm 1980 và trở thành chuẩn de facto. Các ứng dụng tiêu biểu của SPI có thể kể đến như thẻ nhớ (Secure Digital cards) và giao tiếp màn hình LCD.

Các thiết bị hỗ trợ SPI giao tiếp ở chế độ chế độ song công toàn phần (full duplex), sử dụng mô hình master – slave với một master trên đường truyền. Thiết bị master khi đó sẽ khởi tạo frame cho việc gởi và nhận. Bus SPI hỗ trợ nhiều slave thông qua việc lựa chọn chân Chip Select (viết tắt: CS, hay còn gọi là Slave select, viết tắt là SS) kết nối từ master đến slave tương ứng với chân CS đó.

Đôi khi SPI cũng còn được gọi là bus nối tiếp bốn dây (four wire serial bus), để phân biệt với các loại bus nối tiếp đã có như three-wire, two-wire và one-wire.

Dù là một chuẩn truyền thông đồng bộ (khi yêu cầu xung clock để đồng bộ tín hiệu trên đường truyền) nhưng SPI khác với giao thức Synchronous Serial Interface (SSI), một giao thức truyền thông nối tiếp đồng bộ cũng sử dụng 4 dây. Giao thức SSI sử dụng dung sai tín hiệu và chỉ cung cấp một kênh truyền đơn hướng trong khi SPI hỗ trợ truyền thông giữa một master và nhiều slave.

Chân tín hiệu

Kết nối trên một SPI bus với một master và một slave

Bus SPI sử dụng 4 chân logic tín hiệu:

  • SCLK (Serial Clock): xung clock phát ra từ master
  • MOSI (Master Out Slave In): Dành cho việc truyền dữ liệu từ master đến slave. Chân MOSI ở master sẽ kết nối đến chân MOSI ở slave.
  • MISO (Master In Slave Out): Dành cho việc truyền dữ liệu từ slave đến master. Chân MISO ở master sẽ kết nối đến chân MISO ở slave.
  • CS/SS (Chip/Slave Select): Chân CS được master sử dụng để lựa chọn slave cần giao tiếp.

Ngoài ra, chân MOSI còn có các tên khác:

  • SIMO, MTSR: trên cả thiết bị master và slave
  • SDI, DI, DIN, SI: trên thiết bị slave
  • SDO, DO, DOUT, SO: trên thiết bị master

Chân MISO còn có các tên khác:

  • SOMI, MRST: trên cả thiết bị master và slave
  • SDO, DO, DOUT, SO: trên thiết bị slave
  • SDI, DI, DIN, SI: trên thiết bị master

Trong các thiết bị chỉ hoạt động ở chế độ slave, chân MOSI còn có tên SDI (Serial Data In) và MISO còn có tên SDO (Serial Data Out).

Chân Slave Select còn có các tên khác:

  • SS, SS, SSEL, nSS, /SS, SS# (slave select)
  • CS, CS (chip select)
  • CSN (chip select/enable)
  • CE (chip enable)

Hoạt động

Bus SPI hoạt động với một master với một hoặc nhiều slave.

Nếu một slave được master chọn để giao tiếp, chân SS khi đó sẽ được ghi mức LOW nếu slave này cho phép giao tiếp với master. Một số slave yêu cầu tín hiệu xung xuống ở chân SS để khởi tạo một kết nối master-slave, ví dụ như Maxim MAX1242 ADC, khi yêu cầu tín hiệu HIGH -> LOW. Với nhiều slave trên đường truyền SPI, mỗi slave này sẽ yêu cầu một chân SS tương ứng ở master cho quá trình giao tiếp.

Truyền dữ liệu

Truyền dữ liệu

Để bắt đầu quá trình truyền dữ liệu, master sẽ cấu hình xung clock để tương ứng với tần số hỗ trợ bởi slave, thường lên đến vài MHz. Master sau đó lựa chọn slave cần giao tiếp với chân SS tương ứng và ghi giá trị 0 lên chân này. Nếu có yêu cầu chờ trên đường truyền, ví dụ như quá trình chuyển đổi ADC đang diễn ra, master sẽ phải chờ trong khoảng thời gian đó trước khi khởi tạo xung clock.

Quá trình truyền dữ liệu song công diễn ra trên mỗi chu kỳ xung clock SPI. Master truyền một bit trên đường dây MOSI, và slave nhận bit này; cùng lúc đó, slave truyền một bit trên đường dây MISO và master nhận bit này. Quá trình này diễn ra kể cả khi master và slave chỉ cần thực thi truyền thông theo một chiều, ví dụ như master chỉ cần gởi data đến slave.

Quá trình truyền thường bao gồm 2 thanh ghi dịch với kích thước cố định, ví dụ như 8 bit, một thanh ghi dịch cho master và một thanh ghi dịch cho slave. Một cách trừu tượng, hai thanh ghi này được kết nối theo kiểu vòng. Khi đó, quá trình truyền sẽ bao gồm các bước:

Bước 1: Chân SS với slave tương ứng mà master muốn truyền/nhận sẽ được master ghi mức logic thấp

Bước 2: Bit MSB sẽ được truyền đi trước. Trong một xung clock, cả master và slave đều dịch ra 1 bit và đưa bit này đến bên slave hoặc master cần truyền tương ứng. Trong xung clock tiếp theo, ở mỗi bên nhận, bit được lấy mẫu trên đường truyền và được lưu như là bit LSB mới nhất trên thanh ghi dịch. Sau khi các bit trên thanh ghi dịch được đẩy ra hoặc đã nhận vào toàn bộ, cả master và slave đã hoàn tất việc trao đổi giá trị thanh ghi. Nếu nhiều data hơn cần được truyền đi, các thanh ghi dịch sẽ được load lại và quá trình trên được lặp lại.

Bước 3: Khi hoàn tất, master ngừng việc đảo xung clock và ngừng chọn chân SS với slave tương ứng. Khi đó chân SS sẽ được master ghi mức logic cao.

Việc truyền SPI thường là việc truyền 8 bit. Tuy nhiên cũng có các trường hợp mà nhiều hơn 8 bit được truyền đi, ví dụ như truyền 16 bit trong các bộ điều khiển màn hình cảm ứng hay các bộ giải mã tín hiệu âm thanh, như IC TSC2101 của Texas Instruments, hay truyến 12 bit với các bộ chuyển đổi DAC hoặc ADC.

Clock polarity và phase

Biểu đồ thời gian thể hiện CPOL và CPHA. Đường màu đỏ thể hiện xung SCK dẫn đầu, đường xanh thể hiện xung SCK còn lại.

Bên cạnh việc thiết lập tần số xung clock, SPI master còn phải cấu hình clock polarity (tạm dịch: cực của xung clock) và clock phase theo data. Tài liệu chính thức Motorola SPI Block Guide đặt tên 2 khái niệm này theo thứ tự là CPOL và CPHA (clock polarity và phase). 2 khái niệm này được dùng cho cả master và slave. Biểu đồ thời gian bên cạnh thể hiện CPOL và CPHA.

CPOL được xác định dựa trên xung SCK với:

  • CPOL = 0 khi xung dẫn đầu của 1 chu kỳ là xung cạnh lênh, xung còn lại là xung cạnh xuống.
  • CPOL = 1 khi xung dẫn đầu của 1 chu kỳ là xung cạnh xuống, xung còn lại là xung cạnh lên.

Giá trị của CPOL có thể được đảo lại bởi cổng NOT logic.

CPHA dựa trên việc định thời điểm (tức là phase) của dữ liệu bit tương ứng xung clock.

  • CPHA = 0 khi bit dữ liệu đầu ra đúng với xung SCK còn lại còn xung dẫn đầu rơi vào khoảng giữa của bit dữ liệu.
  • CPHA = 1 khi bit dữ liệu đầu ra đúng với xung SCK dẫn đầu còn xung còn lại rơi vào khoảng giữa của bit dữ liệu.

Từ đây, việc lựa chon các giá trị CPOL và CPHA sẽ tương ứng với 4 chế độ hoạt động trên SPI. 4 chế độ này được quy ước trên tất cả các dòng vi điều khiển có hỗ trợ SPI:

ModeCPOLCPHA
000
101
210
311

Chế độ SPI cũng thường được quy ước theo dạng tuple cho (CPOL, CPHA), ví dụ (0, 1) để chỉ CPOL=0 và CPHA=1.

Để truyền thông SPI thành công, cả master và slave phải có cùng chế độ (CPOL, CPHA). Việc lựa chọn 4 chế độ (CPOL, CPHA) không ảnh hưởng đến hiệu suất truyền SPI.

Kết nối từng slave độc lập

Một bus SPI với một master và 3 slave được kết nối độc lập

Mô hình phổ biến nhất của một bus SPI bao gồm một master kết nối với một hoặc nhiều slave, với các chân SCK, MOSI và MISO được nối đến tất cả các slave trên bus, mỗi slave sẽ kết nối đến một chân CS riêng trên master. Mỗi chân CS khi đó nên có một điện trở kéo lên để đảm bảo rằng chân CS đó luôn có mức logic xác định. Khi khởi tạo một giao tiếp SPI và một chân CS ứng với một slave được chọn. điện trở kéo lên này giúp ngăn chặn các chân CS của các slave phản hồi với master dù không được yêu cầu từ master này.

Kết nối daisy chain

Một bus SPI được kết nối theo mô hình daisy chain

Một số thiết bị triển khai SPI theo mô hình daisy chain, với chân MISO của slave đầu tiên được nối vào chân MOSI của slave thứ 2, và cứ thế tiếp tục như ở hình bên. Việc triển khai SPI trên mỗi slave khi đó cần phải đảm bảo rằng mỗi slave đó phải truyền đi được chính xác dữ liệu mà nó nhận được từ slave trước nó trong mỗi xung clock. Quá trình nhận và truyền dữ liệu đi trên các slave của bus SPI daisy chain sẽ kết thúc khi một chân/dây SS duy nhất trên bên được master ghi mức logic cao (chuyển từ logic thấp lên cao). Từ đó, mô hình SPI daisy chain chỉ sử dụng 1 chân SS trên đường truyền.

Nguồn: Wikipedia

FRU – Field Replaceable Unit – Bộ phận có thể thay thế tại hiện trường

FRU là một bảng mạch in , bộ phận hoặc cụm lắp ráp có thể được tháo ra nhanh chóng và dễ dàng khỏi 
máy tính hoặc thiết bị điện tử khác và được người dùng hoặc kỹ thuật viên thay thế mà không cần phải gửi toàn bộ sản phẩm hoặc hệ thống đến cơ sở sửa chữa. FRU cho phép một kỹ thuật viên thiếu kiến ​​thức chuyên sâu về sản phẩm có thể cô lập lỗi và thay thế các thành phần bị lỗi. Mức độ chi tiết của FRU trong một hệ thống ảnh hưởng đến tổng chi phí sở hữu và hỗ trợ, bao gồm chi phí dự trữ 
phụ tùng thay thế , nơi phụ tùng được triển khai để đáp ứng mục tiêu thời gian sửa chữa, cách thiết kế và triển khai các công cụ chẩn đoán, mức độ đào tạo cho nhân viên thực địa, liệu người dùng cuối có thể tự thay thế FRU của họ hay không, v.v.

FRU là các thành phần phần cứng của một thiết bị hoặc hệ thống có thể được thay thế tại chỗ mà không cần gửi toàn bộ thiết bị về trung tâm bảo hành hoặc nhà sản xuất. Những bộ phận này thường được thiết kế để dễ dàng tháo lắp nhằm giảm thời gian sửa chữa và bảo trì.

Ví dụ về FRU trong máy tính và thiết bị điện tử:

  • RAM (Bộ nhớ)
  • HDD/SSD (Ổ cứng)
  • PSU (Bộ nguồn)
  • Pin laptop
  • Card đồ họa
  • Quạt làm mát
  • Module mạng

FRU giúp giảm thời gian ngừng hoạt động của thiết bị, tiết kiệm chi phí sửa chữa và nâng cao hiệu suất vận hành trong môi trường doanh nghiệp cũng như cá nhân.

PCH – Platform Controller Hub – Trung tâm điều khiển nền tảng

Platform Controller Hub ( PCH ) là một họ chipset chip đơn của Intel , được giới thiệu lần đầu tiên vào năm 2009. Đây là sản phẩm kế thừa của Intel Hub Architecture , sử dụng hai chip – một cầu bắc và một cầu nam , và lần đầu tiên xuất hiện trong Intel Series 5 .

PCH kiểm soát một số đường dẫn dữ liệu và hỗ trợ các chức năng được sử dụng kết hợp với CPU Intel . Chúng bao gồm xung nhịp ( xung nhịp hệ thống ), Giao diện hiển thị linh hoạt (FDI) và Giao diện phương tiện trực tiếp (DMI), mặc dù FDI chỉ được sử dụng khi chipset được yêu cầu hỗ trợ bộ xử lý có đồ họa tích hợp . Do đó, các chức năng I/O được chỉ định lại giữa hub trung tâm mới này và CPU so với kiến ​​trúc trước đó: một số chức năng cầu bắc, bộ điều khiển bộ nhớ và làn PCIe , đã được tích hợp vào CPU trong khi PCH tiếp quản các chức năng còn lại ngoài các vai trò truyền thống của cầu nam. AMD có tương đương với PCH, được gọi đơn giản là chipset kể từ khi phát hành kiến ​​trúc Zen vào năm 2017. AMD không còn sử dụng tương đương của mình cho PCH, hub bộ điều khiển Fusion (FCH).

Tổng quan

Bộ điều khiển nền tảng Intel Cannon Lake Hub

Kiến trúc PCH thay thế Kiến trúc Hub trước đây của Intel , với thiết kế giải quyết tình trạng tắc nghẽn hiệu suất có vấn đề cuối cùng giữa bộ xử lý và bo mạch chủ . Theo Kiến trúc Hub, bo mạch chủ sẽ có một chipset hai mảnh bao gồm một chip cầu bắc và một chip cầu nam. Theo thời gian, tốc độ của CPU tiếp tục tăng nhưng băng thông của bus mặt trước (FSB) (kết nối giữa CPU và bo mạch chủ) thì không, dẫn đến tình trạng tắc nghẽn hiệu suất. 

Để giải quyết tình trạng tắc nghẽn, một số chức năng thuộc về chipset cầu bắc và cầu nam truyền thống đã được sắp xếp lại. Cầu bắc và các chức năng của nó hiện đã bị loại bỏ hoàn toàn: Bộ điều khiển bộ nhớ, các làn PCI Express cho các card mở rộng và các chức năng cầu bắc khác hiện được tích hợp vào đế CPU như một tác nhân hệ thống (Intel) hoặc được đóng gói trong bộ xử lý trên một đế I/O (AMD Zen 2).

PCH sau đó kết hợp một số chức năng còn lại của cầu bắc (ví dụ như xung nhịp) ngoài tất cả các chức năng của cầu nam, thay thế nó. Đồng hồ hệ thống trước đây là kết nối với một chip chuyên dụng nhưng hiện được kết hợp vào PCH. Có hai kết nối khác nhau giữa PCH và CPU: Giao diện hiển thị linh hoạt (FDI) và Giao diện phương tiện trực tiếp (Flexible Display Interface  DMI). FDI chỉ được sử dụng khi chipset yêu cầu hỗ trợ bộ xử lý có đồ họa tích hợp. Intel Management Engine cũng đã được chuyển đến PCH bắt đầu từ bộ xử lý Nehalem và chipset 5-Series . Thay vào đó, chipset của AMD sử dụng một số làn PCIe để kết nối với CPU đồng thời cung cấp các làn PCIe riêng của chúng, cũng được cung cấp bởi chính bộ xử lý. Chipset cũng chứa bộ nhớ BIOS không mất dữ liệu .

Với các chức năng của cầu bắc được tích hợp vào CPU, phần lớn băng thông cần thiết cho chipset hiện đã được giải quyết.

Phong cách này bắt đầu ở Nehalem và sẽ tiếp tục trong tương lai gần, thông qua Cannon Lake .

Loại bỏ dần

Bắt đầu với Haswell công suất cực thấp và tiếp tục với bộ xử lý Skylake di động , Intel đã kết hợp bộ điều khiển IO cầu nam vào gói CPU, loại bỏ PCH cho thiết kế hệ thống trong gói (SOP) với hai khuôn; khuôn lớn hơn là khuôn CPU, khuôn nhỏ hơn là khuôn PCH. Thay vì DMI , các SOP này trực tiếp phơi bày các làn PCIe, cũng như các đường SATA, USB và HDA từ bộ điều khiển tích hợp và các đường SPI/ I²C /UART/GPIO cho cảm biến. Giống như CPU ​​tương thích với PCH, chúng tiếp tục phơi bày các đường DisplayPort, RAM và SMBus . Tuy nhiên, bộ điều chỉnh điện áp tích hợp đầy đủ sẽ không có cho đến Cannon Lake.

FCH của AMD đã ngừng sản xuất kể từ khi phát hành dòng CPU Carrizo vì nó đã được tích hợp vào cùng một khuôn với phần còn lại của CPU. Tuy nhiên, kể từ khi phát hành kiến ​​trúc Zen, vẫn còn một thành phần gọi là chipset chỉ xử lý I/O tốc độ tương đối thấp như cổng USB và SATA và kết nối với CPU bằng kết nối PCIe. Trong các hệ thống này, tất cả các kết nối PCIe đều được định tuyến trực tiếp đến CPU. Giao diện UMI trước đây được AMD sử dụng để giao tiếp với FCH được thay thế bằng kết nối PCIe. Về mặt kỹ thuật, bộ xử lý có thể hoạt động mà không cần chipset; nó chỉ tiếp tục có mặt để giao tiếp với I/O tốc độ thấp. CPU máy chủ và máy tính xách tay AMD thay vào đó áp dụng thiết kế hệ thống trên chip (SoC) độc lập không yêu cầu chipset. 

Nguồn: Wikipedia (https://en.wikipedia.org/wiki/Platform_Controller_Hub)

Các loại linh kiện “nhớ”

Hệ thống nhúng có mặt ở khắp mọi nơi, tích hợp liền mạch vào cuộc sống hàng ngày của chúng ta. Nhưng điều gì đứng sau sự tin cậy và hiệu quả của chúng? Đó chính là việc sử dụng chiến lược các loại bộ nhớ khác nhau:

  1. NAND Flash: Một giải pháp lưu trữ không khả biến (không mất dữ liệu khi mất điện) nổi tiếng với dung lượng cao và độ bền lớn.
    • Ví dụ: Được sử dụng trong ổ cứng SSD để truy xuất và lưu trữ dữ liệu nhanh chóng, trở thành thành phần chủ chốt trong các thiết bị điện tử tiêu dùng như điện thoại thông minh và máy tính bảng.
  2. DRAM: Bộ nhớ khả biến cung cấp khả năng truy cập dữ liệu tốc độ cao.
    • Ví dụ: Đóng vai trò trung tâm trong sức mạnh tính toán của PC và máy chủ, hỗ trợ xử lý nhanh và đa nhiệm.
  3. EEPROM: Bộ nhớ không khả biến cho phép ghi và xóa dữ liệu bằng điện.
    • Ví dụ: Thành phần không thể thiếu trong các bộ điều khiển ô tô, cho phép xe lưu trữ các dữ liệu vận hành quan trọng và cài đặt của người dùng.
  4. NOR Flash: Được biết đến với khả năng đọc nhanh và độ tin cậy cao.
    • Ví dụ: Tìm thấy trong các hệ thống nhúng yêu cầu thực thi mã trực tiếp từ bộ nhớ, chẳng hạn như trong máy ảnh kỹ thuật số và thiết bị y tế.
  5. SRAM: Cung cấp khả năng truy cập dữ liệu cực nhanh, dùng để lưu trữ dữ liệu tạm thời.
    • Ví dụ: Thường được dùng trong vi điều khiển và CPU dưới dạng bộ nhớ đệm (cache), giúp tăng tốc độ truy cập các dữ liệu thường dùng.
  6. NVRAM: Kết hợp độ bền của bộ nhớ không khả biến với khả năng truy cập nhanh của bộ nhớ khả biến.
    • Ví dụ: Được sử dụng trong các thiết bị mạng để lưu trữ thông tin cấu hình, đảm bảo các cài đặt được bảo toàn qua các lần tắt/mở nguồn.
  7. ROM: Bộ nhớ chỉ đọc được lập trình sẵn với phần mềm vĩnh viễn.
    • Ví dụ: Được sử dụng trong các thiết bị gia dụng như lò vi sóng và máy giặt để lưu trữ firmware, điều khiển các chức năng cơ bản của thiết bị.

Mặc dù việc lựa chọn bộ nhớ ảnh hưởng đến hiệu suất thiết bị, nhưng hiểu được cách nó tác động đến chi phí cũng quan trọng không kém. Nếu bạn là một nhà phát triển đang tìm cách tối ưu hóa thiết kế hệ thống nhúng của mình cả về mặt kỹ thuật lẫn tài chính, việc so sánh các loại bộ nhớ là bước khởi đầu. Tuy nhiên, việc nắm bắt được giá cả chính xác và hiện hành có thể là một thách thức. Nếu bạn có thông tin chuyên sâu về giá bộ nhớ hoặc chiến lược thiết kế hệ thống nhúng tiết kiệm chi phí, những đóng góp của bạn sẽ vô cùng quý giá.

Cổng Console trên Switch có tác dụng gì? Sử dụng như thế nào?

Để truy cập vào bộ chuyển mạch, thường ta sẽ truy cập từ xa bằng Telnet hoặc đăng nhập HTTP qua trình duyệt web. Tuy nhiên, ta có thể sử dụng cổng Console trên Switch để quản trị Switch mà không cần mạng. Trong bài viết này, ta sẽ tìm hiểu chi tiết xem cổng Console là gì? Chức năng của nó như thế nào và cách sử dụng nó ra sao!

Cổng Console là gì?

Cổng Console trên Switch là một cổng vật lý được tích hợp trên thiết bị, thường là cổng RJ-45 hoặc Mini-USB, được sử dụng để kết nối với máy tính hoặc thiết bị ngoại vi thông qua cáp console. Loại cổng này còn được gọi với cái tên khác như “cổng điều khiển”.

ảnh cổng Console trên Switch

Chức năng của cổng Console là để các quản trị viên đăng nhập vào bộ chuyển mạch mà không cần kết nối mạng. Loại cổng này thường được sử dụng với mục đích như:

  • Cho phép quản trị viên kết nối với Switch từ xa thông qua giao diện dòng lệnh. Điều này giúp quản trị viên có thể thực hiện các tác vụ quản lý và cấu hình mà không cần phải trực tiếp tiếp cận thiết bị.
  • Cổng Console là một phương tiện quan trọng để thiết lập các thông số cơ bản và cấu hình mạng ban đầu.
  • Trong tình huống cần khôi phục thiết lập gốc hoặc giải quyết sự cố lớn, cổng Console là công cụ quan trọng để thực hiện quy trình khôi phục từ xa.

Cáp Console

cáp console

Cáp Console là một loại cáp được sử dụng để kết nối thiết bị mạng, như Switch, Router, hoặc thiết bị mạng khác, với máy tính hoặc máy tính xách tay. Cáp này được thiết kế để tạo liên kết giữa cổng Console trên thiết bị mạng và cổng serial hoặc USB trên máy tính.

Cáp Console thường có một đầu kết nối phù hợp với cổng Console trên thiết bị mạng (thường là RJ-45 hoặc Mini-USB) và một đầu kết nối với cổng serial hoặc USB trên máy tính.

Phần mềm Terminal

Khi đã thiết lập kết nối thông qua cổng Console, bạn cần sử dụng phần mềm terminal để truy cập và tương tác với giao diện dòng lệnh của thiết bị mạng. Có 2 phần mềm Terminal phổ biến nhất là: PuTTY và SecureCRT

Phần mềm PuTTY:

  • Miễn phí và mã nguồn mở.
  • Hỗ trợ nhiều giao thức truy cập như SSH, Telnet, và Serial.
  • Giao diện đơn giản và dễ sử dụng.
  • Chạy trên nền Windows, nhưng cũng có thể sử dụng trên Linux.

Phần mềm SecureCRT:

  • Có phiên bản thương mại và cung cấp nhiều tính năng mạnh mẽ.
  • Hỗ trợ nhiều giao thức bảo mật như SSH, Telnet, và Serial.
  • Giao diện đồ họa chất lượng cao với nhiều tùy chọn tùy chỉnh.
  • Tích hợp tính năng kịch bản và tự động hóa.

Cách đăng nhập vào Switch bằng cổng Console

Để sử dụng cổng Console, ta sẽ thực hiện theo các bước sau:

  • Kết nối cổng Console trên Switch với máy tính sử dụng cáp Console phù hợp.
dùng cáp console để kết nối Switch và máy tính
  • Mở phần mềm terminal trên máy tính. Trong phần mềm terminal, chọn loại kết nối là “Serial” hoặc “SSH” tùy thuộc vào cách bạn kết nối với Switch.
  • Nhập địa chỉ IP của Switch nếu sử dụng kết nối SSH hoặc chọn cổng Serial tương ứng. Cấu hình các thông số kết nối như tốc độ baud, bits dữ liệu, parity, stop bits theo yêu cầu của Switch.
thiết lập thông số kết nối trên phần mềm Terminal
  • Nhấn nút “Open” hoặc “Connect” để mở kết nối. Màn hình terminal sẽ hiển thị cửa sổ đăng nhập. Nhập tên đăng nhập và mật khẩu để truy cập vào giao diện dòng lệnh của Switch.
màn hình đăng nhập của PUTTY

Thiết lập thông số kết nối

khi thiết lập kết nối thông qua cổng Console, quan trọng nhất là cấu hình đúng các thông số kết nối. Dưới đây là thông tin về các chỉ số và cách thiết lập.

  • Tốc độ Baud (Baud Rate): Đây là tốc độ truyền dữ liệu giữa thiết bị và máy tính. Thông thường, tốc độ baud phải được đặt cùng nhau ở cả hai đầu của kết nối. Một giá trị phổ biến là 9600 baud, nhưng tùy thuộc vào thiết bị, bạn có thể cần điều chỉnh giá trị này.
  • Bits Dữ liệu (Data Bits): Số bits dữ liệu xác định số bit thông tin được truyền trong mỗi ký tự. Thông thường, giá trị này là 8 bits, nhưng cũng có thể là 7 bits hoặc 9 bits tùy thuộc vào cấu hình thiết bị.
  • Parity (Chẵn Lẻ): Parity là một bit kiểm tra được thêm vào ký tự để kiểm tra lỗi truyền dẫn. Có ba loại parity chính: chẵn (even), lẻ (odd), và không có parity. Bạn cần đảm bảo rằng cả thiết bị và máy tính cùng sử dụng loại parity tương tự.
  • Stop Bits: Stop bits xác định kết thúc của mỗi ký tự và được thêm vào sau dữ liệu và parity. Thông thường, giá trị này là 1 stop bit, nhưng cũng có thể là 1.5 hoặc 2 stop bits.

System Management Bus, SMBUS là gì

Bus  quản lý hệ thống  ( SMBus  hoặc  SMB ) là bus hai dây đơn giản một đầu dùng cho mục đích giao tiếp nhẹ. Thường thấy nhất là trong chipset của bo mạch chủ máy tính để giao tiếp với nguồn điện cho lệnh BẬT/TẮT. Chức năng chính xác và giao diện phần cứng khác nhau tùy theo nhà cung cấp.

Nó bắt nguồn từ I²C để giao tiếp với các thiết bị băng thông thấp trên bo mạch chủ, đặc biệt là các chip liên quan đến nguồn điện như hệ thống pin sạc của máy tính xách tay (xem Hệ thống pin thông minh và ACPI). Các thiết bị khác có thể bao gồm máy chủ chính bên ngoài, cảm biến nhiệt độ, cảm biến quạt hoặc điện áp, công tắc nắp, bộ tạo xung nhịp và đèn RGB. Các thẻ bổ sung Kết nối thành phần ngoại vi (PCI) có thể kết nối với phân đoạn SMBus.

Một thiết bị có thể cung cấp thông tin nhà sản xuất, chỉ ra số model/bộ phận của nó, lưu trạng thái của nó cho sự kiện tạm dừng, báo cáo các loại lỗi khác nhau, chấp nhận các tham số điều khiển, trả về trạng thái qua SMBus và thăm dò các thanh ghi chipset. SMBus thường không thể cấu hình hoặc truy cập được bởi người dùng. Mặc dù các thiết bị SMBus thường không thể xác định chức năng của chúng, một liên minh PMBus mới đã mở rộng SMBus để bao gồm các quy ước cho phép điều đó.

SMBus được Intel và Duracell định nghĩa vào năm 1994. Nó mang theo xung nhịp, dữ liệu và hướng dẫn và dựa trên giao thức bus nối tiếp I²C của Philips. Dải tần số xung nhịp của nó là 10 kHz đến 100 kHz. (PMBus mở rộng đến 400 kHz.) Mức điện áp và thời gian của nó được định nghĩa chặt chẽ hơn so với I²C, nhưng các thiết bị thuộc về hai hệ thống này thường được trộn thành công trên cùng một bus. 

SMBus được sử dụng làm kết nối trong một số tiêu chuẩn quản lý nền tảng bao gồm: Định dạng chuẩn cảnh báo (ASF), Kiến trúc máy tính để bàn và thiết bị di động cho phần cứng hệ thống (DASH), Giao diện quản lý nền tảng thông minh (IPMI).

SMBus được sử dụng để truy cập thông tin cấu hình DRAM như một phần của phát hiện sự hiện diện nối tiếp (SPD). SMBus đã phát triển thành nhiều trường hợp sử dụng liệt kê hệ thống khác ngoài quản lý nguồn điện.

Khả năng tương tác SMBus/I²C

Mặc dù SMBus có nguồn gốc từ I²C nhưng có một số khác biệt chính giữa thông số kỹ thuật của hai bus này về mặt điện, thời gian, giao thức và chế độ hoạt động.

Điện

Điện áp đầu vào ( IL  và  IH )

Khi trộn các thiết bị, thông số kỹ thuật I²C xác định mức đầu vào là 30% và 70% điện áp cung cấp  DD , có thể là 5 V, 3,3 V hoặc một số giá trị khác. Thay vì liên hệ mức đầu vào bus với  DD , SMBus xác định chúng được cố định ở 0,8 và 2,1 V. SMBus 2.0 hỗ trợ  DD  trong phạm vi từ 3 đến 5 V. SMBus 3.0 hỗ trợ  DD  trong phạm vi từ 1,8 đến 5 V và  IH  = 1,35 V.

Dòng điện chìm ( IOL )

SMBus 2.0 định nghĩa lớp ‘Công suất cao’ bao gồm dòng điện chìm 4 mA không thể được điều khiển bởi chip I²C trừ khi điện trở kéo lên được định cỡ theo mức bus I²C.

Thiết bị NXP có bộ đặc tính điện công suất cao hơn SMBus 1.0. Sự khác biệt chính là khả năng tản dòng điện với  OL  = 0,4 V.

  • SMBus công suất thấp = 350 μA
  • Công suất cao của SMBus = 4 mA
  • Bus I²C = 3 mA

Các thiết bị ‘công suất cao’ SMBus và các thiết bị I²C-bus sẽ hoạt động cùng nhau nếu điện trở kéo lên có kích thước là 3 mA.

Tần số ( MAX  và  MIN )

Đồng hồ SMBus được xác định từ 10 đến 100 kHz trong khi I²C có thể là 0–100 kHz, 0–400 kHz, 0–1 MHz và 0–3,4 MHz, tùy thuộc vào chế độ. Điều này có nghĩa là bus I²C chạy ở tần số dưới 10 kHz sẽ không tuân thủ SMBus vì các thiết bị SMBus có thể hết thời gian chờ. Tuy nhiên, nhiều thiết bị SMBus sẽ hỗ trợ tần số thấp hơn.

SMBus 3.0 bổ sung tốc độ bus 400 kHz và 1 MHz.

Thời gian

  • SMBus định nghĩa thời gian chờ xung nhịp thấp, TIMEOUT là 35 ms. I²C không chỉ định bất kỳ giới hạn thời gian chờ nào.
  • SMBus chỉ định T LOW:SEXT  là thời gian mở rộng xung nhịp thấp tích lũy cho thiết bị phụ. I²C không có thông số kỹ thuật tương tự.
  • SMBus chỉ định T LOW:MEXT  là thời gian mở rộng xung nhịp thấp tích lũy cho thiết bị chính. Một lần nữa, I²C không có thông số kỹ thuật tương tự.
  • SMBus xác định cả thời gian tăng và giảm của tín hiệu bus. I²C thì không.
  • Thông số kỹ thuật thời gian chờ SMBus không ngăn cản các thiết bị I²C hợp tác đáng tin cậy trên SMBus. Nhà thiết kế có trách nhiệm đảm bảo rằng các thiết bị I²C sẽ không vi phạm các thông số thời gian bus này.

Giao thức

Sử dụng ACK và NACK

Có những điểm khác biệt sau đây trong việc sử dụng tín hiệu bus NACK: Trong I²C, bộ thu slave được phép không xác nhận địa chỉ slave, ví dụ nếu nó không thể nhận vì đang thực hiện một số tác vụ thời gian thực. SMBus yêu cầu các thiết bị phải luôn xác nhận địa chỉ của chính chúng, như một cơ chế để phát hiện sự hiện diện của thiết bị có thể tháo rời trên bus (pin, đế cắm, v.v.)

I²C chỉ rõ rằng một thiết bị phụ, mặc dù có thể xác nhận địa chỉ của chính nó, có thể quyết định, sau một thời gian trong quá trình truyền, rằng nó không thể nhận thêm bất kỳ byte dữ liệu nào nữa. I²C chỉ rõ rằng thiết bị có thể chỉ ra điều này bằng cách tạo ra not acknowledge trên byte đầu tiên theo sau.

Ngoài việc chỉ ra tình trạng thiết bị bận của slave, SMBus còn sử dụng cơ chế NACK để chỉ ra việc tiếp nhận lệnh hoặc dữ liệu không hợp lệ. Vì tình trạng như vậy có thể xảy ra ở byte cuối cùng của quá trình truyền, nên các thiết bị SMBus phải có khả năng tạo ra thông báo không xác nhận sau khi truyền từng byte và trước khi hoàn tất giao dịch. Điều này rất quan trọng vì SMBus không cung cấp bất kỳ tín hiệu gửi lại nào khác. Sự khác biệt trong việc sử dụng tín hiệu NACK này có ý nghĩa đối với việc triển khai cụ thể của cổng SMBus, đặc biệt là trong các thiết bị xử lý dữ liệu hệ thống quan trọng như máy chủ SMBus và các thành phần SBS.

Giao thức SMBus

Mỗi giao dịch tin nhắn trên SMBus tuân theo định dạng của một trong các giao thức SMBus đã xác định. Các giao thức SMBus là một tập hợp con của các định dạng truyền dữ liệu được xác định trong các thông số kỹ thuật I²C. Các thiết bị I²C có thể được truy cập thông qua một trong các giao thức SMBus tương thích với các thông số kỹ thuật SMBus. Các thiết bị I²C không tuân thủ các giao thức này không thể được truy cập bằng các phương pháp tiêu chuẩn như được xác định trong các thông số kỹ thuật SMBus và Advanced Configuration and Power Interface (ACPI).

Giao thức giải quyết địa chỉ

SMBus sử dụng phần cứng I²C và địa chỉ phần cứng I²C, nhưng bổ sung phần mềm cấp hai để xây dựng các hệ thống đặc biệt. Đặc biệt, thông số kỹ thuật của nó bao gồm Giao thức giải quyết địa chỉ có thể thực hiện phân bổ địa chỉ động. Cấu hình lại động phần cứng và phần mềm cho phép các thiết bị bus được ‘cắm nóng’ và sử dụng ngay lập tức mà không cần khởi động lại hệ thống. Các thiết bị được tự động nhận dạng và được gán địa chỉ duy nhất. Ưu điểm này tạo ra giao diện người dùng cắm và chạy. Trong cả hai giao thức đó, có một sự phân biệt rất hữu ích giữa Máy chủ hệ thống và tất cả các thiết bị khác trong hệ thống có thể có tên và chức năng của máy chủ hoặc máy tớ.

Tính năng tạm dừng

SMBus có tính năng time-out giúp thiết lập lại thiết bị nếu quá trình giao tiếp mất quá nhiều thời gian. Điều này giải thích tần số xung nhịp tối thiểu là 10 kHz để tránh khóa bus. I²C có thể là bus ‘DC’, nghĩa là thiết bị phụ kéo dài xung nhịp chính khi thực hiện một số thói quen trong khi thiết bị chính đang truy cập vào nó. Điều này sẽ thông báo cho thiết bị chính rằng thiết bị phụ đang bận nhưng không muốn mất liên lạc. Thiết bị phụ sẽ cho phép tiếp tục sau khi nhiệm vụ của nó hoàn tất. Không có giới hạn nào trong giao thức bus I²C về thời gian trễ này, trong khi đối với hệ thống SMBus, nó sẽ bị giới hạn ở mức 35 ms. Giao thức SMBus chỉ cho rằng nếu một việc gì đó mất quá nhiều thời gian, thì điều đó có nghĩa là có sự cố trên bus và tất cả các thiết bị phải đặt lại để xóa chế độ này. Khi đó, các thiết bị phụ không được phép giữ xung nhịp THẤP quá lâu.

Kiểm tra lỗi gói tin

SMBus 1.1 và các phiên bản sau đó định nghĩa  Kiểm tra lỗi gói  ( PEC ) tùy chọn. Trong chế độ đó, một byte PEC (mã lỗi gói) được thêm vào cuối mỗi giao dịch. Byte được tính là tổng kiểm tra CRC-8, được tính trên toàn bộ tin nhắn bao gồm địa chỉ và bit đọc/ghi. Đa thức được sử dụng là x 8 +x 2 +x+1 (thuật toán CRC-8-ATM HEC, được khởi tạo bằng không).

NHÂN VIÊN NHỎ

SMBus có một tín hiệu ngắt chia sẻ tùy chọn bổ sung được gọi là SMBALERT#, có thể được các slave sử dụng để yêu cầu host hỏi các slave của nó về các sự kiện quan tâm. SMBus cũng định nghĩa một “Host Notify Protocol” ít phổ biến hơn, cung cấp các thông báo tương tự nhưng truyền nhiều dữ liệu hơn và xây dựng trên chế độ đa master I²C.

Tìm hiểu về chip CPLD (Complex Programmable Logic Device) trong máy tính

CPLD (Complex Programmable Logic Device – Thiết bị logic lập trình được phức tạp) là một loại chip bán dẫn cho phép người dùng tự thiết kế và cấu hình các chức năng logic số theo nhu cầu. Nó nằm ở phân khúc giữa các chip logic đơn giản (PAL/GAL) và các chip FPGA cực kỳ phức tạp.

Lịch sử ra đời

  • Thập niên 1970 – 1980: Tiền thân của CPLD là các thiết bị SPLD (Simple Programmable Logic Devices) như PAL và PLA. Chúng chỉ có thể thực hiện các hàm logic rất đơn giản.
  • Năm 1984: Altera Corporation (nay thuộc Intel) phát hành thiết bị logic lập trình được đầu tiên.
  • Năm 1988: Altera giới thiệu dòng MAX 5000, được coi là chiếc CPLD mật độ cao đầu tiên trên thế giới. Đây là bước ngoặt chuyển đổi từ việc thực hiện các hàm logic rời rạc sang việc tích hợp cả một hệ thống con (subsystem) vào một con chip duy nhất.
  • Thập niên 1990 – 2000: Các hãng như Xilinx, Lattice và Atmel gia nhập thị trường, đưa CPLD trở nên phổ biến với khả năng tái lập trình thông qua công nghệ Flash hoặc EEPROM.

Mục đích và Kiến trúc

Mục đích chính của CPLD là cung cấp một giải pháp logic tùy chỉnh có tốc độ phản hồi cực nhanh, tính ổn định caokhông mất dữ liệu khi tắt nguồn.

  • Kiến trúc Macrocell: CPLD cấu tạo từ các khối macrocell (chứa các cổng AND/OR và Flip-flop). So với FPGA (dùng bảng tra cứu – LUT), CPLD có cấu trúc “thô” hơn nhưng độ trễ tín hiệu là cố định và có thể dự đoán trước được (deterministic timing).
  • Tính phi khả biến (Non-volatile): Đây là điểm khác biệt lớn nhất với FPGA. CPLD lưu cấu hình trong bộ nhớ Flash nội bộ, nên ngay khi bật nguồn, chip sẽ hoạt động ngay lập tức (“Instant-on”) mà không cần nạp lại code từ bộ nhớ ngoài.

Lĩnh vực sử dụng

CPLD thường đóng vai trò “keo dính” (glue logic) kết nối các thành phần khác trong một hệ thống điện tử:

  • Giao tiếp và Chuyển đổi giao thức: Cầu nối giữa các chuẩn bus khác nhau (ví dụ: chuyển đổi I2C sang SPI, hoặc quản lý địa chỉ bus dữ liệu).
  • Quản lý nguồn (Power Sequencing): Điều khiển thứ tự bật/tắt nguồn của các linh kiện phức tạp như CPU hoặc FPGA để tránh hỏng hóc.
  • Điều khiển thiết bị ngoại vi: Quản lý đèn LED, bàn phím, hoặc các cảm biến trong hệ thống nhúng.
  • Thiết bị y tế và Ô tô: Nhờ tính “Instant-on”, CPLD được dùng trong túi khí ô tô hoặc máy trợ tim—những nơi mà sự chậm trễ 1 giây khi khởi động cũng có thể gây nguy hiểm.

Xu hướng hiện tại (Năm 2026)

Hiện nay, ranh giới giữa CPLD và FPGA đang dần mờ nhạt:

  • CPLD lai (Hybrid CPLD): Các dòng chip mới (như Lattice MachXO3 hay Intel MAX 10) kết hợp bộ nhớ Flash của CPLD với tài nguyên logic mạnh mẽ của FPGA.
  • Tiêu thụ năng lượng cực thấp: Xu hướng dịch chuyển sang các dòng CPLD có dòng rò thấp, lý tưởng cho thiết bị đeo (wearables) và cảm biến IoT chạy pin.
  • Bảo mật phần cứng: CPLD hiện đại tích hợp các tính năng mã hóa để bảo vệ thiết kế chống lại việc sao chép trái phép (IP protection).

Tương lai của CPLD

  • Sự trỗi dậy của Automotive: Với sự bùng nổ của xe điện và xe tự lái, nhu cầu về CPLD cấp độ ô tô (Automotive-grade) để điều phối hệ thống lái và an toàn đang tăng trưởng mạnh (khoảng 7-9%/năm).
  • Edge Computing & AI: CPLD sẽ không chỉ làm các nhiệm vụ điều khiển đơn giản mà còn tham gia vào việc xử lý sơ bộ dữ liệu cảm biến (pre-processing) trước khi gửi về bộ xử lý trung tâm để tiết kiệm điện năng.
  • Thay thế ASIC: Với các dự án sản xuất quy mô nhỏ hoặc vừa, CPLD vẫn là lựa chọn hàng đầu nhờ chi phí thấp hơn nhiều so với việc đặt hàng sản xuất một chip ASIC riêng biệt.

Tóm lại: Nếu bạn cần một con chip “bật là chạy”, phản ứng tức thì và dùng để kết nối các linh kiện trên bo mạch, CPLD vẫn là ông vua không thể thay thế.

Bạn đang tìm hiểu về CPLD để phục vụ cho đồ án thiết kế mạch hay đang cân nhắc lựa chọn giữa CPLD và FPGA cho một dự án cụ thể?

UEFI

UEFI, là viết tắt tiếng Anh của Unified Extensible Firmware Interface, dịch là “Giao diện phần lõi mở rộng hợp nhất” là công nghệ tương lai thay thế cho BIOS đã lỗi thời.

UEFI là một hệ điều hành tối giản “nằm trên” phần cứng (hardware) và phần lõi (firmware) của máy tính. Thay vì được lưu trong phần lõi giống như BIOS, chương trình UEFI được lưu trữ ở thư mục /EFI/ trong bộ nhớ không-bốc hơi(non-volatile) (là bộ nhớ đảm bảo cho dữ liệu không bị hỏng mỗi khi mất điện). Vì vậy, UEFI có thể chứa trong bộ nhớ flash NAND trên bảng mạch chính (mainboard) hoặc cũng có thể để trên một ổ đĩa cứng, hay thậm chí là ngay cả trên một vùng tài nguyên mạng được chia sẻ. UEFI sẽ giúp quá trình khởi động an toàn hơn nhờ tính năng Secure Boot. Tính năng này chỉ hỗ trợ PC khởi động với các hệ điều hành là Windows 8 và Windows 10 chạy phiên bản 64-bit.

Lịch sử phát triển

Năm 1998, Intel mở đầu bằng một sáng kiến mới, công nghệ “Intel Boot Initiative” (IBI), sau đó được đổi tên là Extensible Firmware Interface (EFI), tạm dịch là “Giao diện firmware mở rộng”. Lúc đầu EFI chỉ được ứng dụng trong dòng máy Mac sử dụng bộ xử lý Intel của Apple, và bộ xử lý Itanium 2 trong server của HP. Đến năm 2007, Intel cùng với AMD, AMI, Apple, Dell, HP, IBM, Lenovo, Microsoft, và Phoenix Technologies tổ chức đàm phán đạt thỏa thuận thống nhất sử dụng công nghệ UEFI (EFI với nhãn hiệu mới) thay cho BIOS đã tồn tại nhiều vấn đề.

Tuy vậy, một trong những lý do khiến UEFI bị trì hoãn trong một thời gian dài là vì không được Microsoft hỗ trợ. Ngay cả bây giờ, Windows 32-bit cũng không hỗ trợ khả năng khởi động từ một hệ thống UEFI. Thiếu sự hỗ trợ đầy đủ của Microsoft khiến các nhà sản xuất OEM đã không sẵn lòng chuyển sang UEFI. Hiện, với Windows 8, hệ thống hỗ trợ khởi động an toàn với UEFI được thiết kế để đảm bảo rằng PC chỉ khởi động một hệ điều hành chính thống. Như vậy, có lẽ hầu hết PC được sản xuất từ khoảng cuối 2012, hoặc sang năm 2013, sẽ sử dụng UEFI thay cho BIOS cơ bản.

Ưu điểm của UEFI

Các hệ thống UEFI có các ưu điểm lợi thế như sau:

  • Hệ thống PC hoạt động hiệu quả hơn nhờ khởi động nhanh và rút ngắn được thời gian khắc phục sự cố do có thể tích hợp sẵn khả năng nối mạng và các công cụ sửa lỗi cơ bản mà BIOS đang bị giới hạn.
  • Khả năng quản lý thiết bị lưu trữ chính có dung lượng lớn. Nếu BIOS không thể khởi động từ các đĩa cứng với dung lượng lớn hơn 2,2TB (terabyte). Thì với việc sử dụng các ổ đĩa lớn hơn 2TB đang trở nên phổ biến, các nhà sản xuất OEM không có sự lựa chọn nào khác ngoài việc chuyển sang UEFI trên các PC, máy chủ cao cấp.
  • UEFI sử dụng bảng phân vùng GUID (Globally Unique IDentifier), kết hợp lại để thay thế cho cung mồi MBR và các phân vùng địa chỉ. GUID đem đến khả năng khởi động từ ổ đĩa cứng có dung lượng lớn cỡ 9,4ZB (zetabyte) – có thể coi gần như là vô hạn, gạt bỏ mọi lo lắng về quản lý ổ cứng dung lượng lớn.
  • Với UEFI, các nhà sản xuất OEM có thể tích hợp sẵn khả năng nối mạng và các công cụ sửa lỗi cơ bản.

Source: Wikipedia.