- [3 pts]
Familiarize yourself with the CSE 370 web pages. Participation in class
accounts for what percentage of the final grade? How long should you spend
on each homework problem before discussing it with others? What do you
think of the collaboration/cheating policy? Does it seem reasonable? If
not, what would you do differently? What question would you like to see
on the course evaluation that is currently not on the list?
no sample solution
- [no pts]
Make sure you have an NT account and can login to the machines in the
instructional labs. Add yourself to the class mailing list using majordomo
(if you choose to do so rather than just relying on the class e-mail archive).
no sample solution
-
Convert the following numbers to decimal:
(a) [1 pt] 01110012
01110012 = 1*1 + 0*2 + 0*4 + 1*8 + 1*16 + 1*32 + 0*64 = 5710
(b) [1 pt] 0E516
0E516 = 5*1 + 14*16 + 0*256 = 22910
-
Convert the following numbers to base 2:
(a) [1 pt] 12710
12710 = 11111112
(b) [1 pt] 40A16
40A16 = 0100 0000 10102
-
Perform the following operations (without converting to base 10):
(a) [1 pt] 012 + 0010012 + 010102
1 11
01
+ 001001
01010
--------
010100
(b) [1 pt] 0101102 - 0011002
.
010110
- 001100
--------
001010
(c) [1 pt] 1012 * 0102
101
* 010
-----
101
-----
1010
-
Represent the following numbers in the indicated notation:
(a) [2 pt] -22 in 6-bit signed magnitude (1 sign bit and 5 bits for the magnitude)
Convert 22 to binary: 10110
Prepend sign bit
--> answer: 110110
(b) [2 pt] -22 in 6-bit 2s complement
Convert 22 to binary: 010110
Invert bits: 101001
Add 1
--> answer: 101010
(c) [3 pt] what are the smallest and largest numbers you can represent in
6-bit 2s complement notation
Smallest: 100000 -> -3210
Largest: 011111 -> 3110
(d) [3 pt] represent the 6-bit 2s complement number 111010 as a 4-bit signed
magnitude number
First, we negate the given number to find its magnitude:
Invert bits: 000101
Add 1: 000110
To represent 1102 in 4-bit signed magnitude format, we
take the 3-bit magnitude and prepend the sign bit:
Answer: 1110
- [10 pt]
Derive the Boolean equations for the outputs d28, d29, d30, and d31 of the
calendar subsystem example when the months are encoded from 0 to 11 instead
of 1 to 12. Try to make the expressions as simple as possible exploiting
don't cares as much as you can.
d28 = m8' m4' m2' m1 Leap'
d29 = m8' m4' m2' m1 Leap
d30 = m8' m4' m2 m1 + m8' m4 m2' m1 + m8 m4' m2' m1' + m8 m4' m2 m1'
(add don't care in bold and group)
--> m8' m4' m2 m1 +
(m8' m4 m2' m1 + m8 m4 m2' m1) +
(m8 m4' m2' m1' + m8 m4' m2 m1')
= m8' m4' m2 m1 + m4 m2' m1 + m8 m1'
d31 = m8' m4' m2' m1' + m8' m4' m2 m1' +
m8' m4 m2' m1' + m8' m4 m2 m1' + m8' m4 m2 m1 +
m8 m4' m2' m1 + m8 m4' m2 m1
(add don't cares and repeat m8'm4 m2 m1')
--> (m8' m4' m2' m1' + m8' m4' m2 m1') +
(m8' m4 m2' m1' + m8' m4 m2 m1') +
(m8' m4 m2 m1' + m8' m4 m2 m1) +
(m8 m4' m2' m1 + m8 m4' m2 m1 +
m8 m4 m2' m1 + m8 m4 m2 m1)
= m8' m1' + m8 m1 + m4 m2
Compare
the 0 to 11 encoding with the 1 to 12 encoding in terms of the number of
literals for each equation (in terms of m8, m4, m2, and m1 - not d28, d29,
and d30). Which would you rather use and why?
The 0-11 encoding uses, for d29..d31 respectively, 5, 5, 9, 6 literals;
The 1-12 encoding, on the other hand, uses 5, 5, 5, 4 literals.
I would rather use the 1-12 encoding as it promises an implementation
of the functions with smaller circuits.