**Computer Organization and Structure**

Homework
#1

Due:
2008/10/7

1. Given
the following three functions:

a.
A two-bit-wide *shifter* takes two input signals, _{} and _{}, and shifts them to two outputs, _{} and _{}, under the control of a shift signal. If this signal SHIFT
is false, then the inputs are connected straight through to the outputs. If
SHIFT is true, then _{} is routed to _{} and _{} should be set to
a _{}.

b.
A two-bit *demultiplexer* takes an input signal IN and shifts it to one of two
outputs, _{} and _{}, under the control of a single SELECT signal. If SELECT is _{}, then IN is connected through to _{} and _{} is connected to a
_{}. If SELECT is _{}, then IN is connected through to _{} and _{} is connected to a
_{}.

c.
A two-bit *multiplexer* takes two input signals, _{} and _{}, and shifts one of them to the single output OUT under the
control of a one-bit SELECT signal. If the SELECT signal is false, then _{} is passed to OUT.
If SELECT is true, then _{} is passed to OUT.

d.
A four-input function that outputs a 1
whenever an odd number of its inputs are 1.

Complete
the following four items:

a.
Construct their truth tables.

b.
What are the functions in sum of
products forms, using “little *m*”
notation?

c.
Use the Karnaugh map method to simplify
the functions in sum of products forms.

d.
Draw logic schematics using AND, OR, and
INVERT gates.