CDA 3100 Spring 2010.

Slides:



Advertisements
Similar presentations
Week 3. Assembly Language Programming  Difficult when starting assembly programming  Have to work at low level  Use processor instructions >Requires.
Advertisements

Assembly Language for Intel-Based Computers, 4 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and.
4/23/2015Engineering Problem Solving with C++ second edition, J. ingber 1 Engineering Problem Solving with C++, Etter/Ingber Chapter 1.
Data Representation COE 202 Digital Logic Design Dr. Aiman El-Maleh
Introduction to Microprocessors Number Systems and Conversions No /6/00 Chapter 1: Introduction to 68HC11 The 68HC11 Microcontroller.
Lecture for Week Spring.  Numbers can be represented in many ways. We are familiar with the decimal system since it is most widely used in everyday.
1 Modified from  Modified from 1998 Morgan Kaufmann Publishers Chapter Three: Arithmetic for Computers citation and following credit line is included:
Comp Sci 251 Intro 1 Computer organization and assembly language Wing Huen.
CSE 111 Representing Numeric Data in a Computer Slides adapted from Dr. Kris Schindler.
Number Representation. 10/12/2015CDA31002 Conversion between Representations Now we can represent a quantity in different number representations How can.
CDA 3100 Fall Special Thanks Thanks to Dr. Xiuwen Liu for letting me use his class slides and other materials as a base for this course.
Number systems, Operations, and Codes
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
WEEK #2 NUMBER SYSTEMS, OPERATION & CODES (PART 1)
CDA 3100 Spring Special Thanks Thanks to Dr. Xiuwen Liu for letting me use his class slides and other materials as a base for this course.
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.
Numbers in Computers.
Number Systems. Topics  The Decimal Number System  The Binary Number System  Converting from Binary to Decimal  Converting from Decimal to Binary.
Lecture 2: 8/29/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
ECE 2110: Introduction to Digital Systems Number Systems: conversions.
ECE 2110: Introduction to Digital Systems Number Systems: conversions.
CDA 3100 Fall Special Thanks Thanks to Dr. Xiuwen Liu for letting me use his class slides and other materials as a base for this course.
1 Chapter 1: Basic Concepts Assembly Language for Intel-Based Computers, 4th edition Kip R. Irvine 9/6/2003.
Department of Computer Science Georgia State University
Unit 1 Introduction Number Systems and Conversion.
Lecturer: Santokh Singh
Computer Architecture and Number Systems
Number Systems & Binary Arithmetic
Digital Logic & Design Adil Waheed Lecture 02.
Chapter 02 Nell Dale & John Lewis.
Assembly Language (CSW 353)
Digital Logic & Design Dr. Waseem Ikram Lecture 02.
Microprocessor Systems Design I
Microprocessor Systems Design I
CS1001 Programming Fundamentals 3(3-0) Lecture 2
Logistics Always read the Calendar at
Number Systems Give qualifications of instructors:
CSE 102 Introduction to Computer Engineering
Number System conversions
Fundamentals & Ethics of Information Systems IS 201
University of Gujrat Department of Computer Science
CS1010 Programming Methodology
CDA 3100 Summer 2011.
BEE1244 Digital System and Electronics BEE1244 Digital System and Electronic Chapter 2 Number Systems.
Introduction to IT By: Muhammed s. anwar.
CDA 3100 Fall 2015.
Number Representation
MMNSS COLLEGE,KOTTIYAM DEPARTMENT OF PHYSICS
Chapter One: Introduction
CDA 3100 Spring 2009.
CDA 3100 Summer 2013.
Data Representation in Computer Systems
Numbering System TODAY AND TOMORROW 11th Edition
Digital Logic & Design Lecture 02.
Machine Architecture and Number Systems
COMS 161 Introduction to Computing
CS/COE0447 Computer Organization & Assembly Language
Digital Systems and Binary Numbers
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
Machine Architecture and Number Systems
Machine Architecture and Number Systems
Binary to Decimal Conversion
Lecture 2: Number Systems
CDA 3100 Fall 2012.
Instructor: Xiuwen Liu Department of Computer Science
Binary & Hex Review.
COMS 361 Computer Organization
Networks & I/O Devices.
CHAPTER 69 NUMBER SYSTEMS AND CODES
Dr. Clincy Professor of CS
Presentation transcript:

CDA 3100 Spring 2010

Special Thanks Thanks to Dr. Xiuwen Liu for letting me use his class slides and other materials as a base for this course

Class organization My name is Zhenghao Zhang Class web page 12/3/2018 Class organization My name is Zhenghao Zhang Why I am teaching this course: I worked for two years as an embedded system engineer, writing codes for embedded controllers. Class web page http://www.cs.fsu.edu/~zzhang/CDA3100_Spring 2010.htm 12/3/2018 CDA3100 CDA3100

12/3/2018 Class Communication This class will use class web site to post news, changes, and updates. So please check the class website regularly Please also make sure that you check your emails on the account on your University record 12/3/2018 CDA3100 CDA3100

Required Textbook The required textbook for this class is 12/3/2018 Required Textbook The required textbook for this class is “Computer Organization and Design” The hardware/software interface By David A. Patterson and John L. Hennessy Fourth Edition 12/3/2018 CDA3100 CDA3100

Lecture Notes and Textbook 12/3/2018 Lecture Notes and Textbook All the materials that you will be tested on will be covered in the lectures Even though you may need to read the textbook for review and further detail explanations The lectures will be based on the textbook and handouts distributed in class 12/3/2018 CDA3100 CDA3100

What you will learn to answer (among other things) How does the software instruct the hardware to perform the needed functions What is going on in the processor How a simple processor is designed

Why This Class Important? 12/3/2018 Why This Class Important? If you want to create better computers It introduces necessary concepts, components, and principles for a computer scientist By understanding the existing systems, you may create better ones If you want to build software with better performance If you want to have a good choice of jobs If you want to be a real computer science major 12/3/2018 CDA3100 CDA3100

Career Potential for a Computer Science Graduate 12/3/2018 Career Potential for a Computer Science Graduate http://www.jobweb.com/studentarticles.aspx?id=904&terms=starting+salary 12/3/2018 CDA3100 CDA3100

