Skip to content

Elements of Computing Systems Chapter 3

jgwhite edited this page Dec 16, 2014 · 20 revisions

A latch

Preamble

  • Welcome Sam
  • Quick overview of the chapter
  • DFF: primitive and possible implementations
  • How do computer clocks actually work?
    • Capacitors and filters (Chris L)
    • Crystal with resonant frequency (James M)
  • A cycle is from the beginning of a tick to the end of the tock
  • How does the simulator’s clock work (Appendix A.7)
    • During a tick the inputs are read, on tock the outputs are set
  • Tuning a clock cycle such that all part of the circuit can be reached
  • Chips produce junk between ticks
  • A DFF is effectively like a delay line
  • The “invalid design” with fan-in 2 in Figure 3.1 is really a short circuit
    • The Mux both isolates the circuit and allows our behaviour
  • Does a Latch relate to flip-flops?
    • Wikipedia page is fairly revealing
  • Addressing is introduced without too much foreshadowing of how it’ll be used later on
  • Multiplexers are about where something goes our load pins are about when
  • A brief conversation about the meaning of k in 3.2.3

Leo diagraming addressing

Build

  • James M’s glorious rake task
  • Turns out you do have to declare out twice in the HDL
  • TextMate beats Jamie’s Vim on this round :trollface:
  • For addressing, we refer back to our n-way (de)muxes from chapter 1
  • We use the 3 most significant address bits in our RAM64 to select the RAM8 then we pass the rest
    • Comparable with paging
    • Tree-like approach as smaller chunks of the address are sent down branches
  • RAM16K isn’t as big a jump in size as the previous ones, tripped us up
  • In x86 we read a word of 32 bits then take a byte out of that
    • The minimum addressable size is 32 bits
    • Boundary alignments are important for performance (to explore)
Clone this wiki locally