Programmable logic controller questions
MODULE TITLE: PROGRAMMABLE LOGIC CONTROLLERS
TOPIC TITLE: THE STRUCTURE OF THE PLC
LESSON 1: INSIDE THE CPU OF THE PLC
PLC - 5 - 1
© Teesside University 2011
Published by Teesside University Open Learning (Engineering)
School of Science & Engineering
Teesside University
Tees Valley, UK
TS1 3BA
+44 (0)1642 342740
All rights reserved. No part of this publication may be reproduced, stored in a
retrieval system, or transmitted, in any form or by any means, electronic, mechanical,
photocopying, recording or otherwise without the prior permission
of the Copyright owner.
This book is sold subject to the condition that it shall not, by way of trade or
otherwise, be lent, re-sold, hired out or otherwise circulated without the publisher's
prior consent in any form of binding or cover other than that in which it is
published and without a similar condition including this
condition being imposed on the subsequent purchaser.
________________________________________________________________________________________
INTRODUCTION ________________________________________________________________________________________
In a previous lesson we came across a schematic diagram of a CPU showing
how the CPU related to the read-only (ROM) and random access memories
(RAM). The theoretical operation of these memories was also covered and the
‘fetch and execute cycle’ of the CPU. In this lesson we are going to look in a
little more detail at the internal arrangements of the CPU.
The internal architecture of CPUs varies greatly from one type of machine to
another. However, we will here deal with CPUs in a general way to give you
an appreciation of the internal arrangement of most 8-bit processors. What
you learn here, moreover, can be readily extended to larger, more powerful,
processors. Despite their sophistication, modern 64-bit machines operate to
the same basic principles as the 8-bit machines from which they have evolved.
1
Teesside University Open Learning (Engineering)
© Teesside University 2011
________________________________________________________________________________________
YOUR AIMS ________________________________________________________________________________________
On completing the lesson you should be able to:
• state what is meant by the terms OPCODE and OPERAND
• appreciate that instructions can consist of one, two or three bytes
• explain the role of the PC, IR, ID, ACCUMULATOR, MAR and
GENERAL PURPOSE registers, and FLAGS
• sketch a block diagram of the internal architecture of a typical CPU
• sketch and explain what is meant by the opcode FETCH, READ and
WRITE cycles of a CPU
• explain the terms STATE, MACHINE CYCLE, INSTRUCTION
CYCLE.
2
Teesside University Open Learning (Engineering)
© Teesside University 2011
________________________________________________________________________________________
INSTRUCTION FORMAT ________________________________________________________________________________________
An instruction consists of a number of bytes of information stored in
consecutive memory locations. As you may remember, the symbols ‘0’ and
‘1’ are called bits (from BInary digiT). Eight ‘bits’ are referred to as a byte.
An instruction may be one, two, three or, exceptionally, four
bytes long. The first byte is always the operations code, shortened to
‘opcode’.
The opcode defines what operation the instruction will perform – for example,
ADD, SUBTRACT, AND, OR, COMPARE, and so on. The remaining part of
the instruction is called the operand, and represents either data (one byte) or
an address (two bytes). FIGURE 1 shows the format of one, two and three
byte instructions.
e.g. ‘Halt’ e.g. ‘Compare FF’ e.g. ‘Jump to OB7A’
FIG. 1
(a) One byte
(b) Two bytes
Single byte operand
Two byte operand
7 6 5 4 3 2 1 0 msb lsb
7 6 5 4 3 2 1 0 msb lsb
7 6 5 4 3 2 1 0 msb lsb
Opcode Opcode
Data
Opcode
Address (low byte)
Address (high byte)
(c) Three bytes
3
Teesside University Open Learning (Engineering)
© Teesside University 2011
________________________________________________________________________________________
REGISTERS ________________________________________________________________________________________
A register is a line of bistable elements (usually 8 or 16 bits long) in which a
‘word’ can be stored. Once a word has been ‘loaded’ into a register it will
remain in this state until acted upon by some external event. Registers within
the CPU are used as temporary stores. Typically, eight bit registers are used to
store data or opcodes, and 16 bit registers used to store addresses. FIGURES
2(a) and 2(b) show 8 bit and 16 bit registers. It can be seen that the 16 bit
register can hold two bytes. As already mentioned, these are referred to as the
‘most significant byte’ (or ‘high byte’) and ‘least significant byte’ (or ‘low
byte’).
FIG. 2(a – b)
Instructions will permit various operations to be performed on certain CPU
registers. Some of these instructions are illustrated in FIGURE 2(c – h). For
example, a register can be ‘incremented’ or ‘decremented’. By this it is meant
that 1 is added to or subtracted from its contents. Or, it may be possible to
shift or rotate the register’s data, in one direction or another, as shown in
FIGURES 2(e) – (h).
lsb
Data bus
msb
Address bus
HIGH BYTE LOW BYTE
D7 D0 D7 D0D0 D7
4
Teesside University Open Learning (Engineering)
© Teesside University 2011
FIG. 2(c – h)
Finally, as shown in FIGURE 2(i), the CPU’s registers are interconnected by
means of internal busses so that data can be transferred between them. Note
that the 16 bit registers have access to both the address and data busses. The
significance of this will become apparent later in the lesson.
FIG.2(i)
D7 D0
Internal address bus
D7 D0D7 D0 D7 D0
Internal data bus
16 Bit register
8 Bit register
0 10 0 0 10 00 10 0 0 10 0
10 0 0 0 0 0 11 0 0 0 1 0 0 00 0 1 0 0 0 1 0
1 0 0 1 0 0 0 00 10 0 0 10 00 10 0 0 10 0
0 0 00 00 0 10 0 0 1 0 0 000 0 0 1 0 0 1 0
0 10 0 0 10 0
+1 -1
(c) Increment (d) Decrement (e) Shift right
(f) Shift Left (g) Rotate right (h) Rotate left
Before
After
Instruction:
Before
After
Instruction:
0
0
5
Teesside University Open Learning (Engineering)
© Teesside University 2011
________________________________________________________________________________________
FETCHING AN INSTRUCTION ________________________________________________________________________________________
Let’s now examine how an instruction is fetched from external memory into
the CPU.
The instruction is stored, as part of the program, in consecutive memory
locations of RAM or ROM, and one byte is fetched from memory into the
CPU at a time. (Remember the data bus is only 8 bits wide!) The first byte to
be fetched is always the opcode, as this defines what the instruction will do,
and without it the CPU would be unable to process the subsequent bytes.
6
Teesside University Open Learning (Engineering)
© Teesside University 2011
FIG. 3
The left-hand half of FIGURE 3 (to the left of the bold black lines) represents
the CPU, and the right hand half the external memory (ROM or RAM). Let’s
examine the parts shown within the CPU:
(i) First of all, the INSTRUCTION REGISTER (IR) is an 8 bit register with
the task of storing opcodes as they are fetched from memory.
D0
ADDRESS
D7
D7 D0
A d d re
ss d
ec o d in
g
A15 A0
PC
Address bus
Write
Data bus
Memory (ROM & RAM)
0
D7 D0
IR
In cr
em en
t R
es et
Control Signals
Read
CPU
System clock
ID
7
Teesside University Open Learning (Engineering)
© Teesside University 2011
(ii) The instruction register will pass the opcode to the INSTRUCTION
DECODER (ID). As the opcode is a coded instruction, it must be
decoded to generate the required control signals. An 8-bit opcode
can represent 256 possible states and it is the role of the instruction
decoder to produce these control states from the opcode.
(iii) Thirdly, the SYSTEM CLOCK is an essential feature of the CPU as it will
control the synchronization of all data transfers to ensure that the right
data arrives at the right place at the right time. A transition in the system
clock initiates changes in the internal state of the CPU and in its external
control signals (such as and ) to allow data to flow from
one location to another.
(iv) The PC (PROGRAM COUNTER) is a 16-bit register used to store the
address of the next instruction to be fetched. It keeps a record of where
we are in the program. By way of analogy, move your finger along the
text as you read this page. As you read each word, ‘step’ or in other
words ‘increment’ your finger onto the next word to be read: your finger
is acting as a ‘program counter ’! Similarly, as each instruction is
completed, the PC is incremented 1, 2 or 3 times (depending upon the
number of bytes in the instruction) so that it is pointing to the start of the
next instruction in the program. In fact, the PC is automatically
incremented every time it is read so that it is ready to access the memory
location holding the next byte of the program. An increment control
signal is shown connected to the PC. This signal is activated by a
transition in the system clock during some stage of the instruction cycle.
The PC is also shown with a RESET control. The RESET is activated,
either automatically or manually, when the system is first switched on in
order to put the contents of the PC to a known state (usually 0000H).
This is then used as the start address for the program.
WRITEREAD
8
Teesside University Open Learning (Engineering)
© Teesside University 2011
THE OPCODE FETCH
Now refer to FIGURE 4 which shows the system at a particular stage in a
program. The PC contains the address ‘1800’ (0001 1000 0000 0000) which
has just been put onto the address bus. The address will be decoded by address
decoding logic so that memory location ‘1800’ is accessed. The contents of
this memory location (0011 1110 or 3E) will now be put on to the data bus.
Assuming that the machine is at the start of a fetch/execute cycle, then the byte
appearing on the data bus will be treated by the CPU as an opcode and will be
stored in the instruction register. The IR will pass the opcode to the instruction
decoder (ID) which will generate the required control signals for the execution
of this particular instruction.
9
Teesside University Open Learning (Engineering)
© Teesside University 2011
FIG. 4
The complete opcode fetch has occupied 4 machine cycles. The number of
clock cycles required to complete a memory access operation is called a
MACHINE CYCLE. Thus, in our example, the opcode ‘fetch’ is MACHINE
CYCLE 1, consisting of 4 clock cycles or T states.
10
Teesside University Open Learning (Engineering)
© Teesside University 2011
D0
ADDRESS
D7
D7 D0 A
d d re
ss d
ec o d in
g
A15 A0
PC
Address bus
Write
Data bus
Memory (ROM & RAM)
0 System clock
ID
D7 D0
IR
In cr
em en
t R
es et
Read
CPU
0 0 0 17FD
1 1 0 0 0 0 0 0 0 0 0 0 0
0
0
0
0
0
0
0
0
0
0
1 1 1 1 1
0 0
0
1 1 1 1
0 0 0 0 1 1 1 1
1 1 10 0 0
0 1 1 1 1 1
0 0 0 0 0 0
17FE
17FF
1800
1801
1802
1803
1804
1805
0 10 01 1 1 1
Opcode
Data
Opcode
Opcode
Opcode
Address
Address
3 Byte instruction
3 Byte instruction
2 Byte instruction
1 Byte instruction
1800 H
3E
C o n tr
o l
si g n a ls
________________________________________________________________________________________
THE COMPUTER REGISTER SET ________________________________________________________________________________________
After decoding the opcode some data manipulation will now need to be
performed in the CPU. In order to do this extra hardware mainly in the form
of extra registers and an ALU (arithmetic logic unit), as shown in FIGURE 5,
is needed. Note that all the registers are connected to a common internal data
bus.
FIG. 5
PC
A.L.U.
8 BIT REGISTER
16 BIT REGISTER
DATA BUS
ADDRESS BUS
C F
T E M P
BAS
MAR
IDCONTROL SIGNALS
A
IR
11
Teesside University Open Learning (Engineering)
© Teesside University 2011
The new hardware additions include:
(a) GENERAL PURPOSE REGISTERS
These are used as temporary data stores. There may be several general
purpose registers but, for the sake of clarity, only two (B and C) have been
shown in FIGURE 5. Had there been no such registers in the CPU then all
data would have to be stored in the external RAM – even if it represented only
an intermediate result of a calculation. This would involve much to-ing and
fro-ing between the CPU and its RAM which is, as you can begin to
appreciate, time-consuming. To speed things up, most CPUs have in-built
general purpose registers. The number of such registers a CPU will have is a
design compromise between space on the ‘chip’ (registers take up quite a bit of
chip area) and speed and flexibility of operation. Typically, in an 8-bit CPU,
the number varies from two to eight. Often, the general purpose registers can,
under program control, be used individually as 8-bit registers or as 16-bit
register pairs. FIGURE 6 shows a set of six general purpose registers which
can be organised as three pairs. Register pairs are useful for storing addresses
and the HL (High/Low) pair is particularly useful in this respect.
FIG. 6
B
D
H
C
E
L
8 Bit
16 Bit
12
Teesside University Open Learning (Engineering)
© Teesside University 2011
(b) ACCUMULATOR (A)
The accumulator is a register of special significance because:
(i) in operations involving the ALU (ADD, SUBTRACT, AND, OR, etc.) it
is the source of one of the bytes of data to be processed
(ii) the results of ALU operations end up in the accumulator.
The role of the accumulator is depicted in FIGURE 7(a):
FIG. 7(a)
Imagine that we wish to add the contents of register B to those of A. The two
registers simultaneously put their contents (1) and (2) to the ALU input which
adds the bit pairs; the result appears on the output (3). The result is then fed
back into the accumulator where it over-writes the original contents. Thus the
original contents of A are lost! The accumulator ‘accumulates’ the result of
ALU operations.
B TEMP
Data bus
A
ALU
1
2
3
13
Teesside University Open Learning (Engineering)
© Teesside University 2011
THE TEMPORARY REGISTER AND TEMPORARY ACCUMULATOR
The temporary register was shown in FIGURE 5 previously and the detail
reproduced here in FIGURE 7(a). One may ask the question; what is the
purpose of the register?
The answer is that it is needed because the ALU requires a byte applied to each
of its inputs simultaneously. At the same time, the output from the ALU will
appear on the data bus. If we study FIGURE 7(a) we see that there will be a
bus conflict between the B registar and the ALU output. In FIGURE 7(a) the
contents of B are first transferred to TEMP so that the output of the ALU has
exclusive use of the data bus. The contents of the ALU are then written back
into the accumulator.
How then, the questions arises, can the accumulator simultaneously act as both
input and output?
The answer is, of course, that it cannot, and if its going to hold the output of
the ALU, then its contents must be transferred to a TEMPORARY
ACCUMULATOR (TA), as shown in FIGURE 7(b). (To simplify the story so
far the TA was omitted from FIGURE 5.)
14
Teesside University Open Learning (Engineering)
© Teesside University 2011
FIG. 7(b)
The temporary accumulator cannot be accessed and is an integral part of the
accumulator/ALU.
(c) ADDRESS STORE (AS)
A three byte instruction can consist of an opcode followed by an address. This
address points to the memory location which holds the data upon which the
operation must be performed. In order to fetch data, the two bytes following
the opcode must be formed into an address and then put onto the address bus.
The AS is the register in which such an address is formed.
(d) MEMORY ADDRESS REGISTER (MAR)
The MAR holds the address of the memory location currently being accessed.
Sixteen bit address registers (or register pairs) will pass their contents to the
MAR when the address they hold is to be accessed. The MAR is necessary so
that the contents of registers such as the PC or AS can be altered without
affecting the current address.
B F ATEMP
Data bus
TA
ALU
15
Teesside University Open Learning (Engineering)
© Teesside University 2011
Consider an example to show the role of the registers mentioned so far.
The instruction to be fetched and executed, is ‘32 00 1F’ in HEX. In words,
this means ‘store the contents of the accumulator in memory address location
1F00’ (again, notice the address is in reverse order!). Assume that 87H resides
in the accumulator: then, after the execution of the instruction, 87H will be
stored at memory location 1F00. The instruction commences at address 1803.
The sequence of events will be as follows:
1. The source address of the opcode (1803) is put onto the address bus, via
the MAR, by the PC (FIGURE 8(a)). The PC is then incremented. The
opcode ‘32’ is read from memory and decoded. In decoding the opcode,
the CPU will now expect a further two bytes to follow and that these two
bytes should be formed into an address in the AS.
FIG. 8(a)
1804
PC
1800
Memory
A.L.U.
8 BIT REGISTER
16 BIT REGISTER
DATA BUS
ADDRESS BUS
C F
T E M P
BAS
MAR
ICONTROL SIGNALS
A
1801 1802 1803
1805
IR
32
18 03 87
32 00 1FREAD
16
Teesside University Open Learning (Engineering)
© Teesside University 2011
2. The contents of the PC are again put onto the address bus to fetch the low
byte (00) of the address contained in the instruction. This is stored in the
lower half of the AS, as shown in FIGURE 8(b).
FIG. 8(b)
3. The high byte of the address is then fetched and stored in the upper half of
the AS (FIGURE 8(c)).
1804
PC
1800
Memory
A.L.U.
8 BIT REGISTER
16 BIT REGISTER
DATA BUS
ADDRESS BUS
C F
T E M P
BAS
MAR
A
1801 1802 1803
1805
18 03 87
32 00 1FREAD
00
17
Teesside University Open Learning (Engineering)
© Teesside University 2011
FIG. 8(c)
4. The contents of the AS are now put onto the address bus (via the MAR) to
access memory location ‘1F00’ and the accumulator contents (87) written
into it (FIGURE 8(d)).
FIG. 8(d)
IF00
PC
A.L.U.
8 BIT REGISTER
16 BIT REGISTER
DATA BUS
ADDRESS BUS
C F
T E M P
BAS
MAR
A
WRITE
1800 Memory
1801 1802 1803 1804 1805
32 00 1F
87061800 871F
1804
PC
1800
Memory
A.L.U.
8 BIT REGISTER
16 BIT REGISTER
DATA BUS
ADDRESS BUS
C F
T E M P
BAS
MAR
A
1801 1802 1803
1805
18 03 87
32 00 1FREAD
1F 00
18
Teesside University Open Learning (Engineering)
© Teesside University 2011
Note that the PC will now be pointing to the address of the start of the next
instruction (i.e. 1806).
FLAG REGISTER (F)
The flag register is a collection of 8 bistable elements or ‘pigeon-holes’, each
of which can be accessed independently. Each bistable in the flag register is
able to record an aspect of the operational state (or the STATUS) of the CPU.
For example, suppose that two numbers are subtracted to give a zero result.
Then the ZERO FLAG is set to 1 to record this.
The exact structure of the flag register depends upon the type of
microprocessor. A simple, hypothetical set of three flags is illustrated in
FIGURE 9. Bits 1 to 5 are not designated.
FIG. 9
CF is the CARRY FLAG. In the case of addition, it is set to 1 if a carry
is generated from the m.s.b.
Z is the ZERO FLAG, already described.
S is the SIGN FLAG. It is set if a negative result is given when using
signed arithmetic (i.e. when the m.s.b. is 1)
6 5 4 3 2 1 LSB
0 MSB
7
S Z CF S = Sign
Z = Zero
C = Carry
X = Not used
X X XXX
19
Teesside University Open Learning (Engineering)
© Teesside University 2011
The state of the flag can be used to initiate a certain sequence of events
illustrated in the flow chart (FIGURE 10) below.
FIG. 10
THE TIMING DIAGRAM FOR THE FETCH AND EXECUTE CYCLE
Timing diagrams for various operations performed in a microprocessor are not
intended to be covered in this unit. However, for the sake of completeness we
show here a schematic of how the clock cycles (designated T1, T2, T3, etc.)
align with the machine cycles (MCs) and actions comprising the fetch execute
cycle. FIGURE 11 shows the timing diagram and the significance of the
circled numbers is as follows:
(1) the opcode is read into the instruction register.
(2) the program counter is then incremented to fetch the next byte (‘LL’)
which will form the lower half of the address.
Subtract B from A
Result = 0 ?
Continue with main program
Perform task ' X'
Yes
No
CPU 'looks' to see if zero flag is set.
20
Teesside University Open Learning (Engineering)
© Teesside University 2011
(3) the next increment of the PC will cause the upper half of the address
(‘HH’) to be fetched. LL and HH are stored in the MAR to form the
address HHLL.
(4) at the commencement of MC4 this address is put onto the address bus.
The entire process takes (4 + 3 + 3 + 3) = 13 clock states, and 4 machine
cycles (one opcode fetch, two read and one write cycle).
FIG. 11
T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 T1 T2 T3
MC 1 (Opcode fetch)
MC 2 (Fetch LL)
MC 4 (Execute)
MC 3 (Fetch HH)
Clock
Address bus
Data bus
Read
Write
Opcode address 'HH LL'
'HH''LL'
IN IN IN OUT
Instruction cycle
1 2 3 4 5
21
Teesside University Open Learning (Engineering)
© Teesside University 2011
________________________________________________________________________________________
SELF-ASSESSMENT QUESTIONS ________________________________________________________________________________________
1. Describe briefly the difference between an opcode and an operand, as
explained in the lesson, and give an example of each.
2. Describe what is meant by ‘bus conflict’.
3. State the function of the temporary register and temporary accumulator
during ALU operations.
4. Describe briefly the purpose of the following:
• instruction register
• instruction decoder
• program counter
• address store
• memory address register
• flag register.
5. Explain how the flag register can indicate the status of ALU operations.
22
Teesside University Open Learning (Engineering)
© Teesside University 2011
________________________________________________________________________________________
NOTES ________________________________________________________________________________________
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
23
Teesside University Open Learning (Engineering)
© Teesside University 2011
________________________________________________________________________________________
ANSWERS TO SELF-ASSESSMENT QUESTIONS ________________________________________________________________________________________
1. The opcode defines what operation an instruction will perform.
Example – ADD, SUBTRACT, AND, OR, etc.
The operand is the part of the instruction that consists of either data or an
address.
Example – data FA, address 0B7A.
2. Bus conflict occurs when two or more items of internal CPU hardware
attempt to write to a data bus.
3. The purpose of the temporary register and temporary accumulator is to
avoid the bus conflict that would arise during ALU operations involving
instructions of two bytes or more.
4. • Instruction register is used to store the opcodes of instructions
fetched from memory.
• Instruction decoder is used to generate control signals from the
opcode passed to it from the instruction register.
• Program counter records which point in the program the computer is
at by storing the next instruction to be fetched from memory.
• Address store is the register into which a 2 byte memory address is
moved following an opcode with operand address being placed into
the instruction register.
24
Teesside University Open Learning (Engineering)
© Teesside University 2011
• Memory address register is the register into which the address placed
in the AS is moved and represents the location of the address
currently being accessed. It is necessary to store the current address
whilst the program couner and address store may be changed without
affecting the current address.
• Flag register is used to indicate the status of important operations of
the CPU.
5. The flag register can indicate whether an operation of the ALU has
produced a positive or negative result, whether the result is zero and when
a carry has been generated.
25
Teesside University Open Learning (Engineering)
© Teesside University 2011
________________________________________________________________________________________
SUMMARY ________________________________________________________________________________________
An INSTRUCTION consists of one or more bytes of data which are fetched
sequentially from memory.
The first byte to be fetched is the OPCODE. This is fetched during the
OPCODE FETCH cycle.
In any subsequent READ CYCLES the OPERAND of the instruction is
fetched from memory.
The operand, as defined in this lesson, may be the data upon which the
instruction will be performed or an address at which the data is, or will be,
located.
The PROGRAM COUNTER (PC) is a 16-bit register which holds the address
of the next instruction to be fetched. The PC is automatically incremented
each time it is used.
The ADDRESS STORE is a 16 bit register used to form an address from data
brought from memory.
The MEMORY ADDRESS REGISTER is a 16-bit register used to hold the
address of data to be accessed in memory.
The INSTRUCTION REGISTER (IR) is an 8-bit register used to hold the
current opcode. The IR passes the opcode to the INSTRUCTION DECODER
which generates the required control signals.
26
Teesside University Open Learning (Engineering)
© Teesside University 2011
A microprocessor also contains several general purpose data registers. The
most important of these is the ACCUMULATOR which is both a source and
destination of ALU operations.
The FLAG register is used to record the status of the microprocessor.
27
Teesside University Open Learning (Engineering)
© Teesside University 2011
<< /ASCII85EncodePages false /AllowTransparency false /AutoPositionEPSFiles true /AutoRotatePages /None /Binding /Left /CalGrayProfile (Dot Gain 20%) /CalRGBProfile (sRGB IEC61966-2.1) /CalCMYKProfile (U.S. Web Coated \050SWOP\051 v2) /sRGBProfile (sRGB IEC61966-2.1) /CannotEmbedFontPolicy /Error /CompatibilityLevel 1.4 /CompressObjects /Tags /CompressPages true /ConvertImagesToIndexed true /PassThroughJPEGImages true /CreateJDFFile false /CreateJobTicket false /DefaultRenderingIntent /Default /DetectBlends true /ColorConversionStrategy /LeaveColorUnchanged /DoThumbnails false /EmbedAllFonts true /EmbedJobOptions true /DSCReportingLevel 0 /SyntheticBoldness 1.00 /EmitDSCWarnings false /EndPage -1 /ImageMemory 1048576 /LockDistillerParams false /MaxSubsetPct 100 /Optimize true /OPM 1 /ParseDSCComments true /ParseDSCCommentsForDocInfo true /PreserveCopyPage true /PreserveEPSInfo true /PreserveHalftoneInfo false /PreserveOPIComments false /PreserveOverprintSettings true /StartPage 1 /SubsetFonts true /TransferFunctionInfo /Apply /UCRandBGInfo /Preserve /UsePrologue false /ColorSettingsFile () /AlwaysEmbed [ true ] /NeverEmbed [ true ] /AntiAliasColorImages false /DownsampleColorImages true /ColorImageDownsampleType /Bicubic /ColorImageResolution 300 /ColorImageDepth -1 /ColorImageDownsampleThreshold 1.50000 /EncodeColorImages true /ColorImageFilter /DCTEncode /AutoFilterColorImages true /ColorImageAutoFilterStrategy /JPEG /ColorACSImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /ColorImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /JPEG2000ColorACSImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /JPEG2000ColorImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /AntiAliasGrayImages false /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /GrayImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /JPEG2000GrayACSImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /JPEG2000GrayImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /AntiAliasMonoImages false /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict << /K -1 >> /AllowPSXObjects false /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputCondition () /PDFXRegistryName (http://www.color.org) /PDFXTrapped /Unknown /Description << /ENU (Use these settings to create PDF documents with higher image resolution for high quality pre-press printing. The PDF documents can be opened with Acrobat and Reader 5.0 and later. These settings require font embedding.) /JPN <FEFF3053306e8a2d5b9a306f30019ad889e350cf5ea6753b50cf3092542b308030d730ea30d730ec30b9537052377528306e00200050004400460020658766f830924f5c62103059308b3068304d306b4f7f75283057307e305930023053306e8a2d5b9a30674f5c62103057305f00200050004400460020658766f8306f0020004100630072006f0062006100740020304a30883073002000520065006100640065007200200035002e003000204ee5964d30678868793a3067304d307e305930023053306e8a2d5b9a306b306f30d530a930f330c8306e57cb30818fbc307f304c5fc59808306730593002> /FRA <FEFF004f007000740069006f006e007300200070006f0075007200200063007200e900650072002000640065007300200064006f00630075006d0065006e00740073002000500044004600200064006f007400e900730020006400270075006e00650020007200e90073006f006c007500740069006f006e002000e9006c0065007600e9006500200070006f0075007200200075006e00650020007100750061006c0069007400e90020006400270069006d007000720065007300730069006f006e00200070007200e9007000720065007300730065002e0020005500740069006c006900730065007a0020004100630072006f0062006100740020006f00750020005200650061006400650072002c002000760065007200730069006f006e00200035002e00300020006f007500200075006c007400e9007200690065007500720065002c00200070006f007500720020006c006500730020006f00750076007200690072002e0020004c00270069006e0063006f00720070006f0072006100740069006f006e002000640065007300200070006f006c0069006300650073002000650073007400200072006500710075006900730065002e> /DEU <FEFF00560065007200770065006e00640065006e0020005300690065002000640069006500730065002000450069006e007300740065006c006c0075006e00670065006e0020007a0075006d002000450072007300740065006c006c0065006e00200076006f006e0020005000440046002d0044006f006b0075006d0065006e00740065006e0020006d00690074002000650069006e006500720020006800f60068006500720065006e002000420069006c0064006100750066006c00f600730075006e0067002c00200075006d002000650069006e00650020007100750061006c00690074006100740069007600200068006f006300680077006500720074006900670065002000410075007300670061006200650020006600fc0072002000640069006500200044007200750063006b0076006f0072007300740075006600650020007a0075002000650072007a00690065006c0065006e002e00200044006900650020005000440046002d0044006f006b0075006d0065006e007400650020006b00f6006e006e0065006e0020006d006900740020004100630072006f0062006100740020006f0064006500720020006d00690074002000640065006d002000520065006100640065007200200035002e003000200075006e00640020006800f600680065007200200067006500f600660066006e00650074002000770065007200640065006e002e00200042006500690020006400690065007300650072002000450069006e007300740065006c006c0075006e00670020006900730074002000650069006e00650020005300630068007200690066007400650069006e00620065007400740075006e00670020006500720066006f0072006400650072006c006900630068002e> /PTB <FEFF005500740069006c0069007a006500200065007300740061007300200063006f006e00660069006700750072006100e700f5006500730020007000610072006100200063007200690061007200200064006f00630075006d0065006e0074006f0073002000500044004600200063006f006d00200075006d00610020007200650073006f006c007500e700e3006f00200064006500200069006d006100670065006d0020007300750070006500720069006f0072002000700061007200610020006f006200740065007200200075006d00610020007100750061006c0069006400610064006500200064006500200069006d0070007200650073007300e3006f0020006d0065006c0068006f0072002e0020004f007300200064006f00630075006d0065006e0074006f0073002000500044004600200070006f00640065006d0020007300650072002000610062006500720074006f007300200063006f006d0020006f0020004100630072006f006200610074002c002000520065006100640065007200200035002e00300020006500200070006f00730074006500720069006f0072002e00200045007300740061007300200063006f006e00660069006700750072006100e700f50065007300200072006500710075006500720065006d00200069006e0063006f00720070006f0072006100e700e3006f00200064006500200066006f006e00740065002e> /DAN <FEFF004200720075006700200064006900730073006500200069006e0064007300740069006c006c0069006e006700650072002000740069006c0020006100740020006f0070007200650074007400650020005000440046002d0064006f006b0075006d0065006e0074006500720020006d006500640020006800f8006a006500720065002000620069006c006c00650064006f0070006c00f80073006e0069006e0067002000740069006c0020007000720065002d00700072006500730073002d007500640073006b007200690076006e0069006e0067002000690020006800f8006a0020006b00760061006c0069007400650074002e0020005000440046002d0064006f006b0075006d0065006e007400650072006e00650020006b0061006e002000e50062006e006500730020006d006500640020004100630072006f0062006100740020006f0067002000520065006100640065007200200035002e00300020006f00670020006e0079006500720065002e00200044006900730073006500200069006e0064007300740069006c006c0069006e0067006500720020006b007200e600760065007200200069006e0074006500670072006500720069006e006700200061006600200073006b007200690066007400740079007000650072002e> /NLD <FEFF004700650062007200750069006b002000640065007a006500200069006e007300740065006c006c0069006e00670065006e0020006f006d0020005000440046002d0064006f00630075006d0065006e00740065006e0020007400650020006d0061006b0065006e0020006d00650074002000650065006e00200068006f00670065002000610066006200650065006c00640069006e00670073007200650073006f006c007500740069006500200076006f006f0072002000610066006400720075006b006b0065006e0020006d0065007400200068006f006700650020006b00770061006c0069007400650069007400200069006e002000650065006e002000700072006500700072006500730073002d006f006d0067006500760069006e0067002e0020004400650020005000440046002d0064006f00630075006d0065006e00740065006e0020006b0075006e006e0065006e00200077006f007200640065006e002000670065006f00700065006e00640020006d006500740020004100630072006f00620061007400200065006e002000520065006100640065007200200035002e003000200065006e00200068006f006700650072002e002000420069006a002000640065007a006500200069006e007300740065006c006c0069006e00670020006d006f006500740065006e00200066006f006e007400730020007a0069006a006e00200069006e006700650073006c006f00740065006e002e> /ESP <FEFF0055007300650020006500730074006100730020006f007000630069006f006e006500730020007000610072006100200063007200650061007200200064006f00630075006d0065006e0074006f0073002000500044004600200063006f006e0020006d00610079006f00720020007200650073006f006c00750063006900f3006e00200064006500200069006d006100670065006e00200071007500650020007000650072006d006900740061006e0020006f006200740065006e0065007200200063006f007000690061007300200064006500200070007200650069006d0070007200650073006900f3006e0020006400650020006d00610079006f0072002000630061006c0069006400610064002e0020004c006f007300200064006f00630075006d0065006e0074006f00730020005000440046002000730065002000700075006500640065006e00200061006200720069007200200063006f006e0020004100630072006f00620061007400200079002000520065006100640065007200200035002e003000200079002000760065007200730069006f006e0065007300200070006f00730074006500720069006f007200650073002e0020004500730074006100200063006f006e0066006900670075007200610063006900f3006e0020007200650071007500690065007200650020006c006100200069006e0063007200750073007400610063006900f3006e0020006400650020006600750065006e007400650073002e> /SUO <FEFF004e00e4006900640065006e002000610073006500740075007300740065006e0020006100760075006c006c006100200076006f0069006400610061006e0020006c0075006f006400610020005000440046002d0061007300690061006b00690072006a006f006a0061002c0020006a006f006900640065006e002000740075006c006f0073007400750073006c00610061007400750020006f006e0020006b006f0072006b006500610020006a00610020006b007500760061006e0020007400610072006b006b007500750073002000730075007500720069002e0020005000440046002d0061007300690061006b00690072006a0061007400200076006f0069006400610061006e0020006100760061007400610020004100630072006f006200610074002d0020006a0061002000520065006100640065007200200035002e00300020002d006f0068006a0065006c006d0061006c006c0061002000740061006900200075007500640065006d006d0061006c006c0061002000760065007200730069006f006c006c0061002e0020004e00e4006d00e4002000610073006500740075006b0073006500740020006500640065006c006c00790074007400e4007600e4007400200066006f006e0074007400690065006e002000750070006f00740075007300740061002e> /ITA <FEFF00550073006100720065002000710075006500730074006500200069006d0070006f007300740061007a0069006f006e00690020007000650072002000630072006500610072006500200064006f00630075006d0065006e00740069002000500044004600200063006f006e00200075006e00610020007200690073006f006c0075007a0069006f006e00650020006d0061006700670069006f00720065002000700065007200200075006e00610020007100750061006c0069007400e00020006400690020007000720065007300740061006d007000610020006d00690067006c0069006f00720065002e0020004900200064006f00630075006d0065006e00740069002000500044004600200070006f00730073006f006e006f0020006500730073006500720065002000610070006500720074006900200063006f006e0020004100630072006f00620061007400200065002000520065006100640065007200200035002e003000200065002000760065007200730069006f006e006900200073007500630063006500730073006900760065002e002000510075006500730074006500200069006d0070006f007300740061007a0069006f006e006900200072006900630068006900650064006f006e006f0020006c002700750073006f00200064006900200066006f006e007400200069006e0063006f00720070006f0072006100740069002e> /NOR <FEFF004200720075006b00200064006900730073006500200069006e006e007300740069006c006c0069006e00670065006e0065002000740069006c002000e50020006f00700070007200650074007400650020005000440046002d0064006f006b0075006d0065006e0074006500720020006d006500640020006800f80079006500720065002000620069006c00640065006f00700070006c00f80073006e0069006e006700200066006f00720020006800f800790020007500740073006b00720069006600740073006b00760061006c00690074006500740020006600f800720020007400720079006b006b002e0020005000440046002d0064006f006b0075006d0065006e0074006500720020006b0061006e002000e50070006e006500730020006d006500640020004100630072006f0062006100740020006f0067002000520065006100640065007200200035002e00300020006f0067002000730065006e006500720065002e00200044006900730073006500200069006e006e007300740069006c006c0069006e00670065006e00650020006b0072006500760065007200200073006b00720069006600740069006e006e00620079006700670069006e0067002e> /SVE <FEFF0041006e007600e4006e00640020006400650020006800e4007200200069006e0073007400e4006c006c006e0069006e006700610072006e00610020006e00e40072002000640075002000760069006c006c00200073006b0061007000610020005000440046002d0064006f006b0075006d0065006e00740020006d006500640020006800f6006700720065002000620069006c0064007500700070006c00f60073006e0069006e00670020006600f60072002000700072006500700072006500730073007500740073006b0072006900660074006500720020006100760020006800f600670020006b00760061006c0069007400650074002e0020005000440046002d0064006f006b0075006d0065006e00740065006e0020006b0061006e002000f600700070006e006100730020006d006500640020004100630072006f0062006100740020006f00630068002000520065006100640065007200200035002e003000200065006c006c00650072002000730065006e006100720065002e00200044006500730073006100200069006e0073007400e4006c006c006e0069006e0067006100720020006b007200e400760065007200200069006e006b006c00750064006500720069006e00670020006100760020007400650063006b0065006e0073006e006900740074002e> >> >> setdistillerparams << /HWResolution [2400 2400] /PageSize [612.000 792.000] >> setpagedevice