David's Guide to CS

Useful formulas and references

Hard Drives

Hard Drive Website Hard Drive Document from nitin

Formulas

  • Disk access time = Seek Time + Rotational delay + Transfer time + Controller overhead + Queuing delay
  • Average Disk Access Time = Average seek time + Average rotational delay + Transfer time + Controller overhead + Queuing delay
  • Average Seek Time = 1/3 * Time taken for one full stroke
    • (Time taken to move from track 1 to track 1 + Time taken to move from track 1 to last track)/2
    • {0 + (k-1)t}/2
    • (k-1)t/2
  • Average Rotational Latency = 1/2 * Time taken for one full rotation
  • Capacity of disk pack = Total number of surfaces * Number of tracks per surface * Number of sectors per track * storage capacity of one sector
  • Formatting Overhead = Number of sectors * Overhead per sector
  • Formatted Disk Space = Total disk space or capacity - formatting overhead
  • Recording density or storage density = Capacity of track / circumference of the track
  • Track Capacity = Recording density of the track * Circumference of the track
  • Data Transfer Rate = Number of heads * Bytes that can be read in one full rotation * Number of rotations in one second = Number of heads * Capacity of one track * Number of rotations in one second
  • Tracks per surface = (Outer radius - Inner radius) / Inter Track gap

Circuit reference

  • Logic Gates
  • Full Adder

Computer Arithmetic

Computer arithemetic document from nitin

Memory + Cache

Formulas

Direct mapped cache

  • physical address size (bits) = TAG + Line Number + Block/Line Offset
  • \(\text{MM(size in bytes)} = 2^{\text{number Of Bits In Physical Address}} * 2^3\)
  • \(\text{BlockOffset(size in bytes)} = 2^{\text{Bits In Block Offset}} * 2^3 \)
  • \(\text{number of lines} = 2^{\text{bits in line number}} = \frac{\text{Cache size}}{\text{Line Size}} \)
  • \(\text{tag directory size} = \text{number of lines in cache * Number of bits in tag} = \text{Number of Tags} * \text{Tag size} \)

Set Associative Mapped cache

  • physical address size (bits) = TAG + Set Number + Block/line Offset
  • \(2^\text{Set Number (bits)} = \frac{\text{Lines in cache}}{\text{Number of sets}}\)

Fully associative cache

  • physical address size (bits) = TAG + Block offset

Pipelining

pipelining document from nitin

Formulas

  • \(\text{Speed Up (S)} = \frac{\text{Non-pipelined execution time}}{\text{Pipelined execution time}}\)

  • \(\text{Efficiency} = \frac{\text{Speed Up}}{\text{Number of stages in Pipelined Architecture}}\)

  • \(\text{Efficiency} = \frac{\text{Number of boxes utilized in phase time diagram}}{\text{Number of boxes in phase time diagram}}\)

  • \(\text{Throughput} = \frac{\text{Number of instructions executed}}{\text{Total time taken}}\)

  • Non-pipelined execution time = Total number of instructions * Time taken to execute one instruction = n * k clock cycles

  • Pipelined execution time

    = Time taken to execute first instruction + Time take to execute remaining instructions

    = 1 * k clock cycles + (n-1) * 1 clock cycle

    = (k + n-1) clock cycles

  • Cycle time = Maximum delay due to any stage + Delay due to its register

  • delay due to its register = latch delay

  • pipeline time for x tasks = Time taken for 1st task + Time taken for remaining tasks

    = number of phases * cycle time + (total tasks -1) * cycle time

MIPS