230 likes | 389 Views
Digital Computing. Number Systems Symbol Logic Combinational Logic Sequential Logic Programming Operating Systems Programming Languages. Symbol Logic. Combinational Logic Sequential Logic Boolean Algebra Karnaugh Maps. Logic Circuits. Combinational or Memoryless Logic Circuits
E N D
Digital Computing • Number Systems • Symbol Logic • Combinational Logic • Sequential Logic • Programming • Operating Systems • Programming Languages
Symbol Logic • Combinational Logic • Sequential Logic • Boolean Algebra • Karnaugh Maps
Logic Circuits • Combinational or Memoryless Logic Circuits • Function of Current Input Only • Sequential or Memory Logic Circuits • Function of Current Input plus Past Inputs • State Table (Outputs & Next State) • Next State = Present State + Current Input
Moore & Mealy Machines • Moore Machine • Outputs Function of State Only • Mealy Machine • Outputs Function of State and Input
Sequential Machines • Synchronous Sequential Machines • Defined only at discrete times • Controlled by external clock • Uses Flip-Flops to hold • state variables between clock pulses • Asynchronous Sequential Machines • Defined for all times • No need for explicit memory • Simpler - Two Implementation Restrictions
Asynchronous Machines • No more than one input variable may change • at any on time. • State variable must be assigned in such a way • that no more than one state variable changes • for any possible state changes.
Finite Propagation Times • “Simultaneous” Signal Changes • If 00 > 11 may happen in several ways • 00 > 01 > 11 or • 00 > 10 > 11 depends on “who wins the race” • May have “Don’t Care” States
S T D J Q Q Q Q C C C C R K Q Q Q Q Flip-Flops • Four General Types • D • T • J K • R S • Xnext = A X + B X • where A and B are not functions of X • Clear Input Forces Outputs to 0’s
D and T Flip-Flops • Xnext = D Xnext = T X + T X • D Xnext T X • 0 0 0 X • 1 1 1 X • D = A X + B X T = A X + B X
J K and S R Flip-Flops • Xnext = K X + J X Xnext = S + R X • J K Xnext S R Xnext • 0 0 X 0 0 X • 0 1 0 0 1 0 • 1 0 1 1 0 1 • 1 1 X 1 1 undefined • J = B K = A S = B X = B • R = A X = A (if A B = 0)
Boolean Algebra • A AND B A * B • A OR B A + B • NOT A A • 1’s and 0’s True and False Hi and Lo
Boolean Algebra • A B A AND B A B A NAND B • 0 0 0 0 0 1 • 0 1 0 0 1 1 • 1 0 0 1 0 1 • 1 1 1 1 1 0
Boolean Algebra • A B A OR B A B A NOR B A B A XOR B • 0 0 0 0 0 1 0 0 0 • 0 1 1 0 1 0 0 1 1 • 1 0 1 1 0 0 1 0 1 • 1 1 1 1 1 0 1 1 0
DeMorgan’s Theorem • A AND B = A OR B • A OR B = A AND B
Computer Programming • Sequences • Selection (If If Else Case) • Repetition (Looping - Do While Until For) • Pseudo Code (words) • Flow Charts (graphs)
Operating Systems • Interface between the machine and the user • Batch Operations - From Start to Completion • Time-Sharing (Interactive) - Time Slicing • Multi-Tasking - Time Slicing
Operating Systems • Shell • Text Editor • Language Processors • Assemblers, Compilers, Intepreters • Library (Linker / Loader) • File System
Languages • Machine Language • 1’s and 0’s Hi & Lo Voltages • Assembly Language (Symbolic) • One Line of Machine Instruction • Higher Order Languages (Compiled)
Assembly Language • Four Fields • Label (Location) • Operation (Op-Code or Pseudo-Op) • Operand (Address) • Comments • Macro Definitions • Not subroutines - Inserts lines of code
Higher Order Languages • Compiled - Native Code - Runs Faster • Interpreted - Pseudo Code - Interaction • Examples • FORTRAN • BASIC • C
D S T S J D Q Q Q Q Q Q EN C C C C K R R Q Q Q Q Q Q