Lecture 1 Saturday, Sep. 15, 2006 Welcome to Machine Structure and Assembly Language (MSAL) Course! Fall 2006.

Slides:



Advertisements
Similar presentations
Assembly Language for Intel-Based Computers, 4 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and.
Advertisements

Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Lecture History of microprocessor. 2.The IBM and IBM-Compatible Personal Computers. 3.Evolution of the INTEL Microprocessor Architecture. lecture.
Microprocessors I Time: Sundays & Tuesdays 07:30 to 8:45 Place: EE 4 ( New building) Lecturer: Bijan Vosoughi Vahdat Room: VP office, NE of Uni Office.
Computer Architecture I (1DT016) Cary Laxer, Ph.D. Visiting Lecturer.
1 Intro to CS: Part 2 Lecture 1 Ata Kaban School of Computer Science The University of Birmingham [adapted from B Bordbar and M Kwiatkowska]
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
Assembly Language for Intel-Based Computers, 4th Edition
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
Number Representation (1) Fall 2005 Lecture 12: Number Representation Integers and Computer Arithmetic.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 1 Dr. “Peter” Weiping Shi Dept. of Electrical and Computer Engineering.
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See: P&H Chapter 2.4, 3.2, B.2, B.5, B.6.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
COE Computer Organization & Assembly Language Talal Alkharobi.
Physics 413 Chapter 1 Computer Architecture What is a Digital Computer ? A computer is essentially a fast electronic calculating machine. What is a program.
CSU0014 Assembly Languages Homepage: Textbook: Kip R. Irvine, Assembly Language for Intel-Based Computers,
Summer 2014 Chapter 1: Basic Concepts. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, Chapter Overview Welcome to Assembly Language.
Assembly Language for x86 Processors 7th Edition
COMPUTER SYSTEM ARCHITECTURE By Sohaib.  The digital computer is a digital system that performs various computational tasks.  The word digital implies.
ACOE2511 ACOE251/AEEC335 -Assembly Language for the 80X86/Pentium Intel Microprocessors Lecturer: Dr. Konstantinos Tatas.
Assembly Language for x86 Processors 7 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and copy this.
CS/ECE 3330 Computer Architecture Kim Hazelwood Fall 2009.
ECE291 – Comp Eng II Lecture 1 – Overview and Review.
1 8/29/05CS150 Introduction to Computer Science 1 Professor: Shereen Khoja
CPU Internal memory I/O interface circuit System bus
1 CPRE210: Introduction to Digital Design Instructor –Arun K. Somani –Tel: – –Office Hours: MWF 10:00-11:00 Teaching Assistant.
CSE 171 Introduction to Digital Logic and Microprocessors Prof. Richard E. Haskell 115 Dodge Hall.
Chapter 19 Number Systems. Irvine, Kip R. Assembly Language for Intel-Based Computers, Translating Languages English: Display the sum of A times.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
CSNB374: Microprocessor Systems Chapter 1: Introduction to Microprocessor.
University of Tehran 1 Microprocessor System Design Omid Fatemi
ACOE2511 Assembly Language for the 80X86/Pentium Intel Microprocessors Lecturer: Dr. Konstantinos Tatas.
Kavita Bala CS 3410, Spring 2014 Computer Science Cornell University.
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
12/13/ _01 1 Computer Organization EEC-213 Computer Organization Electrical and Computer Engineering.
Digital Representations ME 4611 Binary Representation Only two states (0 and 1) Easy to implement electronically %0= (0) 10 %1= (1) 10 %10= (2) 10 %11=
Lecture 1 Tuesday, January 15, 2002 Welcome to ECE 291! Spring 2002.
Princes Nora Bint Abdul Rahman University Dept. of Computer & Information Sciences CS 321 Computer Organization & Assembly Language Lecture 1 (Course Introduction)
CDA 3100 Fall2009. Special Thanks Thanks to Dr. Xiuwen Liu for letting me use his class slides and other materials as a base for this course.
CEC 220 Digital Circuit Design Monday, August 24 CEC 220 Digital Circuit Design Slide 1 of 13.
BITS Pilani Pilani Campus Pawan Sharma ES C263 Microprocessor Programming and Interfacing.
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University.
ECEN2102 Digital Logic Design Lecture 0 Course Overview Abdullah Said Alkalbani University of Buraimi.
1 Chapter 1: Basic Concepts Assembly Language for Intel-Based Computers, 4th edition Kip R. Irvine 9/6/2003.
William Stallings Computer Organization and Architecture 8th Edition
William Stallings Computer Organization and Architecture 6th Edition
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
Assembly Language (CSW 353)
CS 310: Computer Organization and Programming
INTRODUCTION TO MICROPROCESSORS
INTRODUCTION TO MICROPROCESSORS
INTRODUCTION TO MICROPROCESSORS
William Stallings Computer Organization and Architecture 7th Edition
Computer Organization and ASSEMBLY LANGUAGE
Dept. of Computer & Information Sciences (Course Introduction)
Dr. Clincy Professor of CS
Presentation transcript:

