\mytitle{Registers and Memory}{\co}

For the homework today, we began expanding on the concepts of simple memory and
how it is implemented in a computer.

The first two problems were examples of shift and parallel registers, which
allowed us to understand the fundamentals of the different types of flip-flips
that we were using the implement them. These were quite simple, so simple that I
was able to just copy my drawing of the first solution, and increment them by
one clock cycle to get the second, third, and fourth solutions.

The next couple of problems included the understanding of complex memory
structures such as read-only-memory and random-access-memory. These were a bit
more complex, since they have a lot more variables and calculations that you
need to keep track of, but since they follow the simple rules of 2-based
arithmetic, they were fairly easy to solve.

Finally, we had two problems which, once again, worked to ingrain the concepts
of D flip-flops in our minds. The problems implemented simple circuits that made
use of D flip-flops, and we were asked to draw the timing diagrams for the
circuits.

The quiz was a bit more packed than the homework, but it still followed the same
guidelines that these circuits respect. The quiz included some more timing
diagrams, shift and parallel registers, and memory calculations. Additionally,
there was a section which included a pretty in-depth calculation of the inner
representation of a memory chip, but looking past the complexity of the diagram,
internally, it was still just a memory chip that could be represented with a
series of calculations.
