Basic Circuits (The Building Blocks) The ALU Fuller Adder Subtraction Multiplication (Division) Logic (AND, OR, NOT) What is a mux (Multiplexer)? Create the circuit. (on the board) Give uses for the circuit. Show actual circuits simple_mux2.CKT simple_mux_a.CKT example8bitmux.CKT (using modules) What is a decoder? Create the decoder. (on the board) Give uses for the decoder. Allows a signal to be routed to a particular location based on a code or also it turns on a locaton based on a code. Show actual circuits 2-to-4decoder.CKT 2-to-4decodera.CKT What is a latch? Create the latch (1-bit memory) Show circuit: 1bitlatch.CKT testreg.CKT (Putting the Blocks Together) What is Architecture? Def. the art or practice of designing and building structures More specific Def. the manner in which the components of a computer or computer system are organized and integrated fetch-execute cycle the clock is the heart Many Decisions to be made: 1. Types of data to use (integer, float, logic, etc) WORD size (one byte - the smaller word means that the ALU will only require a small number of gates and connections - show the ADDER, the difference between a 8 bit and a 16 bit wide full adder. Do you see why you use fewer gates? Do you see how you will save money.) fundamental data size (word size) 8bit byte fundamental unit of information 256 different binary numbers 256 addressable memory locations 2. Instruction format. 2-address format ADD Y,X - take up too much instruction memory space (Many different possiblities) single-address format - reply on the accumulator 000Xnnnn nnnn - code for the instruction x - code for the addressing (0 - operand in memory, 1 - operand is immediate) some instructions do not use this bit - because there is no choice. some instructions do not use the 2nd byte (see p. 302) 3. How the instructions will be stored using 2 bytes (because this is the smallest addressable location) instruction format - the format of the machine's instructions single address format (rely on the hardware accumulator) instruction: XXXX0 (0 - operand an address, 1 - operand a number) (see figure on page 302) Program counter (PC) 8-bit address of the current instruction being executed Instruction reigster (IR) stores the current instruction (2 - 8 bit pieces opcode/operand) Decoder (takes the instruction code and produces several control signals) takes opcode and produces several control signals ALU (arithmetic-logic unit) takes 2 operands and produces the results based on the decoders desire Accumulator (ACC) Used the store the results from the ALU (capture the results) RAM (random access memory)