[Solved]: Shouldn’t the “even parity” function map 1101 to 0?

Problem Detail: From the book Computer organization and design by Patterson&Hennessy:

Parity is a function in which the output depends on the number of 1s in in the input. For an even parity function, the output is 1 if the input has an even number of ones. Suppose a ROM is used to implement an even parity function with a 4-bit input. Then the contents of the ROM is $$text{Address} 0 : 0 text{Address} 1: 1 text{Address} 2 : 0 text{Address} 3 : 1 vdots text{Address} 13 : 1 text{Address} 14 : 0 text{Address} 15 : 1$$

As per my understanding, ROM which implements the even parity function should store 0 at both the Address 1 and the Address 2, 1 at the Address 3, … 0 at both the Address 13 and 14, then 1 at the Address 15, for the Address $k$ to represent the map-value of $(k)_{text{base}2}$. According to this the concept defined above is not clear enough, Can someone clarify the doubt?

Asked By : giuscri

Answered By : David Richerby

In this context, implementing something as a ROM just means a look-up table. If you want to know the parity of $x$, you put the binary coding of $x$ on the ROM’s address wires and the value you read out is the value stored at that memory location within the ROM, which will be either 0 or 1. And, yes, the contents of the ROM that you’ve quoted are wrong: they seem to be implementing parity in the sense that the output is 1 if, and only if, the input is an odd number, instead of implementing the even parity function.
Best Answer from StackOverflow

Question Source : http://cs.stackexchange.com/questions/16599 3.2K people like this

 Download Related Notes/Documents