COMP 2003: Assembly Language and Digital Logic Chapter 0: Some Background Notes by Neil Dickson.

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

DAP teaching computer architecture at Berkeley since 1977
Introduction to Machine/Assembler Language Noah Mendelsohn Tufts University Web:
Slide 4-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 4 Computer Organization.
COMP 2003: Assembly Language and Digital Logic
Computer Organization and Assembly Languages Yung-Yu Chuang
Chapter 1 Background System Software Chih-Shun Hsu
IA-32 Processor Architecture
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
1 Computer Architecture and Assembly Language COS 217.
PC hardware and x86 3/3/08 Frans Kaashoek MIT
IA-32 Architecture COE 205 Computer Organization and Assembly Language Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University.
Assembly Language for Intel-Based Computers Chapter 2: IA-32 Processor Architecture Kip Irvine.
1 Homework Reading –Professional Assembly Language, pp 17-32, Continue work on mp1 –Questions? Lab with your assigned section this week.
ICS312 Set 3 Pentium Registers. Intel 8086 Family of Microprocessors All of the Intel chips from the 8086 to the latest pentium, have similar architectures.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 2: 80386DX Internal Architecture & Data Organization.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2014 Lecture 4: x86 memory.
1 Sec (2.3) Program Execution. 2 In the CPU we have CU and ALU, in CU there are two special purpose registers: 1. Instruction Register 2. Program Counter.
An Introduction to IA-32 Processor Architecture Eddie Lopez CSCI 6303 Oct 6, 2008.
Programming Languages Generations
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
Assembly Language for Intel-Based Computers, 4 th Edition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved. You.
6.828: PC hardware and x86 Frans Kaashoek
COMP 2003: Assembly Language and Digital Logic Chapter 7: Computer Architecture Notes by Neil Dickson.
Computer Systems Organization CS 1428 Foundations of Computer Science.
COMP3221 lec04--prog-model.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 4: Programmer’s Model of Microprocessors
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
Assembly Language A Brief Introduction. Unit Learning Goals CPU architecture. Basic Assembler Commands High level Programming  Assembler  Machine Language.
The Central Processing Unit (CPU) and the Machine Cycle.
CET 3510 Microcomputer Systems Tech. Lecture 2 Professor: Dr. José M. Reyes Álamo.
CS 111 – Sept. 15 Chapter 2 – Manipulating data by performing instructions “What is going on in the CPU?” Commitment: –Please read through section 2.3.
Chapter 2 Data Manipulation Yonsei University 1 st Semester, 2015 Sanghyun Park.
Important Concepts  Parts of the CPU  Arithmetic/Logic Unit  Control Unit  Registers  Program Counter  Instruction Register  Fetch/Decode/Execute.
Computer Structure & Architecture 7b - CPU & Buses.
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
1.4 Representation of data in computer systems Instructions.
Other Processors. Having learnt MIPS, we can learn other major processors. Not going to be able to cover everything; will pick on the interesting aspects.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
Chapter 2 Parts of a Computer System. 2.1 PC Hardware: Memory.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Chapter 2 The Microprocessor Architecture Microprocessors prepared by Dr. Mohamed A. Shohla.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures.
What is a processor ? A “Processor," is a small chip that resides in computers and other electronic devices. It also called “Brain ” of a computer. It.
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Chapter Overview General Concepts IA-32 Processor Architecture
Introduction to assembly language programming and Computer Architecture By Anand George SourceLens.org Copyright. All rights reserved. Content Owner -
Exploiting & Defense Day 1 Recap
Homework Reading Lab with your assigned section starts next week
Assembly language.
x86 Processor Architecture
Instruction Set Architecture
Other Processors.
Homework Reading Continue work on mp1
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures
CS 301 Fall 2002 Computer Organization
Fundamentals of Computer Organisation & Architecture
MIPS Procedure Calls CSE 378 – Section 3.
Tutorial No. 11 Module 10.
Assembly Language (CSW 353)
MARIE: An Introduction to a Simple Computer
Computer Architecture CST 250
Introduction to Computer Systems
X86 Assembly Review.
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
Computer Architecture and System Programming Laboratory
Sec (2.3) Program Execution.
Presentation transcript:

COMP 2003: Assembly Language and Digital Logic Chapter 0: Some Background Notes by Neil Dickson

Purposes of the Course Learn how modern computers work from a software perspective Learn about the basics of computer architecture

Behold, The Computer CPURAM I/O Devices the focus of this course a huge can of worms

Memory (RAM) Data in memory is whatever you use it as hFFFFFFFFh Bh

CPU Execution 1.Reads data from memory representing machine code instruction (fetch) 2.Interprets the machine code (decode) 3.Reads data from registers or memory to be operated on (load) 4.Performs the operation specified by the instruction (execute) 5.Writes results to registers or memory (store)

CPU State (32-bit x86) eax ebx ecx edx esp ebp esi edi eflags eip General Registers Special Registers 4 Cache Levels (primary, L1, L2, L3) Things relevant for now Things not relevant until later on Translation Lookaside Buffers (TLBs) cr0 cr2 cr3 cr4 Control Registers st0 st2 st3 st4 FPU Registers st1 st5 st6 st7 xmm0 xmm2 xmm3 xmm4 SSE Registers xmm1 xmm5 xmm6 xmm7 gdtr ldtr idtr trcw sw tw mxcsr MTRRs MSRs Miscellaneous Other Stuff

What is Assembly Language? A programmer-readable representation of machine code

Why Use Assembly Language? To learn how your software actually works under the hood Performance Operating Systems Embedded Systems

Things you’ll need Inventor IDE, an assembly editor created for this course ( Assembly Language Video Tutorial, a fast, easy way to learn assembly for doing graphics (