c, Liên kết thông qua stack
8.5.4. Kiểm tra mã vòng CRC
Kiểm tra mã vòng CRC là một phương pháp rất mạnh để phát hiện lỗi và sửa lỗi. Nguyên lý cơ bản của CRC là từ một lỗi bit phát sinh, lỗi này sẽ bùng nổ và nếu có một cơ chế kiểm tra liên tục bit lỗi này thì xác suất phát hiện lỗi sẽ tăng lên
CRC sử dụng một mã đa thức như một khung truyền được chia thành 2 trường. Trường dữ liệu và trường kiểm tra CRC. Sau khi nhận được khung truyền (bao gồm dữ liệu và CRC bit), hệ thống sẽ kiểm tra theo cùng một cơ chế đối với bên gửi. Nếu kết quả phù hợp, tức là không có lỗi. Nếu kết quả có sự khác biệt, lỗi
đã xảy ra.
1. Với chuỗi dữ liệu cần truyền đi, nó được coi là một đa thức M(x) có bậc là k sẽ được thêm n bit số 0 vào đằng sau. Với n là bậc của một đa thức sinh G(x) và k>n
2. Đa thức thu được gồm M(x) và chuỗi n bit 0 thêm vào được thực hiện phép chia cho đa thức G(x) theo phép chia modul 2 được phần dư R(x). R(x) có số bit không lớn hơn n bit.
3. Đa thức truyền đi là T(x) = M(x) + R(x)
Bên nhận dữ liệu giả sử là T’(x) sẽ tiến hành kiểm tra như sau 1. Thực hiện phép chia T’(x) cho đa thức sinh G(x)
2. Nếu kết quả R’(x) bằng 0 thì quá trình truyền không có lỗi, nếu kết quả
khác 0 thì quá trình truyền đã có lỗi
Giả sử ta cần truyền chuỗi dữ liệu M(x) = 1101011011. Đa thức sinh G(x) = 10011 (tức là G(x) = x4 + x + 1). Với đa thức sinh như vậy, ta thấy n = 4, tức là ta sẽ thêm 4 số 0 vào chuỗi cần truyền dữ liệu để được chuỗi 11010110110000. Thực hiện phép chia như hình 8.31 ta được R(x) = 1110.
Hình 8.31. Thực hiện phép chia trong kiểm tra CRC
Một số đa thức sinh hay được sử dụng cho kết quả tốt trong việc phát hiện lỗi, đó là −16= + + +1 − = + + +1 − 32 = + + + + + + + + + + + + +1 TỔNG KẾT CHƯƠNG Các ổ lưu trữ dữ liệu có rất nhiều dạng khác nhau. Vi dụ ổ lưu trữ có các loại như ổ cứng, băng từ. Ổ đĩa quangcos mật độ lưu trữ cao hơn ổđĩa từ, nhưng có giá thành cao hơn và không hỗ trợ khả năng ghi dữ liệu. Các ổđĩa quang thông dụng là CD ROM, DVD ROM.
Các thiết bị vào/ra cũng có rất nhiều loại khác nhau. Trong chương này chúng ta
đã nghiên cứu một số thiết bị cơ bản. Đó là bàn phím, bit pad, chuột, trackball, màn hình hiển thị CRT.
Các cổng vào ra dữ liệu cũng liên quan tới hệ thống bus truyền thông bên trong máy tính. Chúng ta cũng tìm hiểu một số hệ thống bus cơ bản trong máy tính. Các hệ thống bus này khác nhau ở tốc độ truyền thông, độ rộng dữ liệu mà nó hỗ trợ, khả năng kết nối. Với mỗi hệ thống bus này, chúng ta cũng đã tìm hiểu sơ đồ chân và các tín hiệu trong bus.
Để kết nối với các thiết bị ngoại vi bên ngoài, máy tính phải sử dụng các kênh truyền dẫn riêng (khác với bus). Một số kênh truyền dẫn là RS-232, cổng LPT, và đặc biệt là chuẩn USB
Trong quá trình truyền nhận dữ liệu, lỗi phát sinh là không thể tránh khỏi. Ta đã tìm hiểu một số phương pháp phát hiện và tự sửa lỗi cơ bản, thường được sử
dụng như kiểm tra chẵn lẻ, kiểm tra VRC, và một phương pháp rất mạnh là CRC.