{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Class Notes

# Class Notes - ENEE350 The syllabus is on the web at...

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

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.

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

View Full Document
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)