Lecture 1 Saturday, Sep. 15, 2006 Welcome to Machine Structure and Assembly Language (MSAL) Course! Fall 2006

People at a Glance: Instructor : Ahmad KhonsariInstructor : Ahmad Khonsari TAs:TAs: A. DadlaniA. Dadlani F. HormozdiariF. Hormozdiari M. RazaghM. Razagh A. JadidiA. Jadidi You: The Assembly Course students!You: The Assembly Course students!

What will MSAL teach you? You will learn Machine Structure and Systems’ Softwares You will learn how to harness the power of microprocessors You will learn how the “brains”, “memory” and “sensors” of a computer work together to perform powerful tasks You will learn how to “speak” (write) the language of hardware to get them to perform complex tasks You will learn 80X86 family Assembly Language

Lecture Outline How to navigate for success in MSAL! Course Syllabus Highlights in the history of computers Number systems review

Course Director Ahmad Khonsari Office: ECE Dept. First Floor, Room 108 Tel.:

Teaching Assistants A. Dadlani Hormozdiari Razagh Jadidi TA Office hours will be posted at the LAB and online by Monday

Lectures Lectures: 10 Classroom Bulding, ECE Dept. Saturday&Monday a.m. – p.m. Notes will be made available online Notes are not a substitute for lecture attendance!

Resources The MSAL web site is your most valuable resource  Schedule, lectures, assignments, reading material, tools, archives  Online submission and grading of homework  Your grades Newsgroup: Khorshid.ut.ac.ir  For Q&A  Share ideas, please don’t share code! Announcements: Khorshid.ut.ac.ir.announce Lab notes available as hardcopy and online as PDF and HTML files

References Required: Microcomputer Systems: The 8086/88 Family, 2nd Edition By:Liu, Yue-Cheng, Glenn A. Gibson Structured Computer Organization, 5th ed By: Tanenbaum Guide to Assembly Language programming in Linux, By Sivarama P. Dandamudi

The course at a glance The bridge between your logic design classes and your high-level programming classes Assembly language programming Principles of Machine Structure Organization of a real microprocessor Interface to external hardware devices A lot of work A lot of fun

Objectives of MSAL Understanding the Structure of a Machine and learn Systems Software! Learn and manage the resources of a microprocessor Learn the principles of machine-level programming Organize and write large programs Program the devices connected to a computer

Evaluation Homework (6 sets) 10 points Projects (5 sets)20 points In class quizzes (10 sets)10 points Two exams (mid-final)60 points Total100 points All students should obtain 50% of the two exams …

History of Computers 1945 John Von Neumann proposes the stored program architecture 1948 Bardeen, Brattain and Shockley invent the transistor 1958 Jack Kilby (UI alumni) introduces the IC (integrated circuit) and opens the road for computing on chips 1960 Computers start to use transistors 1965 Gordon Moore claims that the capacity of chips doubles every 18 months with associated improvements in performance

History of Computers 1971 Intel introduces its first microprocessor, the 4004, which contained 2250 transistors Courtesy of Intel’s microprocessor hall of fame

History of Computers 1974 Intel introduces the 8080, which later became the heart of the first personal computer, a $379 kit named Altair1974 Intel introduces the 8080, which later became the heart of the first personal computer, a $379 kit named Altair Courtesy of Intel’s microprocessor hall of fame

History of Computers In 1965 Gordon Moore predicted that the number of transistors in a microprocessor will double every 18 months and this trend will hold till 1975…

History of Computers Moore’s law is good for the last 26 years!Moore’s law is good for the last 26 years! 1971: 40042,250 transistors 1972: 80082,500 transistors 1974: 80805,000 transistors 1978: ,000 transistors 1982: ,000 transistors 1985: ,000 transistors 1989: DX1,180,000 transistors 1993: Pentium3,100,000 transistors 1997: Pentium II7,500,000 transistors 1999: Pentium III24,000,000 transistors 2000: Pentium IV42,000,000 transistors

