How Computers Work Lecture 2 Assembly Tools Calling Conventions
How Computers Work
-
Upload
lev-abbott -
Category
Documents
-
view
33 -
download
6
description
Transcript of How Computers Work
![Page 1: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/1.jpg)
How Computers Work
Dr. John P. Abraham
Professor
UTPA
![Page 2: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/2.jpg)
How does computer work with so many languages & Disciplines
• Software
• Hardware– recognizes– switches that are turned off and on– Transistors can act as switches and
amplifiers.– One switch that provides two states,
![Page 3: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/3.jpg)
Transistor analogy
• C Collector. Power supply voltage
• B base
• E Emittor
• By varying levels of current in B, the amount of current flowing into E can be regulated
![Page 4: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/4.jpg)
Switches to store data - 2n
• 1 – 2• 2 -4• 3 -8• 4 -16• 5 – 32• 6 – 64• 7- 128• 8 -256
![Page 5: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/5.jpg)
ASCII and Unicode
• 8 bits
• 16 or 32 bits
![Page 6: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/6.jpg)
Opcode and Operand
• Operation
• And what is operated on
• How many instructions needed to handle programmatic need?
![Page 7: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/7.jpg)
Computer System
• CPU - memory
• Peripherals (input & output)
![Page 8: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/8.jpg)
CPU
• Control unit
• ALU
• Registers
• Interconnection
![Page 9: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/9.jpg)
Operation of a CPU
• 1. Figure out where the next instruction is in the memory (instruction address calculation).
• 2. Fetch the instruction• 3. Figure out what the fetched code means
(decoding the instruction).• 4. If it requires an operand
– a. Figure out where the operand is kept (operand address calculation).
• b. Fetch the operand
![Page 10: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/10.jpg)
continued
• c. If there are multipleoperands repeat a and b.5. Execute the instruction (such asadd, subtract, multiply, jump,loop, etc)6. Figure out the location to storethe result (operand addresscalculation)7. store the result, if there aremultiple results repeat 6 and 7.8. Go back to 1 to do the nextinstruction, or End if it is the lastinstruction.
![Page 11: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/11.jpg)
The following slides are from Dale and Lewis
![Page 12: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/12.jpg)
2
Natural NumbersZero and any number obtained by repeatedly adding one to it.
Examples: 100, 0, 45645, 32
Negative NumbersA value less than 0, with a – sign
Examples: -24, -1, -45645, -32
Numbers
![Page 13: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/13.jpg)
3
IntegersA natural number, a negative number, zero
Examples: 249, 0, - 45645, - 32
Rational NumbersAn integer or the quotient of two integers
Examples: -249, -1, 0, 3/7, -2/5
Numbers
![Page 14: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/14.jpg)
5
Aha!
642 is 600 + 40 + 2 in BASE 10
The base of a number determines the number of digits and the value of digit positions
Natural Numbers
![Page 15: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/15.jpg)
6
Continuing with our example…642 in base 10 positional notation is:
6 x 102 = 6 x 100 = 600
+ 4 x 101 = 4 x 10 = 40 + 2 x 10º = 2 x 1 = 2 = 642 in base 10
This number is in base 10
The power indicates the position of
the number
Positional Notation
![Page 16: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/16.jpg)
68
What if 642 has the base of 13?
642 in base 13 is equivalent to 1068 in base 10
+ 6 x 132 = 6 x 169 = 1014 + 4 x 131 = 4 x 13 = 52 + 2 x 13º = 2 x 1 = 2
= 1068 in base 10
Positional Notation
![Page 17: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/17.jpg)
9
Decimal is base 10 and has 10 digits: 0,1,2,3,4,5,6,7,8,9
Binary is base 2 and has 2 digits: 0,1
For a number to exist in a given base, it can only contain the digits in that base, which range from 0 up to (but not including) the base.
What bases can these numbers be in? 122, 198, 178, G1A4
Binary
![Page 18: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/18.jpg)
10
How are digits in bases higher than 10 represented?
With distinct symbols for 10 and above.
Base 16 has 16 digits:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E, and F
Bases Higher than 10
![Page 19: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/19.jpg)
What is the decimal equivalent of the octal number 642?
6 x 82 = 6 x 64 = 384 + 4 x 81 = 4 x 8 = 32 + 2 x 8º = 2 x 1 = 2
= 418 in base 10
11
Converting Octal to Decimal
![Page 20: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/20.jpg)
What is the decimal equivalent of the hexadecimal number DEF?
D x 162 = 13 x 256 = 3328 + E x 161 = 14 x 16 = 224 + F x 16º = 15 x 1 = 15
= 3567 in base 10
Remember, the digits in base 16 are 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Converting Hexadecimal to Decimal
![Page 21: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/21.jpg)
What is the decimal equivalent of the binary number 1101110?
1 x 26 = 1 x 64 = 64 + 1 x 25 = 1 x 32 = 32 + 0 x 24 = 0 x 16 = 0 + 1 x 23 = 1 x 8 = 8 + 1 x 22 = 1 x 4 = 4
+ 1 x 21 = 1 x 2 = 2 + 0 x 2º = 0 x 1 = 0
= 110 in base 10
13
Converting Binary to Decimal
![Page 22: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/22.jpg)
Remember that there are only 2 digits in binary, 0 and 1
1 + 1 is 0 with a carry
Carry Values 1 1 1 1 1 1 1 0 1 0 1 1 1 +1 0 0 1 0 1 1
1 0 1 0 0 0 1 0
14
Arithmetic in Binary
![Page 23: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/23.jpg)
Remember borrowing? Apply that concept here:
1 2 2 0 2
1 0 1 0 1 1 1 - 1 1 1 0 1 1
0 0 1 1 1 0 0
15
Subtracting Binary Numbers
![Page 24: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/24.jpg)
Counting in Binary/Octal/Decimal
![Page 25: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/25.jpg)
• Mark groups of three (from right)• Convert each group
10101011 10 101 011 2 5 3
10101011 is 253 in base 8
17
Converting Binary to Octal
![Page 26: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/26.jpg)
• Mark groups of four (from right)• Convert each group
10101011 1010 1011 A B
10101011 is AB in base 16
18
Converting Binary to Hexadecimal
![Page 27: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/27.jpg)
Converting Decimal to Octal
Try some!
http://fclass.vaniercollege.qc.ca/web/mathematics/real/Calculators/BaseConv_calc_1.htm
![Page 28: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/28.jpg)
While (the quotient is not zero)Divide the decimal number by the new baseMake the remainder the next digit to the left in the
answerReplace the original decimal number with the quotient
Algorithm for converting number in base 10 to other bases
19
Converting Decimal to Other Bases
![Page 29: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/29.jpg)
Converting Decimal to Octal
What is 1988 (base 10) in base 8?
Try it!
![Page 30: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/30.jpg)
Converting Decimal to Octal
248 31 3 0 8 1988 8 248 8 31 8 3
16 24 24 0 38 08 7 3 32 8 68 0 64 4
Answer is : 3 7 0 4
![Page 31: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/31.jpg)
What is 3567 (base 10) in base 16?
Try it!
20
Converting Decimal to Hexadecimal
![Page 32: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/32.jpg)
222 13 0 16 3567 16 222 16 13
32 16 0 36 62 13 32 48 47 14 32 15
D E F
21
Converting Decimal to Hexadecimal
![Page 33: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/33.jpg)
Computers have storage units called binary digits or bits
Low Voltage = 0High Voltage = 1 all bits have 0 or 1
22
Binary Numbers and Computers
![Page 34: How Computers Work](https://reader036.fdocuments.net/reader036/viewer/2022062422/568132a0550346895d9941c3/html5/thumbnails/34.jpg)
Byte 8 bits
The number of bits in a word determines the word length of the computer, but it is usually a multiple of 8
•32-bit machines •64-bit machines etc.
23
Binary and Computers