Computer Organisation and Architecture An Introduction 2nd Edition B.S. Chalk download pdf
Computer Organisation and Architecture An Introduction 2nd Edition B.S. Chalk download pdf
https://ebookfinal.com/download/computer-fundamentals-architecture-
and-organisation-4th-edition-b-ram/
https://ebookfinal.com/download/buildings-across-time-an-introduction-
to-world-architecture-2nd-edition-marian-moffett/
https://ebookfinal.com/download/advanced-computer-architecture-
parallelism-scalability-programmability-2nd-edition-kai-hwang/
Computer Organization and Architecture 6th Edition William
Stallings
https://ebookfinal.com/download/computer-organization-and-
architecture-6th-edition-william-stallings/
https://ebookfinal.com/download/computer-forensics-and-cyber-crime-an-
introduction-3rd-edition-marjie-t-britz/
https://ebookfinal.com/download/computer-organization-design-and-
architecture-4th-edition-sajjan-g-shiva/
https://ebookfinal.com/download/computer-organization-design-and-
architecture-5th-edition-sajjan-g-shiva/
Computer Organisation and Architecture An
Introduction 2nd Edition B.S. Chalk Digital Instant
Download
Author(s): B.S. Chalk, A.T. Carter, R.W. Hind
ISBN(s): 9780230000605, 0230000606
Edition: 2
File Details: PDF, 1.28 MB
Year: 2004
Language: english
Computer
Organisation and
Architecture
An Introduction
Second Edition
Palgrave
Macmillan
© B.S. Chalk, A.T. Carter and R.W. Hind 2004
A catalogue record for this book is available from the British Library
Contents
Chapter 1 Introduction 1
A great deal has happened in the world of computing since the publication of
the first edition of this book. Processors have become faster and the number
of transistors contained in the processor chip has greatly increased. The
amount of memory, both primary and secondary, in the standard personal
computer has increased and become faster. New peripheral devices have
come onto the scene and some of the old ones have almost disappeared.
Networked computers are the norm, as is connection to the Internet for
almost all home computers. Having said all the above, the basic von
Neumann architecture has not been superseded yet.
This second edition of Computer Organisation and Architecture, An
Introduction, builds on the first edition, bringing the material up to date and
adding new chapters on ‘Networking and what’s next’. After considerable
thought, we have decided to use the Intel family of processors rather than the
Motorola 68000 for our examples. This is because the availability of Intel
based personal computers (PCs) tends to be greater than machines based on
the Motorola 68000, taking into account that many people, especially
students, have a PC at home. Our change must not be seen as a criticism of
the Motorola processors, but simply a matter of expedience for experiential
learning.
Many of our examples make reference to PCs, but all the basic principles
apply to all sizes and shapes of computers. There are still a large number of
powerful high-end computers being used in big organisations and it must be
remembered that the world of computing is not just PCs.
The target audience for this edition has not changed and with the addition
of the networking chapter, we hope that the area of appeal will have widened.
We have included Chapter 12 in order to look briefly at some
developments. Some are a few weeks away while others are experimental or
just proposals. With the rate of development we are seeing, it is difficult to
imagine where computing will be in say five years time. We live in exciting
times.
Suggested answers to a number of the end of chapter exercises are
available on the WEB site associated with this book.
1
Not all that many years ago, the only places where one would be able to see
a computer would have been the central offices of large organisations. The
computer, costing at least £500000, would have been housed in a large,
temperature controlled room. The computer would have been run by a team
of people, called operators, working on a shift system which provided
24-hour operation. Users of the computer would have a terminal, consisting
of a TV screen and a keyboard, on their desk and they would use the facilities
of the computer by means of on-screen forms and menus. These computers
were called main frame computers and in fact there are still many of these in
operation today. Today, almost every home has a computer either in the
form of a Personal Computer (PC) or games console and the cost is well
under £1000.
There is a vast array of different types of computers between the two
types mentioned above, varying in size, cost and performance. However,
the majority of these computers are based on a model proposed by John
von Neumann and others in 1946. In Chapter 1, we describe the von
Neumann model and relate its logical units to the physical components
found in a typical PC. This will provide a foundation for a more detailed
discussion of computer organisation in subsequent chapters. There are two
approaches to investigating a complex system. One, known as the top-
down approach, looks at the system as a whole with particular attention
being applied to what it does, in other words, the functions the system
performs. Then each function is investigated in more detail with the
intention of gaining an understanding of how the system performs the
function. The level of detail considered increases until the individual
component level is reached, at which point the operation of the whole
system should be understood in minute detail. The alternative approach,
known as the bottom-up approach, considers individual components and
then looks at ways in which these can be connected together to provide the
functions required of a system.
In this book, we will start by using the top-down approach to get an
understanding of what basic functions a computer can perform, then we will
use the bottom-up approach to show how basic components can be
interconnected to provide the required functionality.
Computer organisation and architecture
30 ⫹ (⫺20) ⫽ 10
25 ⫹ 25 ⫹ 25 ⫽ 75
TQ 1.1 How would you use the above system to check if two numbers were equal?
2
Introduction
ALU
Control Unit
Input Output
Device Memory Device
control lines
instructions and
data flow
houses CPU
and Memory
printer
processor unit
keyboard
mouse
3
Computer organisation and architecture
Figure 1.3 A typical motherboard (reproduced with permission from EPOX Electronics)
Keyboard 5
JP13 J4
(Top)
CPU SYS1
1
JP18
JP17
Mouse KBPO FAN FAN1 JP16
(Bottom) 1
CPU Vio
Voltage Select
SOCKET462
USB 1
COM1
JP14
Parallel 1
Port CPU Host Clock
1 2 34 5
Ratio LED (DIP Type
ON
Select Red) LED1
SW1 CPU VIA
Speaker Vcore Select
1 2 34 5 VT8363 FDD1
• • • • • • • • • • • • • • • • • • • • • • • • •
• • • • • • • • • • • • • • • • • • • • • • • • •
Line-in Game Port ON
MIC
Battery
CD1 4X AGP Slat DIMM3~1
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
PCI Slot # 1
1
• • • • • • • • • • • • • • • • • • • • • • • • • • • • 1
IDE1 • • • • • • • • • • • • • • • • • • • • • • • • • • • •
PCI Slot # 2
1
IDE2 • • • • • • • • • • • • • • • • • • • • • • • • • • • •
• • • • • • • • • • • • • • • • • • • • • • • • • • • •
BIOS
CHASSIS
FAN SPK
1 1
1 RESET
ISA Slot USB2
1
switches called transistors organised in the form of logic gates, the basic
building blocks of digital circuits. These logic gates are used to implement
the control unit, the ALU and other components of the CPU such as its
register set. Logic gates are discussed in Chapter 3.
There are two basic types of semiconductor memory on the motherboard,
Random Access Memory (RAM) which is a read–write memory and Read
Only Memory (ROM). These form the fast primary or main memory of the
system and both store information in binary form (1s and 0s). RAM is often
provided in the form of memory modules, each module containing a number
of memory chips. The modules are plugged into sockets on the motherboard.
Because RAM can be read from and written to, it is suitable for storing
programs and data. Unfortunately RAM chips are normally volatile and
therefore lose their content when the computer’s power is switched off.
ROMs on the other hand, are non-volatile and are used for storing various
system programs and data that needs to be available when the computer is
switched on. Non-volatile means that the ROM does not lose its content even
when the power is removed.
4
Introduction
In addition to a fast main memory, the PC also has a large but slower
secondary memory, usually in the form of a hard disk and one or two
floppy disk units and a CD or DVD read/write unit. Programs are stored
on disk as files and must be loaded into main memory before they can
be executed by the processor. Computer memory is discussed in
Chapters 6 and 7.
The processor is connected to memory and the other parts of the system
by a group of conducting tracks called a system bus, which provides a
pathway for the exchange of data and control information. Logically, a
system bus is divided into an address bus, a data bus and a control bus.
To co-ordinate activities taking place inside the processor with those taking
place on the system bus, some form of timing is required. This is provided
by a crystal controlled clock.
Input/Output (I/O) cards are plugged into the sockets shown in
Figure 1.3. The sockets are connected to the system bus. The cards are used
for connecting peripheral devices to the system. In general, peripheral
devices operate at much slower speeds than the CPU and so the I/O cards
will have special interface chips mounted on them for connecting the
peripheral devices to the system bus. Interfacing is discussed in Chapter 8.
It is worth mentioning that although PCs are very common and
there are many millions in use today, two other types of small computer
are becoming very popular, namely the small laptop or portable computer
and the even smaller, palmtop or personal data assistant (PDA) computer.
Both laptop and PDA computers are single unit devices with the monitor,
keyboard and mouse built into the single unit. Other than size and a
slightly higher price, there is little difference between a laptop and a PC.
PDAs have a restricted keyboard and sometimes a stylus is used to actuate
the keys rather than fingers. They also tend to have somewhat limited
capability.
5
Computer organisation and architecture
2 store 6
3 stop
4 1
5 2
6
Introduction
Figure 1.5 Different user interfaces (a) graphical (b) command driven
Microsoft(R) Windows 95
(C)Copyright Microsoft Corp
1981–1996.
C:\WINDOWS>
(a) (b)
7
Computer organisation and architecture
TQ 1.2 Because they can only be read from and not written to, they cannot be
loaded with user programs.
EXERCISES
1 Explain what the letters CPU, RAM, ROM and LAN stand for.
2 Write down the main features of a von Neumann style computer.
3 Explain why ROM is needed in a PC system.
4 Explain what is meant by the terms machine instruction and
instruction set.
5 State the parts of the CPU that are used for (a) fetching and
interpreting instructions (b) performing arithmetic operations
such as ‘add’.
6 Briefly explain the benefits of programming in a HLL.
7 Software can be classified as either application software or systems
software. Give an example of each type.
8 When it is required to run a piece of software designed to run on
one type of machine on another type of machine, the software needs
to be recompiled. Explain why this is so.
8
Introduction
9 From the time you ‘double click’ on an icon for a text document in a
GUI, to the time it appears on the screen and you are able to edit it,
the operating system must perform a number of tasks. Outline what
you think these might be.
10 Networks allow users to share peripherals and file stores. Explain the
security risks that this might involve.
11 Explain why a laptop computer may cost more than a PC with a
similar specification.
12 There is a growing trend for desktop PC users to want LCD displays
rather than TV type monitors. Explain why you think this is.
13 In a peer-to-peer network it is possible to send a message from one
PC to another PC directly but this is not possible in a server-based
network. Does this mean that server-based networks can not be
used for e-mail? Explain.
14 What is the effect if one PC in a peer-to-peer network fails or is
switched off?
15 What is the effect if the server machine in a server-based network
fails?
9
Data representation
and computer
arithmetic
2
Data is represented and stored in a computer using groups of binary digits
called words. This chapter begins by describing binary codes and how words
are used to represent characters. It then concentrates on the representation of
positive and negative integers and how binary arithmetic is performed
within the ALU. The chapter concludes with a discussion on the
representation of real numbers and floating point arithmetic.
11
Computer organisation and architecture
Table 2.1 ASCII codes for, ‘A’, ‘z’, ‘2’ and ‘%’
TQ 2.2 By referring to the ASCII table in Appendix 3, write down the ASCII codes
for the characters – ‘a’, ‘Z’ and ‘*’.
12
Data representation and computer arithmetic
The weighting applied to these digits is 10 raised to the power of the position
of the digit, as shown in Figure 2.2.
The position of a digit is found by counting from right to left starting at
position 0.
Fractional or real numbers use a decimal point to separate negative powers
of 10 from positive powers of ten. For example 52.6 represents:
The reason for using 10 is that there are ten different digits in this
representation, which we call the base or radix of the system. Other
positional number systems use different sets of digits and therefore have
different bases. To distinguish one number system from another, we often
subscript the number by its base, such as 12610.
1 ⫻ 23 ⫹ 0 ⫻ 22 ⫹ 1 ⫻ 21 ⫹ 1 ⫻ 20 ⫽ 8 ⫹ 0 ⫹ 2 ⫹ 1 ⫽ 1110
This system of weighting is called pure binary, the binary digit furthest to the
right being the least significant bit (lsb) and the one furthest to the left being
the most significant bit (msb).
In this system the weighting is 16 raised to the power of the position of the
digit. For example A1F16 has a decimal value of:
A ⫻ 162 ⫹ 1 ⫻ 161 ⫹ F ⫻ 160 ⫽ 10 ⫻ 256 ⫹ 1 ⫻ 16 ⫹ 15 ⫻ 1 ⫽ 259110
13
Computer organisation and architecture
binary hexadecimal
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
14
Data representation and computer arithmetic
15
Computer organisation and architecture
+1
– 128
negativeness
Therefore with an 8-bit representation, the numbers ⫹12710 and ⫺12710 are
given by:
⫹127 ⫽ 01111111 ⫽ ⫺0 ⫻ 27 ⫹ 1 ⫻ 26 ⫹ 1 ⫻ 25 ⫹ 1 ⫻ 24 ⫹ 1 ⫻ 23
⫹ 1 ⫻ 22 ⫹ 1 ⫻ 21 ⫹ 1 ⫻ 20
⫽ ⫺0 ⫹ 64 ⫹ 32 ⫹ 16 ⫹ 8 ⫹ 4 ⫹ 2 ⫹ 1
⫺127 ⫽ 10000001 ⫽ ⫺1 ⫻ 27 ⫹ 0 ⫻ 26 ⫹ 0 ⫻ 25 ⫹ 0 ⫻ 24 ⫹ 0 ⫻ 23
⫹ 0 ⫻ 22 ⫹ 0 ⫻ 21 ⫹ 1 ⫻ 20
⫽ ⫺128 ⫹ 0 ⫹ 0 ⫹ 0 ⫹ 0 ⫹ 0 ⫹ 0 ⫹ 1
We can visualise these two numbers as shown in Figure 2.3, where the most
significant bit provides a large negative contribution and the remaining
seven bits provide a positive contribution.
Any two’s complement number where the most significant bit (msb) is
equal to 1, must have an overall negative value. The msb therefore acts as
both a sign bit and a magnitude bit.
With an 8-bit two’s complement representation, we can represent
numbers between ⫺12810 and ⫹12710 as shown in Table 2.3.
From the table we can identify a connection between the bit pattern of a
positive number, such as ⫹2 ⫽ 00000010, and the bit pattern of its opposite
number, ⫺2 ⫽ 11111110. If we reverse all the bits of the number ⫹2,
exchanging 1 bits for 0 bits and vice versa, we get the bit pattern 11111101.
This is called finding the one’s complement. If we now add ‘1’ to the lsb of this
number we get:
11111101 ⫹
1
11111110 ⫽ two’s compliment
16
Data representation and computer arithmetic
⫺128 10000000
⫺127 10000001
⫺126 10000010
⫺2 11111110
⫺1 11111111
0 00000000
⫹1 00000001
⫹2 00000010
⫹126 01111110
⫹127 01111111
Worked example What is the decimal value of the two’s complement number 11110000 ?
Solution Because the sign bit is 1, we know that it must be a negative number.
If we represent this number as ⫺X, then its two’s complement must be
⫺(⫺X) ⫽ ⫹X. The two’s complement of 11110000 is 00010000 as
shown below:
00001111 ⫹
1
00010000
Another
worked example How do we represent ⫺25?
17
Computer organisation and architecture
1↵
The carry forward or carry-out generated when adding the second pair of
digits is shown in table row four. This gets included as a carry-in to the sum of
the next most significant pair of digits, just as we do with decimal addition.
Table 2.5 makes this more explicit and shows how the sum (S) and carry-out
(Co) depend upon the digits (A and B) being added and the carry-in (Ci).
We can also add negative numbers, such as ⫺1 ⫹ (⫺2) ⫽ ⫺3, provided that
we ignore the bit carried-out of the sum:
⫺1 ⫽ 11111111 ⫹
⫺2 ⫽ 11111110
11111101 ⫽ ⫺3
(ignore) 1 ↵
18
Data representation and computer arithmetic
A B Ci S Co
0 0 0 0 0
0 1 0 1 0
1 0 0 1 0
1 1 0 0 1
0 0 1 1 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 1
⫺64 ⫽ 11000000 ⫹
⫺65 ⫽ 10111111
01111111 ⫽ ⫹127 (should be ⫺129)
(ignore) ↵
These are examples of arithmetic overflow, which occurs whenever a sum
exceeds the range of the representation. In the first example, the sum should
be ⫹129 and in the second it should be ⫺129. From Table 2.3, we can see
that these results are both out of range, because the largest and smallest
numbers that can be represented are ⫹127 and ⫺128. Overflow is a
consequence of two’s complement arithmetic and can only occur when we
add two numbers of the same sign. If the sign bit of the sum is different from
that of the numbers being added, then overflow has taken place. The ALU
signals this event by setting the overflow flag in the Flags Register.
One of the main advantages in using a two’s complement representation,
is that the ALU can perform binary subtraction using addition. For example,
7 ⫺ 5 is the same as 7 ⫹ (⫺5), so to perform this operation we add 7 to the
two’s complement of 5. This is shown below:
00000111 ⫹
11111010
1
00000010 ⫽ ⫹210
(ignore) 1↵
19
Computer organisation and architecture
9 1 6 4
10010001 91
01100100 64
1001 0001 0110 0100
TQ 2.9 Which 4-bit binary codes are left unused by the BCD representation?
20
Data representation and computer arithmetic
0 1011010 00000011
By substituting the base 2 for the base 10, we can use a similar notation for
representing real numbers in a computer. For example, the decimal number
5.625 could be represented as 1.01101 ⫻ 22 or 1011.01 ⫻ 2⫺1, where each
exponent specifies the true position of the binary point relative to its current
position in the mantissa. Because the binary point can be dynamically altered
by adjusting the size of the exponent, we call this representation floating
point.
TQ 2.10 What is the largest number we can represent using this format?
TQ 2.11 How would the number 5.12510 be stored in single precision format?
21
Computer organisation and architecture
mantissa sign
01101101 00000100
00101001 00000100
01101101 00000100
0 10010110 00000100
0 01001011 00000101
22
Data representation and computer arithmetic
The first step in this operation involves aligning the binary points of the
two numbers, which is carried out by comparing their exponents and
arithmetically shifting the smaller number until its exponent matches that of
the other. In Figure 2.7(b), the mantissa of the smaller number 5.125, is
shifted one place to the right so that its exponent becomes the same as that of
the number 13.625. Notice that a zero has been inserted in its most
significant bit position.
Having the same exponents, the sign bits are separated and the
mantissae are added, as shown in Figure 2.7(c). Because the result now
occupies 8 bits, it must be re-normalised, by shifting the bits one place to
the right and incrementing the exponent. Finally, the sign bit is reinserted
as shown in Figure 2.7(d), to produce a sum of ⫹0.1001011 ⫻ 25 or 18.7510.
Floating point multiplication and division operations also involve a
number of steps including adding/subtracting the exponents,
multiplying/dividing the mantissae and re-normalising the result.
Remember that multiplication and division can be carried out by successive
addition and successive subtraction, respectively. These operations can be
carried out either by using software routines or by employing special
hardware in the form of a floating point coprocessor. Floating point or
numeric coprocessors improve the performance of compute intensive
applications, by allowing any floating point arithmetic to take place in
parallel with the CPU. When the CPU detects a floating point instruction,
the operands are passed to the coprocessor, which performs the arithmetic
operation while the CPU proceeds with another activity.
2.8 Summary
Computers store and manipulate information as n-bit words. An n-bit word
can represent 2n different entities, such as characters and numbers. A group
of 8 bits is called a byte and can be used to store a single ASCII character.
The binary number system uses a positional weighting scheme based on
powers of 2. The hexadecimal number system uses a positional weighting
based on powers of 16. The hexadecimal number system provides a useful
shorthand for representing large binary numbers. Negative numbers are
often represented in binary form using the two’s complement
representation. This representation allows subtraction to be carried out
using the same basic circuitry used for addition. When adding two’s
complement numbers with the same sign, a condition called overflow can
occur. An overflow condition is automatically flagged in the Flags Register.
Real numbers can be represented as floating point numbers. Floating point
numbers use a particular format to represent the mantissa and the
exponent. Floating point arithmetic involves more steps than with integer
arithmetic and can be performed using either software routines or by
employing additional hardware in the form of a coprocessor. Floating
point coprocessors can execute floating point operations in parallel with
the CPU.
23
Computer organisation and architecture
TQ 2.8 (a) Write down the 8-bit representation of the number, ⫹310 ⫽ 00000011
and find its one’s complement, 11111100
(b) Add 1 to the lsb
11111100 ⫹
1
11111101 ⫽ two’s compliment
TQ 2.9 Because only 10 of the 16 possible 4-bit binary codes are used, we are left
with the six invalid codes.
1010, 1011, 1100, 1101, 1110, 1111
EXERCISES
1 How many binary codes can we generate with 16 bits?
2 Convert the following decimal numbers into binary:
(a) 16 (b) 127 and (c) 255
3 Convert the following binary numbers into decimal:
(a) 0111 (b) 101101000011 and (c) 1011.0111
4 Convert the following binary numbers into hexadecimal:
(a) 101011101011 (b) 11100110 and (c) 010100011
24
Data representation and computer arithmetic
25
Boolean logic
3 In Chapter 1 we mentioned that logic gates are the basic building blocks of
a digital computer. This chapter describes these gates and how they can be
used to build useful circuits.
TQ 3.1 What is the output value of an Exclusive-OR gate if just one of its inputs is at
logic 1?
TQ 3.2 If the output value of a NAND gate is 0, then what can we deduce about its
inputs?
TQ 3.3 Sometimes we describe a NOT gate as an inverter. Why?
Boolean logic
Microprocessor
chip
Logic gate
Microprocessor components
package
Logic gate
NOT A A
f(X) = ‘A 0 1
or A A X 1 0
or !A
or NOT A
A B A.B
AND
A 0 0 0
f(X) = A.B
X 0 1 0
or A&B
B 1 0 0
or A AND B
1 1 1
A B A.B
NAND 0 0 1
f(X) = A.B A
0 1 1
or A NAND B X
1 0 1
or NOT(A AND B) B
1 1 0
A B A+B
OR 0 0 0
f(X) = A + B A
0 1 1
or A|B X
1 0 1
or A OR B B
1 1 1
A B A+B
NOR
A 0 0 1
f(X) = A + B
X 0 1 0
or A NOR B
B 1 0 0
or NOT(A OR B)
1 1 0
A B A⊕B
eXclusive-OR A 0 0 0
f(X) = A⊕B X 0 1 1
or A XOR B B 1 0 1
1 1 0
27
Computer organisation and architecture
3.2.1 Half-adder
Figure 3.3(a) illustrates a circuit called a half-adder, which can be built using
an AND gate in combination with an Exclusive-OR gate. The circuit has two
inputs, labelled A, B and two outputs, labelled S, C. From the AND and
Exclusive-OR truth tables, we can see that when A and B are both at logic 0,
both S and C are also at logic 0. If we now take B to logic 1, then S also goes
to logic 1, while C remains at logic 0.
3.2.2 Full-adder
A full-adder is shown in Figure 3.4(a). It is a combinational logic circuit with
three inputs, labelled A, B, Ci and two outputs, labelled S and Co. The circuit
is used to find the sum S of a pair of binary digits, A and B. Co is 1 if a carry-
out is generated and is 0 otherwise. Ci or carry-in, is used to allow any carry
generated by adding a previous pair of binary digits to be included in the
sum. The truth table for the full-adder circuit is given in the Table.3.1.
A
S AB SC
B 0 0 0 0 A S
0 1 1 0 HA
1 0 B C
1 1
C
28
Figure 3.4 Full-adder
Ci A S S
HA
A A S B C
HA Co
B B C
A3 B3 A2 B2 A1 B1 A0 B0
Co C3 C2 C1 0
FA FA FA FA
S3 S2 S1 S0
(c) 4-bit addition circuit
A3 B3 A2 B2 A1 B1 A0 B0
Co C3 C2 C1 1
FA FA FA FA
S3 S2 S1 S0
(d) 4-bit subtraction circuit
A B Ci S Co
0 0 0 0 0
0 1 0 1 0
1 0 0 1 0
1 1 0 0 1
0 0 1 1 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 1
29
Computer organisation and architecture
A
S3
B
AB S0 S1 S2 S3
S2 0 0 0 1 1 1
0 1 1 0 1 1
1 0 1 1 0 1
1 1 1 1 1 0
S1
S0
30
Boolean logic
X XY S F
0 0 0 0
0 1 0 0
1 0 0 1
F 1 1 0 1
0 0 1 0
Y
0 1 1 1
1 0 1 0
1 1 1 1
S
(a) Logic circuit (b) Truth table
31
Computer organisation and architecture
R
G1 Q
G2 Q
S
G2 G2
Q=1 Q=1
S=0 S=1
(a) (b)
R=0
Q=1
G1
G2
Q=0
S=0
(c)
gate is always 0 if either or both of its inputs are at logic 1. Because the
output Q, from gate G1, is also an input to G2, then when Q ⫽ 0 and S ⫽ 0
the output Q is 1. This output is fed-back to G1 and holds Q ⫽ 0,
irrespective of whether R ⫽ 0 or R ⫽ 1.
When S is taken to logic 1, as shown in Figure 3.8(b), Q goes low forcing
the Q output of Gl to 1, since both its inputs are now low. The output of Gl
is fed-back to G2 and holds Q low, so that when S is restored to 0, as shown
in Figure 3.8(c), the outputs remain in this second stable state.
32
Boolean logic
R R⬘
Q
S⬘ Q
R-S flip-flop
The R or Reset input is used to restore the circuit to its original state (Q ⫽ 0),
while the input S is called Set, because it sets the circuit into a second stable
state (Q ⫽ 1).
Only when C ⫽ 1 do the R⬘ and S⬘ inputs take on the input values R and S
and affect the output of the circuit. The circuit therefore acts as a clock
controlled storage element. When the clock is high, a 1 can be stored at the
Q output by taking S ⫽ 1 and R ⫽ 0, and a 0 can be stored by taking R ⫽ 1
and S ⫽ 0. When the clock goes low, the information (either 1 or 0) stored in
the memory element is protected from alteration.
We can illustrate the way in which data is clocked or latched into this type
of storage element, by using a timing diagram as shown in Figure 3.11.
33
Exploring the Variety of Random
Documents with Different Content
Tee′ pee. Indian circular house or tent made of poles covered with
skins or cloth.
Tŭs ca ro′ ras. A tribe from North Carolina which joined the Iroquois
in 1712. They now live upon a reservation in western New York, near
Niagara Falls, and are noted for their fine farms, schools, and
churches.
āte, târe, härm, tȧsk, ca̤ ll; ēat, sĕnd, hēr; rīce, tĭll; ōver, ôr, dŏn; Ūna,
ŭtter, ûrge; ꞓ as in can; ch as in chase; g as in get; sh as in she; th
as in that; oi as in oil; ow as in now; o͞ o as in cool; e͞ e as in feel.
Colophon
Availability
This eBook is for the use of anyone anywhere at no cost and with
almost no restrictions whatsoever. You may copy it, give it away or re-
use it under the terms of the Project Gutenberg License included with
this eBook or online at www.gutenberg.org ↗️.
Metadata
Revision History
2024-02-22 Started.
*** END OF THE PROJECT GUTENBERG EBOOK WIGWAM
STORIES TOLD BY NORTH AMERICAN INDIANS ***
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must, at
no additional cost, fee or expense to the user, provide a copy, a
means of exporting a copy, or a means of obtaining a copy upon
request, of the work in its original “Plain Vanilla ASCII” or other
form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.
• You pay a royalty fee of 20% of the gross profits you derive from
the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebookfinal.com