Career Potential for a Computer Science Graduate 12/3/2018 Career Potential for a Computer Science Graduate Source: NACE Fall 2005 Report (http://www.jobweb.com/resources/library/Careers_In/Starting_Salary_51_01.htm) 12/3/2018 CDA3100 CDA3100

Computer System Overview 12/3/2018 Computer System Overview A computer system consists of hardware and software that are combined to provide a tool to solve problems (with best performance) Hardware includes CPU, memory, disks, screen, keyboard, mouse ... Software includes System software A general environment to create specific applications Application software A tool to solve a specific problem 12/3/2018 CDA3100 CDA3100

Steps to Run a C Program – First, compiling it into machine code 12/3/2018 12/3/2018 CDA3100 CDA3100

Steps to Run a C Program Then we need to run the program 12/3/2018 Steps to Run a C Program Then we need to run the program The operating system locates where the program is Then it loads the program into memory The instructions in the program are then executed one by one When the program is done, the operating system then releases the memory and other resources allocated to the program 12/3/2018 CDA3100 CDA3100

12/3/2018 Opening the Box 12/3/2018 CDA3100 CDA3100

A Pentium 4 Processor Chip 12/3/2018 A Pentium 4 Processor Chip 12/3/2018 CDA3100 CDA3100

Numbers Numbers are abstraction of quantities 12/3/2018 Numbers Numbers are abstraction of quantities http://www.debtclock.com/ How do we represent these quantities? 12/3/2018 CDA3100 CDA3100

Decimal Numbering System 12/3/2018 Decimal Numbering System We humans naturally use a particular numbering system 12/3/2018 CDA3100 CDA3100

Decimal Numbering System 12/3/2018 Decimal Numbering System For any nonnegative integer , its value is given by Here d0 is the least significant digit and dn is the most significant digit 12/3/2018 CDA3100 CDA3100

General Numbering System – Base X 12/3/2018 General Numbering System – Base X Besides 10, we can use other bases as well In base X, the value of 12/3/2018 CDA3100 CDA3100

Commonly Used Bases Which one is natural to computers? Why? Base 12/3/2018 Commonly Used Bases Base Common Name Representation Digits 10 Decimal 5023ten or 5023 0-9 2 Binary 1001110011111two 0-1 8 Octal 11637eight 0-7 16 Hexadecimal 139Fhex or 0x139F 0-9, A-F Note that other bases are used as well including 12 and 60 Which one is natural to computers? Why? 12/3/2018 CDA3100 CDA3100

Meaning of a Number Representation 12/3/2018 Meaning of a Number Representation When we specify a number, we need also to specify the base For example, 10 presents a different quantity in a different base  There are 10 kinds of mathematicians. Those who can think binarily and those who can't... http://www.math.ualberta.ca/~runde/jokes.html 12/3/2018 CDA3100 CDA3100

12/3/2018 CDA3100

Conversion between Representations 12/3/2018 Conversion between Representations Now we can represent a quantity in different number representations How can we convert a decimal number to binary? How can we then convert a binary number to a decimal one? 12/3/2018 CDA3100 CDA3100

Conversion Between Bases 12/3/2018 Conversion Between Bases From binary to decimal example 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20 12/3/2018 CDA3100 CDA3100

Conversion Between Bases Converting from decimal to binary: given a number in decimal, repeatedly divide it by 2, and write down the remainder from right to the left, until the quotient is 0 Example: 11. Quotient Remainder 5 1 2

Signed Numbers How to represent negative numbers? Sign and magnitude 12/3/2018 Signed Numbers How to represent negative numbers? Sign and magnitude We use an additional bit to represent the sign of the number If the sign bit is 1, it represents a negative number If the sign bit is 0, it represents a positive number How about zero then? There are other shortcomings of this representation Related to the hardware implementation of adders An extra step is required in general to set the sign since the proper sign can not be determined in advance It is not widely used for integer representations 12/3/2018 CDA3100 CDA3100

Signed Numbers Two’s complement 12/3/2018 Signed Numbers Two’s complement The negative of a two’s complement is given by inverting each bit from 0 to 1 and 1 to 0 and then adding 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 12/3/2018 CDA3100 CDA3100

2’s complement In any computer, if numbers are represented in n bits, the non-negative numbers are from 0000…00 to 0111…11, the negative numbers are from 1000…00 to 1111…11.

The positive half from 0 to 2,147,483,647 12/3/2018 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0ten 1ten 2ten … -3ten -2ten -1ten The positive half from 0 to 2,147,483,647 The negative half from -2,147,483,648 to -1 CDA3100

Two’s Complement Representation 12/3/2018 Two’s Complement Representation Properties All negative numbers have a 1 in the most significant bit Hardware only needs to test this bit to see if a number is positive or negative The leading bit is often called the sign bit For , the decimal value is 12/3/2018 CDA3100 CDA3100

Why use 2’s complement? For example, consider 01101 +(– 00011) = 01101 – 00011 = 01010 (13-3=10 in decimal). 01101 – 00011 = 01101 + 100000 – 00011 – 100000 = 01101 + (100000 – 00011) – 100000 = 01101 + 11101 – 100000 = 101010 – 100000 = 01010 11101 is the 2’s complement of 00011. Means that computer (the adder) does not have to be specifically redesigned for dealing with negative numbers, make life easier for the computer The reason is, assume you are subtracting a with b , where 2^{n}>a>b>0. Note that a-b=a+2^{n+1}-b-2^{n+1}. But 2^{n+1}-b is the 2’s complement of b. Also note that 2^{n}>a-b>0. So if represented in binary forms, a+2^{n+1}-b will be having a 1 bit in bit n+1 and some thing in bit 0 to bit n-1 equal to a-b. Bit n will be 0. So you take what is in bit 0 to bit n and it must be a-b.