Chapter 3 Computer Organization Boolean Algebra and Digital Logic
Boolean Operators
1. AND 2. OR 3. NOT
SOP Kmap
1. Group the biggest possible group of 1s 2. Drop the term that differs between the groups 3. Any terms remaining that have an input of 0 turn to NOTs 4. Repeat for all groups until expression is complete EX: A`CD + ABCD + AB`C` + AB`C goes to AB`+CD
unsigned integer
A data type that stores positive integer values as ordinary binary numbers; its value is always assumed to be positive.
D Flip-Flop
A flip-flop with one data input that stores the value of that input signal in the internal memory when the clock edge occurs *stores 1 bit of data Output value of 1 means circuit is currently storing a value of 1
mealy machine
A state machine whose output is determined by both the sequential logic and the combinational logic of the machine. associates an output for each transition. outputs are a function of it's current state and it's input
moore machine
A state machine whose output is determined only by the sequential logic of the machine. Output is a function of only its current state. outputs depend only on the present state
redundancy law
AB + A`C+BC = AB + A`C
DeMorgan's Law
AND form: (xy)` = x` + y` OR form: (x+y)`= x`y`
associative law
AND form: (xy)z = x(yz) OR form: (x+y)+z = x + (y+z)
null (dominance) law
AND form: 0x = 0 OR form: 1 + x = 1
identity law
AND form: 1x = x OR form- 0+x=x
distributive law
AND form: x + (yz) = (x+y)(x+z) OR form: x(y+z) = xy + xz
integrated circuit (IC)
An electronic circuit having many components, such as transistors, diodes, resistors, and capacitors, in a single package.
Edge-triggered
Certain triggering that require a change in the clock signal as a condition for switching states EX: flip-flop
operator priority
Prioritized as 1. () 2. NOT 3. AND 4. OR
absorption law
AND form: x(x+y)=x OR form: x+xy=x
double complement law
AND form: x`` = x
idempotent law
AND form: xx = x OR form: x + x = x
Inverse Law
AND form: xx` = 0 OR form: x + x` = 1
Commutative law
AND form: xy = yz OR form: x + y = y+x
data word
The number of bits that a CPU retrieves from a memory for processing in a one machine cycle. When all other conditions are equal, a machine with a larger data word is faster
parity generator
a circuit that creates the necessary parity bit to add to a word
deterministic finite automata
a finite automaton that has at most one transition from a state for each input symbol and no empty transitions. Abbreviated DFA.
majority function
a function that, when given 3 inputs, outputs a 0 if less than half of its inputs are 1 and a 1 if at least half of its inputs are 1
karnaugh maps
a graphical way to represent boolean functions Used as a table to enumerate the values of a given boolean expression for different input value Rows and columns correspond to the possible values of the function's inputs (from truth table) Each cell represents the outputs of the function for those possible inputs
essential prime implicant
a group of 1s that contains at least one 1 that is not part of any prime implicant
prime implicant
a group of 1s that isn't contained in any other groups of 1s
finite state machine
a machine that consists of a fixed set of possible states with a set of allowable inputs that change the state and a set of possible outcomes EX: traffic stop: Goes from green to yellow to red, but can only go from red to green
convolutional coding
a method that operates on an incoming serial bit stream, generating an encoded serial output stream that enables it to correct errors continuously
implicant
a rectangular grouping of 1s that contain any power of 2 (1,2,4,8)
half-adder
a simple combinational circuit, can only add two bits together
embedded systems
a single programmed microcomputer chip
chip
a small electronic device consisting of the necessary electronic components (transistors, resistors, and capacitors) to implement various gates *components are etched directly on the chip, allowing it to require less power
flip-flop
a storage element used for sequential circuits *State of the flip flop is a function of the previous inputs to the circuit *Output depends on the current inputs and the current state of the circuit
hamming code
a type of forward error correction that uses blocks of data (block coding) to compute the necessary redundant bits
boolean variables
a variable which stores a Boolean value (true or false). *Usually represented with a choice of ABCD or XYZ *can be reordered and regrouped
memory addresses
addresses in a computer is specified as binary numbers 1. when a memory address is referenced, computer has to determine the actual address (done using a decoder) 2. When figuring out how many bits are needed, use the base 2 then use how many addresses you have and solve for x
boolean algebra
algebra for the manipulation of objects that can take on only 2 values (true and false) but can be any pair of values *natural way to represent digital information *0 = false, 1 = true
ASM
algorithmic state machine expresses algorithms that administer an FSM from one state to another Consists of blocks that contain a state box, a label, and optionally condition and output boxes Each block has 1 entry point and at least 1 exist point Moore type outputs (circuit signals) indicated inside the state block Mealy type outputs- indicated in the oval output box
level triggered
allowed to change state whenever the clock signal is either high or low
black box
allows us to ignore details of the actual gates and shows us the inputs and outputs of the circuits
convolutional code
an error correcting code that uses parity bits in such a way that only the parity bits (not the parity bits + the message) needs to be transmitted *An encoding process whereby the output is a function of the input and some number of bits previously received. Input is overlapped over itself to form a stream of output symbols
SR flip flop
basic memory unit S stands for set, R stands for reset Combination of 1 and 1 is undefined in this type of flip flop
parity checker
checks to make sure proper parity (odd or even) is present in the word, detecting an error if the parity bit is incorrect
encoder
combinational circuit with 2^n input lines with n output lines *opposite of decoder
boolean expressions
combining the variables and operators yield B_______ E___________
product of sums form
consist of ORed variables that are ANDed together EX: (x+y)(x+z`)(y+z`)(y+z)
sequential circuits
defines its output as a function of both its current inputs and its previous inputs Output depends on past inputs
machines
devices that respond to a set of stimuli (events) by generating predictable responses (actions) based on a history of prior events (current state)
logic families
different types of logic devices that belong to different production technologies Include TTL, NMOS/PMOS, CMOS and ECL
boolean duality principle
each function/property has an AND form and an OR form
synchronous
edge triggered use clocks to order events
XOR
exclusive or Returns false if both inputs are equal, and returns true otherwise
canonical form
for any given boolean function thee is a unique standardized form *Different standards that designers use *2 most common are the sum of products form and the product of sums form
boolean function
has one or more input values and yields a result based on the input values in the set
minterm
if a product terms includes all of the variables exactly once (complemented or not complemented) EX: for 2 inputs (x and y), m________ would be x'y`, x`y, xy`, xy Represents all the possible input combinations for the function
gates
implement each of the basic logic functions 1. building blocks for digital design 2. small electronic device that computes various functions of two-valued signals 3. basically just implements a simple boolean function
characteristic table
indicates what the next state should be based on the inputs and the current state Q Q(t) = current state Q(t+1) = next state or the state the flip flop should enter after the clock has been pulses
bit masking
individual bits in a byte are stripped (set to 0) according to a specified pattern 1. good for processing individual bits in a byte 2. Place a 1 in the position of each bit you want to keep, set the others to 0
Asynchronous
level triggered. become active any input value changes
bit shifting
moves the bits of a word or byte one position to the left or right *Shifting a bit to the left takes it to the position of the next higher power of two *When the bits of an unsigned integer are shifted to the left by one position, has the same effect as multiplying that integer by 2
NAND
produces complementary output to AND Always true unless both inputs are 1,then it returns false *Universal gate because any electronic circuit can be made using only this type of gate Cheap to build and easier to build complex circuits
NOR
produces complementary output to OR Always false unless both inputs are 0, then it returns true
viterbi decoder
reads the bit that have been output by a conventional encoder and compares the symbol stream read with a set of probable symbol stream
AND
represented as a dot or no symbol at all *Basically a boolean product EX: xy = x*y= x and y
NOT
represented as an overscore (-) or prime (`) EX: x` and read as n__ x
OR
represented by plus sign, referred to as boolean sum *Expression is x + y
sum of products
requires the expression to be a collection of ANDed variables that are ORed together EX: F(x,y,z) = xy + yz` + xyz
JK flip flop
same thing as an SR flip flop except that when both inputs are 1, the circuit negates the current state
multiplexer
selects binary info from one of many input lines and directs it to a single output line 1. Selection of a particular input line is controlled by a set of selection variables or control lines 2. Only one input is routed through the circuit to the output line, other inputs are cut off 3. basically just a data selector
truth table
shows the relationship between the input values and the result of a specific boolean operator or function on the input variables
transistors
small electrical devices that could receive and amplify radio signals *basically just digital switches
SSI chips
the first integrated circuits only contained up to 100 electronic components per chip
digital circuits
the physical components that perform arithmetic operations or make choices in a computer, constructed from a number of primitive elements called gates
ripple carry adder
the sequential generation of carries ripple through the adder stages
check board configuration
this is when there are 4 individual 1's that cannot be grouped together S = A XOR B XOR C
feedback
to remember a past state, simply means the output of a circuit is fed back as input to the same circuit
ttl
transistor logic replaces all diodes originally found in IC's with bipolar transistors 0-.8V = logic 0 2_5 V = logic 1
ULSI
ultra large scale integration Has more than 1 million electronic components per chip
combinational logic
used to build circuits that contain basic boolean operators, inputs and outputs 1. an output with c________ logic is always based on the given inputs 2. Output of c_____________- circuit = function of inputs 3. Can have several outputs and each output represents a different boolean function
clocks
used to order events A circuit that emits a series of pulses with a precise pulse width and a precise interval between consecutive pulses Interval is called the clock cycle time, measured in MHz or GHz Used to decide when to update the state of the circuit
decoder
uses the inputs and their respective values to select one specific output line has n input lines and 2^n output lines 2. one unique output line is set to 1, while other output lines are set to 0
POS Kmaps
1. Group the biggest possible groups of 0's 2. Drop the term that differs 3. Any terms that have an input of 1 turn to NOTs 4. Make terms with the sums 5. Repeat for all terms until expression is complete EX: (A+C)(A`+B`+C)(A+C`+D)(A`+B`+D)
boolean identities
1. Identity law 2. Null (dominance) law 3. Idempotent Law 4. Inverse Law 5. Commutative law 6. Associative law 7. Distributive law 8. Absorption law 9. DeMorgan's Law 10. Double complement law 11. Redundancy Law
KMAP rules
1. Only 1s can be grouped 2. can only group 1s in the kmap if they are in the same row or in the same column (can't be diagonal) 3. Can groups 1's if the total number in the group is a power of 2 4. Make the groups as large as possible and all 1's must be in a group 6. Overlapping and wraparound groups are allowed 7. Write down the function
using a memory circuit
1. an address is asserted on S0 and S1 2. Write enable (WE) is set to high 3. The decoder using S0 and S1 enables only one AND gate which selects a given word in memory 4. The line from step 3 combines with the clock and write enable select only one word 5. write gate enabled in step 4 drives the clock for the selected word 6. when the clock pulses, the word on the input lines is loaded into the D flip flops
analyzing a circuit
1. determine the input equations for the flip flops 2. determine the output equations for the outputs 3. find the net state equations for each flip flop (using the input equations) 4. use kMAPS to simplify the next state equations 5. Construct the truth table
designing a circuit
1. read the problem carefully to determine the input and output values 2. establish a truth table that shows the output for all possible inputs 3. convert the truth table into a boolean expression 4. simplify the boolean expression
adding binary numbers
1. uses 3 inputs (x,y, carry in) and 2 outputs (sum and carryout) 2. use a full adder and feed the carry out of one circuit into the carry in of the circuit immediately to its left
4by3 memory
4 D flipflops 2 control line decoder results in 4 output lines to represent the words