Download presentation
Presentation is loading. Please wait.
Published byMarsha Neal Modified over 8 years ago
1
CDA 3100 Fall2009
2
Special Thanks Thanks to Dr. Xiuwen Liu for letting me use his class slides and other materials as a base for this course
3
1/18/2016CDA31003 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_Fall_20 09.htm http://www.cs.fsu.edu/~zzhang/CDA3100_Fall_20 09.htm
4
1/18/2016CDA31004 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
5
1/18/2016CDA31005 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
6
1/18/2016CDA31006 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
7
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
8
1/18/2016CDA31008 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
9
1/18/2016CDA31009 Career Potential for a Computer Science Graduate http://www.jobweb.com/studentarticles.asp x?id=904&terms=starting+salary
10
1/18/2016CDA310010 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)
11
1/18/2016CDA310011 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
1/18/2016CDA310012 Steps to Run a C Program – First, compiling it into machine code
13
1/18/2016CDA310013 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
14
1/18/2016CDA310014 Opening the Box
15
1/18/2016CDA310015 A Pentium 4 Processor Chip
16
1/18/2016CDA310016 Numbers Numbers are abstraction of quantities – http://www.debtclock.com/ – How do we represent these quantities?
17
1/18/2016CDA310017 Decimal Numbering System We humans naturally use a particular numbering system
18
1/18/2016CDA310018 Decimal Numbering System For any nonnegative integer, its value is given by – Here d 0 is the least significant digit and d n is the most significant digit
19
1/18/2016CDA310019 General Numbering System – Base X Besides 10, we can use other bases as well – In base X, the value of
20
1/18/2016CDA310020 Commonly Used Bases – Note that other bases are used as well including 12 and 60 Which one is natural to computers? – Why? BaseCommon NameRepresentationDigits 10Decimal5023 ten or 50230-9 2Binary1001110011111 two 0-1 8Octal11637 eight 0-7 16Hexadecimal139F hex or 0x139F0-9, A-F
21
1/18/2016CDA310021 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 http://www.math.ualberta.ca/~runde/jokes.html
23
1/18/2016CDA310023 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?
24
1/18/2016CDA310024 Conversion Between Bases From binary to decimal example 1514131211109876543210 2 15 2 14 2 13 2 12 2 11 2 10 2929 2828 2727 2626 2525 2424 23232 2121 2020 0001001110011111
25
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. QuotientRemainder 51 21 10 01
26
1/18/2016CDA310026 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
27
1/18/2016CDA310027 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 1514131211109876543210 0001001110011111 1110110001100001
28
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.
29
313029282726252423222120191817161514131211109876543210 0 ten 1 ten 2 ten 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000010 …… 01111111111111111111111111111101 01111111111111111111111111111110 01111111111111111111111111111111 10000000000000000000000000000000 10000000000000000000000000000001 10000000000000000000000000000010 … … 11111111111111111111111111111101-3 ten -2 ten -1 ten 11111111111111111111111111111110 11111111111111111111111111111111 The positive half from 0 to 2,147,483,647 The negative half from -2,147,483,648 to -1
30
1/18/2016CDA310030 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
31
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.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.