History of Computers 1974 William H. Gates and Paul Allen write a BASIC interpreter 1981 IBM introduces the fist PC, with a 16-bit 8088 running at 4.77 MHz, using cassettes, optional floppy and a BAD operating system called DOS 1983 First “affordable” PCs 1984 Introduction of the Windows interface (work pioneered at Xerox labs) 1985 First 32-bit microprocessor (80386)

History of Computers , math co-processor included 1992 Pentium (64-bit memory bus) 1996 Pentium Pro (RISC core for the x86 ISA) 1997 Pentium II, MMX 1999 Pentium III, IA-64 (explicitly parallel processor)

Current trends Parallelism in microprocessors  Multithreaded execution  SIMD parallelism  Explicit instruction-level parallelism Low-power portable computing  Reducing the energy consumed by microprocessors  Computing in laptops, handheld devices, watches (check out IBM’s Linux watch!), sensors Internetworking and ubiquity  Services available over wired or wireless networks

Number Systems Review You should be familiar with Boolean algebra, basic arithmetic operations on binary numbers and the following material from your earlier logic classes The numbers we’re using are in base10 representation d n  (0…9) d n d n-1… d 0 = d n 10 n + d n-1 10 n-1 +…+ d o 10 0 Example: = 9* * * *10 0

Number Systems Review Computers use binary numbers d n  (0,1) d n d n-1… d 0 = d n 2 n + d n-1 2 n-1 +…+ d o 2 0 Example: = 1*2 5 +1*2 4 +0*2 3 +1*2 2 +0*2 1 +1*2 0 = =53

Number Systems Review We use hexadecimal (hex) representation of binary numbers for convenience  Easy conversion, each hex digit is 4 bits  More compact representation Example: 9E7 16 = = 9* * *16 0 = 2535

Base Conversion Division/remainder method Assume we convert n to base b We divide n with the largest power of b which is less than n, to obtain the first digit If r is the remainder we repeat with the largest power of b which is less than r, to obtain the second digit and so on… Class Example : Convert to binary

Number Representation The size of a number in digits defines the range of numbers we can represent Popular sizes  Bits: a binary digit  Bytes: 8 binary digits  Words: 16 binary digits (for the purposes of this class)  Double words: 32 binary digits (for the purposes of this class)

Number Representation The numbers we can represent depend on the size of the representation With 8 bits (a byte) we can represent numbers from 0 through ( or FF 16 ) With 16 bits (a word) we can represent numbers from 0 through (FFFF 16 ) How do we represent negative numbers ?

Number Representation Easy solution: use the first bit as the sign bit 0 is positive (+), 1 is negative (-) Examples: 83 = = Is this a good idea ?  Two representations of 0 (+0,-0)  Difficult to process positive and negative numbers simultaneously  Can you think why ?

Number Representation Use two’s complement arithmetic First bit still represents the sign If –n is the number we want to represent  Invert the bits of +n, then add 1  Or, scan n from right to left, copy leading 0s and the first 1, invert the rest of the bits Example – = =

Why two’s complement ? Easy to handle positive and negative numbers!  Check how easy it is to compute A-B  A+(-B)  Example: 83 = = (1)

Things to remember With n bits you can represent the number from – 2 n to +2 n-1 -1 is a string of 1s –2 n is 1 and the rest 0s +2 n is invalid, unless you move to a larger register (i.e. a representation of a larger size)

Sign extension and contraction Whenever you move from a m-bit to a n-bit representation, n > m, just copy the sign bit to all the additional bits in the extended representation Examples: = = (16- bit) -71 = = (16- bit) Contraction is the opposite to extension You cannot sign contract a n-bit number to a m- bit number unless the high order (n-m) bits are all 0’s or 1’s

Real numbers in binary Integer conversion goes on for the fractional parts d n d n-1… d 0 d -1 d -2… = d n 10 n + d n-1 10 n-1 +…+ d o d d … Example = 4* * * * *10 -2 Same thing for binary numbers Example: Convert to decimal 1* * * * * * * *2- 3 = For signed unsigned you just add the sign bit in the front of the number

Final notes Setup your lab accounts Get the lab manual and start reading Visit the MSAL web site regularly Start HW0 due, The coming week