Kiểm tra Parity

Kiểm tra Parity

Khái niệm parity:

lLà phương pháp kiểm tra độ toàn vẹn dữ liệu được lưu trữ trong bộ nhớ bằng cách thêm 1 bit vào mỗi byte dữ liệu (1 byte= 8 bit). Parity bit (là bit thêm vào) được sử dụng để phát hiện lỗi xảy ra trong 8 bit kia.

lParity bit (Bit chẵn lẻ): là một bit dùng để báo hiệu số lượng bit có giá trị bằng 1(2) trong một nhóm bit cho trước là một số chẵn hay là một số lẻ. Bit chẵn lẻ được sử dụng như là một mã dùng để phát hiện lỗi đơn giản nhất.

 

ppt 15 trang Người đăng vultt Lượt xem 8998Lượt tải 0 Download
Bạn đang xem tài liệu "Kiểm tra Parity", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
KIỂM TRA PARITYNhóm thực hiện: Khái niệm parity:Là phương pháp kiểm tra độ toàn vẹn dữ liệu được lưu trữ trong bộ nhớ bằng cách thêm 1 bit vào mỗi byte dữ liệu (1 byte= 8 bit). Parity bit (là bit thêm vào) được sử dụng để phát hiện lỗi xảy ra trong 8 bit kia. Parity bit (Bit chẵn lẻ): là một bit dùng để báo hiệu số lượng bit có giá trị bằng 1(2) trong một nhóm bit cho trước là một số chẵn hay là một số lẻ. Bit chẵn lẻ được sử dụng như là một mã dùng để phát hiện lỗi đơn giản nhất.Khái niệm parity:Một bit chẵn lẻ (parity bit) được bổ sung vào dữ liệu được truyền để cho thấy số lượng các bit “1” được gửi trong một khung truyền là chẵn (parity chẵn) hoặc lẻ (parity lẻ). Đây là một phương pháp đơn giản để mã hóa lỗi và chỉ cần một cổng XOR để tạo ra parity bit. Parity bit được bổ sung vào dữ liệu được truyền bằng cách chèn nó vào một vị trí chính xác của bit trong thanh ghi dịch.sau khi đã đếm xem có bao nhiêu bit “1” được gửi.Một parity bit chỉ có thể kiểm tra được các bit lẻ lỗi. Nếu mà trong quá trình truyền thì có 1 bit chẵn mắc lỗi thì sẽ trùng với trường hợp mắc lỗi và không thể phát hiện lỗi. Do đó không kiểm tra đươc lỗi trên đường truyền. Phân loại: có 2 loại parityVới parity chẵn (Even Parity ): Một loại kiểm tra chẵn lẻ khi số bit có giá trị "1" trong byte dữ liệu là một số chẵn.Dữ liệu trước khi truyền đi sẽ được đếm tổng số bit Nếu tổng chẵn, bit parity 0 được thêm vào trước mỗi khối dữ liệu truyền. Nếu tổng lẻ thì bit parity 1 được thêm vào trước mỗi khối dữ liệu truyền.Ở đầu nhận dữ liệu, mạch sẽ kiểm tra từng khối dữ liệu nhận được xem có tổng số bit là chẵn hay không. Nếu không thì tức là đã có 1 bit nào đó trong khối dữ liệu  bị sai. Ngược lại là mạch truyền đúng Phân loại:Parity lẻ (Odd Parity): Một loại kiểm tra chẵn lẻ khi số bit có giá trị "1" trong byte dữ liệu là một số lẻ.Dữ liệu trước khi truyền đi sẽ được đếm tổng số bit Nếu tổng chẵn, bit parity 1 được thêm vào trước mỗi khối dữ liệu truyền.Nếu tổng lẻ thì bit parity 0 được thêm vào trước mỗi khối dữ liệu truyền.Ở đầu nhận dữ liệu, mạch sẽ kiểm tra từng khối dữ liệu nhận được xem có tổng số bit là lẻ hay không. Nếu không thì tức là đã có 1 bit nào đó trong khối dữ liệu  bị sai. Ngược lại là mạch truyền đúng Ví dụ1:Nếu dãy số của bạn có 8 bit data và 1 bit parity là tất cả 9 bit ( quy luật số chẵn ) data :0100.0010 - có 2 ( chẵn ) bit là 1 thì bit parity là 0 --> dãy số sẽ là 0100.0010.01000.1100 - có 3 (lẻ) bit là 1 thì bit parity là 1 --> dãy số sẽ là 1000.1100.10000.0000 - không có bit nào là 1 --> dãy số sẽ là 0000.0000.0Ví dụ 2: có 7 bit dữ liệu, ta tính bit chẵn lẽVí dụ 3: Truyền 1 khối  dữ liệu 4 bit 1101 có sử dụng mạch tạo kiểm parity để dò sai được minh hoạ như hình dưới đâyGiả sử mạch parity chẵn được dùng. Nhận thấy rằng tổng số bit truyền là 3 (lẻ) nên bit parity 1 được thêm vào cho chẵn. Như vậy, dữ liệu truyền đi sẽ có 5 bit là 11101Hoạt động của cơ chế kiểm tra lỗi của bộ nhớ: Hầu hết các loại bộ nhớ hiện nay đều rất đáng tin cậy. Hệ thống chỉ cần nhờ bộ điều khiển bộ nhớ kiểm tra lỗi lúc khởi động và có thể tin vào nó. Các chip nhớ có cơ chế kiểm tra lỗi được xây dựng sẵn thường sử dụng phương pháp chẵn-lẻ (parity) để kiểm tra. Các chip chẵn lẻ có một bit phụ cho mỗi 8 bit dữ liệu. Cơ chế chẵn lẻ hoạt động rất đơn giản. cơ chế bậc chẵn (even parity). Khi 8 bit trong 1 byte nhận dữ liệu, chip nhớ sẽ thêm 1 bit gọi là bit bậc parity vào. Bit này là tổng số các bit 1 trong dãy dữ liệu đó. Nếu tổng số các bit 1 là lẻ, bit bậc parity sẽ được thiết lập là 1. Nếu tổng số các bit 1 là chẵn, nó được thiết lập là 0. Khi dữ liệu được đọc ra, việc tính toán tổng các bit 1 được thực hiện lại một lần nữa để so sánh với bit bậc parity. Nếu tổng là lẻ và bit bậc parity là 1, dữ liệu được xét là đúng và nó sẽ được gửi cho CPU. Nhưng nếu tổng là lẻ và bit bậc parity là 0, chip nhớ nhận thấy có một lỗi ở đâu đó trong dãy 8 bit và nó sẽ kết xuất dữ liệu ra. Cơ chế bậc lẻ (Odd Parity): Khi 8 bit trong 1 byte nhận dữ liệu, chip nhớ sẽ thêm 1 bit gọi là bit bậc parity vào. Bit này là tổng số các bit 1 trong dãy dữ liệu đó. Nếu tổng số các bit 1 là chẵn, bit bậc parity sẽ được thiết lập là 0. Nếu tổng số các bit 1 là chẵn, nó được thiết lập là 1. Khi dữ liệu được đọc ra, việc tính toán tổng các bit 1 được thực hiện lại một lần nữa để so sánh với bit bậc parity. Nếu tổng là chẵn và bit bậc parity là 1, dữ liệu được xét là đúng và nó sẽ được gửi cho CPU. Nhưng nếu tổng là chẵn và bit bậc parity là 0, chip nhớ nhận thấy có một lỗi ở đâu đó trong dãy 8 bit và nó sẽ kết xuất dữ liệu ra. Vấn đề với cơ chế chẵn lẻ là nó có khả năng phát hiện lỗi nhưng lại không thể sửa được các lỗi đó. Phần lớn các máy tính được bán ra ngày nay sử dụng các chip nhớ không-chẵn-lẻ (nonparity). Các chip này không cung cấp bất kỳ cơ chế kiểm tra hay sửa lỗi nào, mà chúng hoàn toàn phụ thuộc vào khả năng phát hiện lỗi của bộ điều khiển bộ nhớ.Các ứng dụng: Mạch nối SCSI (SCSI bus) dùng bit chẵn lẻ để phát hiện lỗi trong truyền thôngRất nhiều các phần lưu trữ trong bộ nhớ các lệnh vi xử lý (microprocessor instruction cache) cũng dùng bit chẵn lẻ để bảo trợ hoạt động. Kỹ thuật Parity còn được ứng dụng trong RAID 

Tài liệu đính kèm:

  • pptKIỂM TRA PARITY.ppt