specificationsSoftware Engineering Institue (SEI) Capability Maturity Model (CMM) for
implementationsThese are OBJECTS (nouns)to design: input a specification, output an implementation
to analyze: input an implementation, output a specification
to verify: input a specification and implementation (together), output OK or bug reportsThese are ACTIVITIES (verbs)
Software Engineering Processes and how to evaluate (i.e., rate them for quality) and improve them.Computer Architecture Vocabulary, division of this subject used by Hennessy and Patterson, for example. (a little different since the term "design" is reused.)
Instruction Set Architecture: What programmers (of compilers, assemblers and operating systems, but not applications today) need to know. That is the particular computer's machine language". "Assembly Language" means almost the same thing. (Ask yourself: What is the difference between machine and assembly language?)Five classic components of a computer from Patterson and Hennessy: Control, Datapath, Memory (with different types with their different speeds), input and output. The control and datapath comprise the processor, or CPU.Machine instructions, registers, hardware supported datatypes (2-s complement integers, unsigned integers, floating point numbers), memory model, addressing modes.Computer Organization: Structure of high level parts.Registers, Arithmetic Logic Unit (ALU), caches, memory, control units, Central Processing Unit (CPU),...Computer Design: Low level structure of each part.Gates, flip-flops, logic arrays, ...Function and Structure compared in building (house) architecture. Instruction set architecture is the function part of computer architecture.
Register: Group of flipflops. Block
diagrams of registers (Mano fig. 4-1) Register Transfer Language statement
R2 <- R1.
Meaning of "R2 <- (something)" in terms of
gates and flip-flops (Mano fig. 2-7). Analysis of that figure.
| Value of "Load" input | Data in register at next clock step R(t+1) |
| 1 | I (Data on input wires I) |
| 0 | R(t) (Data in register during previous clock step) |
Instruction Set Architecture of Mano's basic computer: Data is MORE IMPORTANT than processing, so the state of the Mano computer is described first.
Memory and Registers: PC[11..0], E[1], AC[15..0], Memory (4096 words, each 16 bits, word addressed. Ask yourself: How many bytes? Compare to the 4GB virtual memory of suitably equipped PC's.Detailed walkthrough of the Mano computer executing the first 2 instructions from the homework assignment, Mano's tables ?-? and ?-?. Advice for the homework: Read tables 5-? and 6-1 and for each entry, study enough of the text to understand it.
(Input/Output registers: OUTR, INPR, FGO, FGI)The Accumulator is like a single programmer visible general purpose register. The MIPS computers and other RISC computers have 31 general purpose registers, plus one constant 0 register.Data Types: Integer 16 bit 2-s complement arithmetic operations, bitwise logic operations. 8 bit characters are supported only for I/O.Instruction Format: See Figure 5-5 and Tables 5-? or 6-1. Explanation of the I (for indirect addressing)bit and division of the first 4 bits into the I bit and a 3 bit opcode.
The SC<-0 and first 2 steps of the instruction cycle. When register state changes occur based on clock waveform.
Sequence cou nter (SC) register and the 4X16 decoder which generates the timing signals T0, T1, ...
See and learn to use Mano's table 5-6.The sequence counter register and timing signal decoder: Waveforms of T0, T1, ... (fig. 5-7)
Combinational signal definition statetmentUses an = sign.Register Transfer Statement
Examples: D7I'T3 = r; IR(i)=Bi foi i=0,...,11
Means an abbeviation and/or some combinational circuit to generate the signal named by the defined symbol.Example: rB7: AC(14...0)<-shr AC, AC(15)<-E, E<-AC(0)
Has control function or "guard" plus general microoperations.
The comma separated list of general microoperations are all performed simultaneously in those clock periods in which the guard is true.
Illustration of the action of the above example on an example.
Specific microoperation (register transfer): numeric data generated and transferred to a register.
General microperations in the hardare description require hardware be built (in silicon) capable to do it: Each is 1 register transfer, done in 1 clock step.
Specific microoperation: you show the number calculculated and trasferred!
Implementation of the common data bus with MUXs,
review of MUXs and their applications.
Comparative Instruction Set Architecture (brief)Operand Storage in the CPU (Register Organization, Stack Organization)
Instruction Formats, Addressing modes
Program Control(Application Level)