Presentation is loading. Please wait.

Presentation is loading. Please wait.

CDA 3100 Fall 2012.

Similar presentations


Presentation on theme: "CDA 3100 Fall 2012."— Presentation transcript:

1 CDA 3100 Fall 2012

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 About Me My name is Zhenghao Zhang
4/30/2019 About Me 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. 4/30/2019 CDA3100 CDA3100

4 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

5 Why This Class Important?
4/30/2019 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 scientist 4/30/2019 CDA3100 CDA3100

6 Career Potential for a Computer Science Graduate
4/30/2019 Career Potential for a Computer Science Graduate 4/30/2019 CDA3100 CDA3100

7 Career Potential for a Computer Science Graduate
4/30/2019 Career Potential for a Computer Science Graduate Source: NACE Fall 2005 Report ( 4/30/2019 CDA3100 CDA3100

8 Required Background Based on years of teaching this course, I find that you will suffer if you do not have the required C/C++ programming background. We will need assembly coding, which is more advanced than C/C++. If you do not have a clear understanding at this moment of array and loop , it is recommended that you take this course at a later time, after getting more experience with C/C++ programming.

9 Array – What Happens? #include <stdio.h> int main (void) { int A[5] = {16, 2, 77, 40, 12071}; A[A[1]] += 1; return 0; } A[1] = 2, so A[2] <- 78.

10 Loop – What Happens? #include <stdio.h> int main () { int A[5] = {16, 20, 77, 40, 12071}; int result = 0; int i = 0; while (result < A[i]) { result += A[i]; i++; } return 0; result = 113, i=3

11 4/30/2019 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 s on the account on your University record Blackboard will be used for posting the grades 4/30/2019 CDA3100 CDA3100

12 Required Textbook The required textbook for this class is
4/30/2019 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 4/30/2019 CDA3100 CDA3100

13 Lecture Notes and Textbook
4/30/2019 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 4/30/2019 CDA3100 CDA3100

14 Decimal Numbering System
4/30/2019 Decimal Numbering System We humans naturally use a particular numbering system 4/30/2019 CDA3100 CDA3100

15 Decimal Numbering System
4/30/2019 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 4/30/2019 CDA3100 CDA3100

16 General Numbering System – Base X
4/30/2019 General Numbering System – Base X Besides 10, we can use other bases as well In base X, Then, the base X representation of this number is defined as dndn-1…d2d1d0. The same number can have many representations on many bases. For 23 based 10, it is 23ten 10111two 17sixteen, often written as 0x17. 4/30/2019 CDA3100 CDA3100

17 Commonly Used Bases Which one is natural to computers? Why? Base
4/30/2019 Commonly Used Bases Base Common Name Representation Digits 10 Decimal 5023ten or 5023 0-9 2 Binary two 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? 4/30/2019 CDA3100 CDA3100

18 Meaning of a Number Representation
4/30/2019 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... 4/30/2019 CDA3100 CDA3100

19 4/30/2019 CDA3100

20 Question How many different numbers that can be represented by 4 bits?
Always 16 (24), because there are this number of different combinations with 4 bits, regardless of the type of the number these 4 bits are representing. Obviously, this also applies to other number of bits. With n bits, we can represent 2n different numbers. If the number is unsigned integer, it is from 0 to 2n-1.

21 Conversion between Representations
4/30/2019 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? 4/30/2019 CDA3100 CDA3100

22 Conversion Between Bases
4/30/2019 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 4/30/2019 CDA3100 CDA3100

23 Converting from binary to decimal
Converting from binary to decimal. This conversion is also based on the formula: d = dn-12n-1 + dn-22n-2 +…+ d222 + d121 + d020 while remembering that the digits in the binary representation are the coefficients. For example, given two, in decimal, it is = 43.

24 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

25 Digging a little deeper
Why can a binary number be obtained by keeping on dividing by 2, and why should the last remainder be the first bit? Note that Any integer can be represented by the summation of the powers of 2: d = dn-12n-1 + dn-22n-2 +…+ d222 + d121 + d020 For example, 19 = = 1 * * * * * 20. The binary representation is the binary coefficients. So 19ten in binary is 10011two.

26 Digging a little deeper
In fact, any integer can be represented by the summation of the powers of some base, where the base is either 10, 2 or 16 in this course. For example, 19 = 1 * * 100. How do you get the 1 and 9? You divide 19 by 10 repeatedly until the quotient is 0, same as binary! In fact, the dividing process is just an efficient way to get the coefficients. How do you determine whether the last bit is 0 or 1? You can do it by checking whether the number is even or odd. Once this is determined, you go ahead to determine the next bit, by checking (d - d020)/2 is even or odd, and so on, until you don’t have to check any more (when the number is 0).

27 Conversion between Base 16 and Base 2
Extremely easy. From base 2 to base 16: divide the digits in to groups of 4, then apply the table. From base 16 to base 2: replace every digit by a 4-bit string according to the table. Because 16 is 2 to the power of 4.

28 Addition in binary 39ten + 57ten = ? How to do it in binary?

29 Addition in Binary First, convert the numbers to binary forms. We are using 8 bits. 39ten -> 57ten -> Second, add them.

30 Addition in binary The addition is bit by bit.
We will run in at most 4 cases, where the leading bit of the result is the carry: 0+0+0=00 1+0+0=01 1+1+0=10 1+1+1=11

31 Subtraction in Binary 57ten – 39ten = ?

32 Subtraction in Binary

33 Subtraction in binary Do this digit by digit. No problem if 0 - 0 = 0,
1 - 0 = 1 1 – 1 = 0. When encounter 0 - 1, set the result to be 1 first, then borrow 1 from the next more significant bit, just as in decimal. Borrow means setting the borrowed bit to be 0 and the bits from the bit following the borrowed bit to the bit before the current bit to be 1. Think about, for example, subtracting 349 from 5003 (both based 10). The last digit is first set to be 4, and you will be basically subtracting 34 from 499 from now on.


Download ppt "CDA 3100 Fall 2012."

Similar presentations


Ads by Google