Class Notes

Class Notes - ENEE350 1/29/04 The syllabus is on the web at

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ENEE350 1/29/04 The syllabus is on the web at http://www.ece.umd.edu/~manoj/350/syllabus.pdf In this class, we will be using the MIPS instruction set. The grade breakdown is: HW 10% Programming 15% (MIPS assembly) Quizzes 15% Mid-term 80% Final 30% Text : 350 Class Notes (from Engineering Copy Center $15) Recommended : MIPS by Waldron TA: Abdel-Hameed Badawy Grader: Rania Mameesh In this class, we will use the approach of starting from the C language and moving backward to Machine Language, then the logic level. 1 Intro Computers as Machines Computing is manipulating numbers and/or symbols we went to use the computer to solve a problem. The computer uses a certain algorithm (sequence of steps) to solve the problem. Computers perform algorithm development on their own while calculators and slide rules cannot. A computer can solve a problem only if we can develop a finite algorithm for it. Algorithms can be replaced to change the function of the machine. Infinite algorithms are not polynomial time algorithms. We take computer architecture seriously to make faster computers and reduce cost and power consumption (heat). 90% of the processors made are going into embedded systems. Structured Computer Organization This means we will use abstractions (which are representations that help give understanding to the class). Transistors, logic gates, files, and memory are considered primary hardware abstractions. The abstraction list is as follows: HLLA (High Level Language Architecture) allows the building of a virtual machine ALA (Assembly Level Architecture) involves instructions, registers, memory, and labels ISA (Instruction Set Architecture) binary MA (Microarchitecture) muxes and decoders LL (Logic Level) 2 High Level Language Architecture In HLL, we have - variables (int, float, bool, char, arrays, structures) - operators (assignment, logical, arithmetic) - control structures (loops, if-else, goto, subroutine calls/returns) - system calls (I/O operations that must go through the OS) ENEE350 2/3/04 2 HLL Architecture 2.5 I/O Streams and Files Variables declared in a program are non-persistant (i.e. erased after execution). Sometimes we might want to keep the info around longer, so we can write it to a file. this is done through the OS since direct user writing to the hard drive could overwrite another file. The user level calls functions in a library that intern calls functions through the Application- Programming Interface (API) at the OS level. The software structure is thus due to leave more room for expansion. Arranging the layers like this allows for replacement of device drivers without altering the OS. 3 Assembly Level Architecture In C we write: a = b + c; d = a * a + b; In Assembly level it would look like: lw $1, 0($28) lw $2, 4($28) add $3, $1, $2 mult $4, $3, $3 add $5, $4, $1 sw $5, 8($28) Since Assembly level has no notion of variables, it uses memory addresses. lw is load word (copy to register),...
View Full Document

Page1 / 55

Class Notes - ENEE350 1/29/04 The syllabus is on the web at

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online