This document discusses computer arithmetic and floating point representation. It begins with an introduction to computer arithmetic and covers topics like addition, subtraction, multiplication, division and their algorithms. It then discusses floating point representation which uses scientific notation to represent real numbers. Key aspects covered include single and double precision formats, normalized and denormalized numbers, overflow and underflow, and biased exponent representation. Examples are provided to illustrate floating point addition and multiplication. The document also discusses floating point instructions in MIPS and the need for accurate arithmetic in floating point operations.
There are situations, called hazards, that prevent the next instruction in the instruction stream from executing during its designated cycle
There are three classes of hazards
Structural hazard
Data hazard
Branch hazard
Pipelining is an speed up technique where multiple instructions are overlapped in execution on a processor. It is an important topic in Computer Architecture.
This slide try to relate the problem with real life scenario for easily understanding the concept and show the major inner mechanism.
There are situations, called hazards, that prevent the next instruction in the instruction stream from executing during its designated cycle
There are three classes of hazards
Structural hazard
Data hazard
Branch hazard
Pipelining is an speed up technique where multiple instructions are overlapped in execution on a processor. It is an important topic in Computer Architecture.
This slide try to relate the problem with real life scenario for easily understanding the concept and show the major inner mechanism.
CISC & RISC Architecture with contents
History Of CISC & RISC
Need Of CISC
CISC
CISC Characteristics
CISC Architecture
The Search for RISC
RISC Characteristics
Bus Architecture
Pipeline Architecture
Compiler Structure
Commercial Application
Reference
The Opcode or the operation code is the part of the instruction that specifies the operation to be performed by the instruction. The CPU decodes (understands) the instruction with the help of the opcode. Copy the link given below and paste it in new browser window to get more information on Operand and Opcode:- http://www.transtutors.com/homework-help/computer-science/computer-architecture/operand-and-opcode.aspx
CISC & RISC Architecture with contents
History Of CISC & RISC
Need Of CISC
CISC
CISC Characteristics
CISC Architecture
The Search for RISC
RISC Characteristics
Bus Architecture
Pipeline Architecture
Compiler Structure
Commercial Application
Reference
The Opcode or the operation code is the part of the instruction that specifies the operation to be performed by the instruction. The CPU decodes (understands) the instruction with the help of the opcode. Copy the link given below and paste it in new browser window to get more information on Operand and Opcode:- http://www.transtutors.com/homework-help/computer-science/computer-architecture/operand-and-opcode.aspx
64-bit computers have been around and well for a long time already. Most applications have 64-bit versions that can benefit from larger memory capacity and improved performance thanks to the architectural capabilities of 64-bit processors. Developing 64-bit application in C/C++ requires much attention from a programmer. There is a number of reasons for 32-bit code to fail to work properly when recompiled for the 64-bit platform. There are a lot of articles on this subject, so we will focus on some other thing. Let's find out if the new features introduced in C++11 have made 64-bit software programmers' life any better and easier.
Note. The article was originally published in Software Developer's Journal (April 25, 2014) and is published here by the editors' permission.
The binary number system and digital codes are fundamental to computers and to digital electronics in general. You will learn Binary addition, subtraction, multiplication, and Division.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
Andreas Schleicher presents at the OECD webinar ‘Digital devices in schools: detrimental distraction or secret to success?’ on 27 May 2024. The presentation was based on findings from PISA 2022 results and the webinar helped launch the PISA in Focus ‘Managing screen time: How to protect and equip students against distraction’ https://www.oecd-ilibrary.org/education/managing-screen-time_7c225af4-en and the OECD Education Policy Perspective ‘Students, digital devices and success’ can be found here - https://oe.cd/il/5yV
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
2. CE
Arithmetic for Computers
1. Introduction
2. Addition and Subtraction
3. Multiplication
4. Division
5. Floating Point
6. Parallelism and Computer Arithmetic: Associativity
2
4. CE
Arithmetic for Computers
1. Introduction
2. Addition and Subtraction
3. Multiplication
4. Division
5. Floating Point
6. Parallelism and Computer Arithmetic: Associativity
4
5. CE
Introduction
Computer words are composed of bits; thus, words can be represented as
binary numbers. Chapter 2 shows that integers can be represented either in
decimal or binary form, but what about the other numbers that
commonly occur?
For example:
■ What about fractions and other real numbers?
■ What happens if an operation creates a number bigger than can be
represented?
■ And underlying these questions is a mystery: How does hardware
really multiply or divide numbers?
5
6. CE
Arithmetic for Computers
1. Introduction
2. Addition and Subtraction
3. Multiplication
4. Division
5. Floating Point
6. Parallelism and Computer Arithmetic: Associativity
6
9. CE
Addition and Subtraction
Overflow
When does the overflow occur on the signed number?
We also need to concern:
- How to detect overflow for two’s complement numbers in a computer?
- What about overflow with unsigned integers? (Unsigned integers are
commonly used for memory addresses where overflows are ignored.)
9
10. Addition and Subtraction
CE
Overflow
The computer designer must therefore provide a way to ignore overflow in
some cases and to recognize it in others.
The MIPS solution is to have two kinds of arithmetic instructions to recognize the two
choices:
■ Add (add), add immediate (addi), and subtract (sub) cause exceptions (interrupt)
on overflow.
■ Add unsigned (addu), add immediate unsigned (addiu), and subtract unsigned
(subu) do not cause exceptions on overflow.
Note: MIPS detects overflow with an exception, also called an interrupt on many
computers. An exception or interrupt is essentially an unscheduled procedure call.
10
11. CE
Arithmetic for Computers
1. Introduction
2. Addition and Subtraction
3. Multiplication
4. Division
5. Floating Point
6. Parallelism and Computer Arithmetic: Associativity
11
12. Multiplication
CE
Example
Although the decimal example above happens to use only 0 and 1, multiplication of
binary numbers must always use 0 and 1, and thus always offers only these two choices:
1. Just place a copy of the multiplicand (1 ×multiplicand) in the proper place if the
multiplier digit is a 1.
2. Place 0 (0 ×multiplicand) in the proper place if the multiplier digit is 0.
12
13. CE
Multiplication
Sequential Version of the Multiplication Algorithm and Hardware
Fig.1: First version of the division hardware
Note: Three steps are repeated 32 times to obtain the
product. If each step took a clock cycle, this algorithm
would require almost 100 clock cycles to multiply two
32-bit numbers.
Fig.2: The first multiplication algorithm 13
15. CE
Multiplication
Sequential Version of the Multiplication Algorithm and Hardware
Fig.3 Refine version of the multiplication hardware
Compare with the first version in the previous slide, the Multiplicand register, ALU, and
Multiplier register are all 32 bits wide, with only the Product register left at 64 bits.
It just takes one clock cycle to get the Product.
15
16. CE
Multiplication
Signed Multiplication
The easiest way to understand how to deal with signed numbers is to first
convert the multiplier and multiplicand to positive numbers and then
remember the original signs.
The algorithms should then be run for 31 iterations, leaving the signs out of
the calculation.
It turns out that the last algorithm will work for signed numbers.
16
18. CE
Multiplication
Multiply in MIPS
MIPS provides a separate pair of 32-bit registers to contain the 64-bit
product, called Hi and Lo.
To produce a properly signed or unsigned product, MIPS has two instructions:
multiply (mult) and multiply unsigned (multu).
To fetch the integer 32-bit product, the programmer uses move from lo (mflo).
The MIPS assembler generates a pseudo instruction for multiply that specifies three
general purpose registers, generating mflo and mfhi instructions to place the product into
registers.
18
19. CE
Arithmetic for Computers
1. Introduction
2. Addition and Subtraction
3. Multiplication
4. Division
5. Floating Point
6. Parallelism and Computer Arithmetic: Associativity
19
20. CE
Division
The reciprocal operation of multiply is divide, an operation that is even less
frequent and even more quirky.
It even offers the opportunity to perform a mathematically invalid operation:
dividing by 0.
Example:
20
21. CE
Division
A division algorithm and hardware
Fig.5 First version of the multiplication hardware
Note: both the dividend and the divisor are positive
and hence the quotient and the remainder are
nonnegative. The division operands and both results
are 32-bit values, and we will ignore the sign for now.
Fig.6 The first division algorithm
21
24. Division
CE
Signed division
The simplest solution is to remember the signs of the divisor and dividend and then
negate the quotient if the signs disagree.
The one complication of signed division is that we must also set the sign of the
remainder. Remember that the following equation must always hold:
Dividend = Quotient x Divisor + Remainder
Remainder = Dividend – (Quotient x Divisor)
Example:
24
25. CE
Division
Divide in MIPS
You may have already observed that the same sequential hardware can be used for
both multiply and divide in Fig.3 and Fig.7 .
The only requirement is a 64-bit register that can shift left or right and a 32-bit ALU
that adds or subtracts. Hence, MIPS uses the 32-bit Hi and 32-bit Lo registers for both
multiply and divide.
As we might expect from the algorithm above, Hi contains the remainder, and Lo
contains the quotient after the divide instruction completes.
To handle both signed integers and unsigned integers, MIPS has two instructions:
divide (div) and divide unsigned (divu).
The MIPS assembler allows divide instructions to specify three registers, generating
the mflo or mfhi instructions to place the desired result into a general-purpose register.
25
26. CE
Arithmetic for Computers
1. Introduction
2. Addition and Subtraction
3. Multiplication
4. Division
5. Floating Point
6. Parallelism and Computer Arithmetic: Associativity
26
27. CE
Floating Point
Definitions
Some representations of the real number:
The alternative notation for the above last two numbers is called scientific
notation, which has a single digit to the left of the decimal point.
A number in scientific notation that has no leading 0s is called a normalized number
Example: 1.0ten x 10-9: normalized scientific number
0.1ten x 10-8: not normalized scientific number
10.0ten x 10-10: not normalized scientific number
The binary number shown in scientific notation is called floating point
Floating point: Computer arithmetic that represents numbers in which the binary point is
not fixed.
27
28. CE
Floating Point
Floating-Point representation
A designer of a floating-point representation must find a compromise between the size
of the fraction and the size of the exponent.
This tradeoff is between precision and range:
- Increasing the size of the fraction enhances the precision of the fraction.
- Increasing the size of the exponent increases the range of numbers that can be
represented.
Floating-point numbers are usually a multiple of the size of a word.
The representation of a MIPS floating-point number:
Where
s is the sign of the floating-point number (1 meaning negative)
exponent is the value of the 8-bit exponent field (including the sign of the exponent)
fraction is the 23-bit number
This representation is called sign and magnitude, since the sign is a separate bit from the
rest of the number.
28
In general, floating-point numbers are of the form:
29. Floating Point
CE
Floating-Point representation
Overflow (floating-point): A situation in which a positive exponent becomes too large to
fit in the exponent field.
Underflow (floating-point): A situation in which a negative exponent becomes too large
to fit in the exponent field.
To reduce chances of underflow or overflow is to offer another format that has a larger
exponent. In C this number is called double, and operations on doubles are called double
precision floating-point arithmetic; single precision floating-point is the name of the format
in previous slide.
Double precision: A floating-point value represented in two 32-bit words.
Single precision: A floating-point value represented in a single 32-bit word.
The representation of a double precision floating-point number:
Where: s is the sign of the floating-point number (1 meaning negative)
exponent is the value of the 11-bit exponent field (including the sign of the exponent)
fraction is the 52-bit number
29
30. CE
Floating Point
Floating-Point representation
These above formats go beyond MIPS. They are part of the IEEE 754 floating-point
standard (IEEE 754), found in virtually every computer invented since 1980.
To pack even more bits into the significand (also coefficient or mantissa is part of a
number in scientific notation), IEEE 754 makes the leading 1-bit of normalized binary
numbers implicit. Hence, the number is actually 24 bits long in single precision (implied 1
and a 23-bit fraction), and 53 bits long in double precision (1 +52).
Note: To be precise, we use the term significand to represent the 24- or 53-bit number
that is 1 plus the fraction, and fraction when we mean the 23- or 52-bit number.
The representation of the rest of the numbers uses the form from before with the hidden 1
added
where the bits of the fraction represent a number between 0 and 1 and E specifies the value
in the exponent field. If we number the bits of the fraction from left to rights1, s2, s3, . . .
,then the value is:
30
31. CE
Floating Point
Floating-Point representation
Negative exponents pose a challenge to simplified sorting. If we use two’s complement or
any other notation in which negative exponents have a 1 in the most significant bit of the
exponent field.
Example:
1.0two x 2-1 would be represented with a negative exponent will look like a big number.
1.0two x 2+1 would be represented with a negative exponent will look like the smaller
number.
31
32. CE
Floating Point
Floating-Point representation
The desirable notation must therefore represent the most negative exponent as 00 . . . 00two
and the most positive as 11 . . . 11two. This convention is called biased notation, with the
bias being the number subtracted from the normal, unsigned representation to determine
the real value.
IEEE 754 uses a bias of 127 for single precision, so an exponent of -1 is represented by
the bit pattern of the value (-1 + 127ten ), or 126ten = 0111 1110two , and +1 is represented
by (1+127), or 128ten = 1000 0000two .
The exponent bias for double precision is 1023.
Importance: Biased exponent means that value represented by a floating-point
number is really:
The range of single precision number is from
as small as
to as large as
Fig.8: IEEE 754 encoding of floating-point numbers
32
37. CE
Floating Point
Floating-Point addition
Let’s add numbers in scientific notation by hand to illustrate the problem in floatingpoint addition: 9.999ten x 101 + 1.610ten x 10-1. Assume that we can store only four
decimal digits of the significand and two decimal digits of the exponent.
37
43. CE
Floating Point
Floating-Point multiplication
Example 1: Let’s try floating-point multiplication. We start by multiplying decimal numbers
in scientific notation by hand: 1.110ten x 1010 * 9.200ten x 10-5. Assume that we can store
only four decimal digits of the significand and two decimal digits of the exponent.
Answer 1:
43
46. CE
Floating Point
Floating-Point multiplication
The algorithm for binary
floating-point multiplication
have 5 steps like the answer
section in the Example 1 in
this sector.
Fig.11 The algorithm for binary
floating-point multiplication.
46
50. CE
Floating Point
Floating-Point instruction in MIPS
Floating-point comparison sets a bit to true or false, depending on the comparison
condition, and a floating-point branch then decides whether or not to branch depending
on the condition.
The MIPS designers decided to add separate floating-point registers ̶ called
$f0, $f1, $f2, … ̶ used either for single precision or double precision they included
separate loads and stores for floating-point registers: lwcl and swcl.
The base registers for floating-point data transfers remain integer registers. The MIPS
code to load two single precision numbers from memory, add them, and then store the
sum might look like below:
50
54. CE
Floating Point
Accurate Arithmetic
Unlike integers, which can represent exactly every number between the smallest and
largest number, floating-point numbers are normally approximations for a number they
can’t really represent.
The reason is that an infinite variety of real numbers exists between, say, 0 and 1, but no
more than 253 can be represented exactly in double precision floating point. The best we
can do is getting the floating-point representation close to the actual number.
Thus, IEEE 754 offers several modes of rounding to let the programmer pick the
desired approximation.
Rounding sounds simple enough, but to round accurately requires the hardware to
include extra bits in the calculation. IEEE 754, therefore, always keeps two extra bits on
the right during intermediate additions, called guard and round, respectively.
54
Editor's Notes
Note:chỉgiớithiệuthamkhảo
SummaryMultiplication hardware is simply shifts and add, derived from the paper-and pencil method learned in grammar school. Compilers even use shift instructions for multiplications by powers of 2.
SummaryThe common hardware support for multiply and divide allows MIPS to provide a single pair of 32-bit registers that are used both for multiply and divide. Figure 3.13summarizes the additions to the MIPS architecture for the last two sections.