\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.