Digital Switching Overview - Lyle School of Engineering

advertisement
Digital Switching
EE8304/TC715N
SMU/NTU
Lecture Scheduled March 23, 2004
Direct Memory Access (DMA) and
Circuit Switching
(print slides only, no notes pages)
Page 1
©1997-2004 R. Levine
Overview
• Modern computers perform Input/Output (I/O) via
a specialized hardware module which uses Direct
Memory Access (DMA)
– It generates a sequence of addresses and autonomously
reads/writes RAM memory data, independent of the CPU
• The DMA module structure is very similar to a
digital switching matrix
– With addition of a “Connect Memory” for mapping time
sequence of I/O time slots.
– Connect memory contains one type of “Translation
Table” or “Indirect Address Table”
Page 2
©1997-2004 R. Levine
Historical Computer I/O
• Early computer designs interposed the CPU
between the I/O port and the memory
• This was slow and inefficient:
– Many early I/O devices (keyboard or printer) were much
slower to handle a character than the speed of the CPU
– Program code involving indefinitely long wait loops was
used to cause a read-in of data when a keyboard
character was ready, or to print the next output character.
Typical input assembly language:
BACK:
RIN:
JMPI
JMP
READ
RIN;
BACK;
REG1;
{test the “readyinput” signal}
{go back}
{copy input line to register 1}
• Invention of interrupt technology improved the I/O
process somewhat
Note: BACK: and RIN: are assembly language statement line labels. JMPI is a
conditional jump that depends on a data ready flag signal from an input
channel.
Page 3
©1997-2004 R. Levine
Deficiencies of CPU I/O
• In previous example, no other useful CPU operations can
be accomplished while waiting for I/O
– Large data block I/O transfers could occupy most of the
program run time
• known as “I/O bound” or “I/O limited” programs
• Early I/O devices were very slow, thus compounding the
problem
– Example: 10 character/second printer, compared to
megabyte/second transfer rates to a VGA computer
display today
– Keyboard input is still slow today
Page 4
©1997-2004 R. Levine
Interrupt Improvements
• By use of an interrupt process for each input
character (or text line), the CPU allows other
useful work between character inputs
– Particularly helpful in a multi-user computer (“time
sharing”)
• Each keystroke causes an electrical interrupt
signal (for character-oriented input):
– Character is stored in a 1-byte external “buffer” register
– Interrupt service routine (ISR) reads in the character
– Upon completion of the ISR, the computer returns to the
original ongoing program code execution
– Note: some input systems store a string of characters in
a larger buffer, and cause an interrupt only when a
particular character (like the ENTER key) is pressed.
Page 5
©1997-2004 R. Levine
Direct Memory Channel Improvement
• Interrupt processing is better than looping while
waiting for input, but still requires explicit opcode cycles to perform I/O transfers
• Next improvement is a separate peripheral
module to perform direct memory access (DMA)
– independent channel to/from RAM
– Generates its own sequence of address values
• Starting address pre-set by CPU
• End address (or data block length) pre-set by CPU
– Some DMA designs contain a buffer memory
• Executes its data transfer cycles without
slowdown of the CPU, via “cycle stealing”
Page 6
©1997-2004 R. Levine
Cycle “Stealing”
•
Most computer operation op-code cycles have
two distinct parts:
1. One part involves RAM access
• Read the OP code from program memory
• Read/write data from/to data RAM address(es)
2. Second part involves only CPU operations
• Perform data manipulation using CPU registers as
source(s) and destination(s) of data
•
DMA device performs RAM access during this
second portion of the op-code cycle
Page 7
©1997-2004 R. Levine
DMA Block Diagram
Interrupt line
CPU
cycle state signals
address setup
Address bus
DMA Module
External
I/O lines
Data bus
RAM
Page 8
Many devices connect to a bus;
control signals (not shown)
determine which device is the
destination of the current bus
data values. DMA has same clock input as CPU.
Some designs use main address bus to transfer
initial DMA start/stop address settings.
©1997-2004 R. Levine
DMA Module Comprises:
• Address Generator
– Automatically incrementing/decrementing address register
• Starting value is pre-set by CPU
– Special full adder module to automatically add/subtracts 1 (or
other appropriate value) to address register contents for each
RAM access cycle
• End Control
– End address register
• value pre-set by CPU
– Comparison hardware
• Current DMA access address is compared with contents of
end address register after each read/write cycle
• Repetitive RAM access and address increment cycle is
electrically stopped when all bits match
– Then DMA causes a distinct CPU interrupt indicating “I’m
finished with the block transfer”
Page 9
©1997-2004 R. Levine
DMA Conditions
• Data is transferred in blocks. Data bytes go
to/from consecutive RAM addresses
– Special case of 1-byte block is also used
• For “continuous” transfer, external device
data rate must be sufficiently fast:
• Magnetic disk bit transfer is rapid
• There is some delay (latency) until proper track/sector
is under the read/write magnetic pickup head, but
then the bit rate is fast
– Data to/from devices with slow or non-regular data byte
transfers is typically “buffered” in an external or
peripheral memory
• Example: keyboard buffer stores characters until special
key (e.g., “ENTER”) is pressed
• buffer is internal to DMA module in some designs
Page 10
©1997-2004 R. Levine
DMA Transfer
• During DMA data transfer a data word (byte, etc.)
is transferred during the appropriate (“stolen”)
part of each consecutive op-code cycle
• Sometimes called “background” operation
• Meanwhile, unrelated CPU “foreground” op-codes may
be executed
• When block transfer is complete, DMA causes a
CPU interrupt
• When the total data array is very large, it is typically
segmented and transferred in fixed size blocks
• In general, transfer block size is arbitrary
• In some cases, transfer block size is fixed by external
buffer or device constraints
– example: 512 bytes in a diskette data block
Page 11
©1997-2004 R. Levine
DMA Today
• Most (except some very simple 4-bit) CPU chips
have DMA modules “built in” today1
– Standard “feature” of all personal computers
• Most CPUs do not have an INPUT or OUTPUT op-code, but
do have op-codes to set up the DMA module to perform I/O
– Four commands to: set start address; set end
address (or block size); read or write via a
particular I/O channel; then start transfer.
• Special separate memory with special DMA
modules performs digital telecommunications
switching as well
– standard method for circuit switching
– can also be used for cell switching (ATM, fast packet,
etc.) although other specialized structures also exist
Note 1: We cannot call this built-in DMA a “peripheral” device
Page 12
©1997-2004 R. Levine
Some History
•
Telephone systems used “circuit switching” via space switches
– A channel is dedicated to the two (or more in a conference call)
participants for the duration of the conversation
• regardless of whether sound or silence is present at the microphone
– historically achieved by analog metallic wire conductor connection of
the two telephones
• When digital multiplexing (T-1 channel banks) were introduced (ca.
1961), engineers’ thoughts soon turned to fully electronic digital
switching
– Many historical designs exist for mechanically moving contacts to the
correct pair of wires, or closing the selected contacts in relays
• Gross-motion switches: contact arms rotate or slide
– Step-by-step (Strowger, Automatic Electric*)
– X-Y and Radial-angular (Ericsson and Stromberg-Carlson**)
– Panel (AT&T***) used in 1930s-1960s
• Fine-motion switches: relay armatures pivot with small contact
movement
– Multi-relay tree switching, code switches, etc. Various developers,
mainly for small private branch exchange (PBX) switches.
– Crossbar (Ericsson and AT&T***)
* Later GTE A.E., now merged into AG Communications Systems; **S-C now merged into
Siemens; ***AT&T manufacturing operations are now Lucent (and Avaya PBXs)
Page 13
©1997-2004 R. Levine
“Electronic” vs. Digital
Switching
•
The first digital switch in the PSTN is generally acknowledged to
be the AT&T (now Lucent) No. 4 ESS (electronic switching
system), circa 1970
– several earlier switching systems, called electronic, still used
electromechanical switching (typically small relays) and analog
transmission (example: No. 1 ESS)
– 4 ESS is a transit or tandem switch, not a central office or end office
• 4 ESS has only T-1 links at its ports (no telephone sets*)
• analog/digital conversion and digital multiplexing is done
elsewhere in the PSTN by channel banks or digital central offices
•
The first commercial digital “end” switch (a PBX) is credited by
most sources to ROLM** circa 1970.
– ROLM was a military computer maker, illustrating that good ideas
sometimes come from outside the traditional telecom industry
– Original design not internally compatible with 64 kb/s Mu-law PCM
*except for some test lines; **later merged into IBM, then Siemens
Page 14
©1997-2004 R. Levine
Computer I/O DMA vs. Switching DMA
• Many computer I/O channels are parallel multi wire
– Disk drive data bus, etc.
– feasible for short distance connections
• Telecom digital multiplexed links are serial
– Long distance connections are preferably serial
– Examples are T-1 (DS-1) at 1.544 Mb/s; E-1 at 2.048 Mb/s
– Serial-parallel conversion (using shift registers) is necessary
for compatibility with parallel RAM access
• Computer I/O:
– All the bits in a data block go to/from the same port
– Data bit order is not rearranged within the data block
• Switching I/O
– Different bits in some designs go to/from different ports (space
switching)
– Data bit order is intentionally re-arranged (time switching)
Page 15
©1997-2004 R. Levine
Distinctions
• A DMA module associated with a general
purpose computer has certain distinctive
properties:
– Uses the same RAM memory as program data
– Often only one DMA port
• Some designs have additional dedicated DMA modules for
very high data rate devices such as hard disk, etc.
– Serial and/or parallel I/O
• Data modems, etc. are serial
• Most internal and/or high bit rate devices are parallel
– Data bytes retain the same time order or address order in
memory when they are transferred in or out
• related to consecutive address sequence generated
in DMA module
Page 16
©1997-2004 R. Levine
Telecom Switching Matrix
•
A telecom switching matrix or central switching network has:
– A dedicated internal buffer memory, distinct from the RAM memory used
for program code and data
• Often on a completely separate physical module (printed wiring card)
– Usually has at least two DMA bi-directional serial ports
• Input and output are simultaneous on each port with dedicated
hardware for each operation
– Serial I/O on each port
• requires shift registers for serial/parallel conversion, since the internal
buffer memory has parallel data ports
• Serial format is sometimes designed to be compatible with T-1 bit
stream (e.g., NEC switches), or E-1, but...
– Many designs use proprietary bit streams, with bit format rearranged by
special hardware at trunk interfaces to PSTN (e. g. Nortel DMS family, or
original 4ESS). Synch and/or framing bits are inserted/removed.
– Data bytes (pulse code modulation -- PCM samples) are usually re-arranged in time
order
• implies re-arrangement in buffer memory address order
• re-arrangement controlled by the “connection memory” mapping table
Page 17
©1997-2004 R. Levine
Simplified Block Diagram
•
Diagram illustrates signal flow in only one direction
– Real switching matrix has additional DMA hardware to perform
matching signal flow in opposite direction as well (not shown)
ParallelSerialData Bus
Serial
Parallel
Converter
Converter
Connection
Memory
content
can be
changed
by the
main CPU
of the
computer
Connection
Memory
Address
Bus
Buffer RAM
Memory
Consecutive
Address
Generator
Consecutive
Address
Generator
Both address generators are synchronized to the same master clock (not shown)
Page 18
©1997-2004 R. Levine
Other Things Not Shown
• In addition, the serial-parallel converter boxes would also
have (not shown in figure)
– Framing pulse insertion circuitry:
• For a T-1 design, the equivalent clock rate of the memory is
24 bytes (192 bits) in 125 µs (corresponding to 1.536 Mb/s).
With the insertion of 1 framing pulse in each external 125 µs
frame the external bit rate is 1.544 Mb/s
– Elastic buffer:
• A specialized first-in-first-out (FIFO) memory device is used
at both ports to compensate for two short term timing
discrepancies: (jitter and/or framing bit insertion)
1. internal/external (1.536/1.544 Mb/s) bit rate discrepancy (output)
2. External line jitter (short-term time-varying bit rate, leading to non-uniform
bit intervals at the input)
• The external output must then be intentionally slightly
delayed to allow some bits to build up in the FIFOs to
accommodate irregular input and regular output.
•
“Start address” modification circuits, not described here...
Page 19
©1997-2004 R. Levine
Connection Memory
•
Connection Memory contains a list or table for mapping input time slots
to output time slots.
–
•
Pointer data values are set from the CPU on a “per-call” basis
The data output of this memory is used as an address to access the
buffer RAM (decimal representation shown)
–
Interesting analogy to indirect addressing as used for passing data variables “by name” to
a subroutine
Address
0
1
2
3
…
…
Page 20
Pointer or
Contents
14
9
0
23
23
2
©1997-2004 R. Levine
Illustrates a
24 slot design.
Addresses
4 through
22 not shown
in this diagram.
Connection Translation
• The list in the connection memory is an example
of a “translation” table
• This particular translation has certain required
properties for normal 2-way telephone traffic:
– When fully traffic loaded, it must be single-valued and
thus invertable
• the same entry value cannot occur in more than one
address (one-to-one mapping)
• 3-way or other conference calls are handled in a
special way, to be discussed later in the course
– It maps the integer number range 0-23 onto the range 023 (the word onto here has the mathematical sense
meaning one-to-one)
Page 21
©1997-2004 R. Levine
Connection Memory Operation
•
Consecutive address generators are synchronized to the sequential
appearance of 8-bit PCM samples at the input by means of circuitry not
shown in the diagram
–
•
In this example, the sequential address generators generate a sequence of
binary values represented by the decimal value sequence 0, 1, 2, … 23. This
design is intended for a 24 slot T-1 (DS-1) digital multiplex stream.
–
•
•
When the 8 bits are ready in the serial-parallel converter, they can be written into
the buffer RAM for temporary storage
For simplicity, assume that the usual 193rd framing bit in T-1 is not present here;
just 192 bits per time division multiplexing frame = 24 • 8 bits
The connection memory is scanned in consecutive address order. Its
output is a sequential presentation of the contents values. These values
become the non-consecutive addresses used for storing the input PCM
samples in the buffer RAM.
The output values are taken from the buffer RAM in consecutive address
order, converted to serial bit sequence and transmitted to the right side of
the diagram. Thus the PCM data entering in the first time slot of input
emerges in the 15th time slot of output (address 14 points to the 15th slot
when numbering time slots 1,2,…)
Page 22
©1997-2004 R. Levine
Timing Considerations
• Input and output consecutive address generators
do not necessarily need to be frame start
(framing phase) synchronized
– They would be un-synchronized in particular if the input
T-1 frame is slaved to its own distant end and the output
T-1 is separately frame synchronized to its own distant
end.
– However, the bit rates of the two ports (after correction
for jitter) must be the same on a long-term average
basis.
• If there is a long term discrepancy beyond the
capability of the FIFO elastic buffer, we will ultimately
either loose some input bits (FIFO overflow) or will
run out of input (FIFO underflow). The size of the
FIFO buffer and the specified max and min short term
bit rate are designed to prevent this problem.
Page 23
©1997-2004 R. Levine
Input-Output Frame Timing
Input frame
Continuing input bit stream
ABCDEFGHIJKLMNOPQRSTUVWX ABCDEFGHIJKLMNOPQRSTUVWX ABCDEFGHIJKLMNOPQRSTUVWX
125 microseconds
Output frame example 1
XAVBTCRDPENFMGHIJKLOQSUW
Output frame example 2
XAVBTCRDPENFMGHIJKLOQSUW
The top line of characters represents three input frames of
24 channel T-1 PCM data, each time slot represented by
one of the letters of the alphabet from A to X. The output
bit stream corresponding to the input frame enclosed in a
rectangle can emerge any time after the input frame is fully
received. It could occur immediately after (as in output
example 1), or a half frame later (as in output example 2) or
still later, provided that the buffer holding the output is
emptied in time to use it again.
Notice that the time slots in the output frame examples are
re-arranged in time order by the time switch.
Page 24
©1997-2004 R. Levine
Later output frame
XAVBTCRDPENFMGHIJKLOQSUW
Double Buffering I
• Note that the input data in slot 24 (address 23)
must emerge in slot 3 (address 2); example p.20
– This implies in general that the frame output
must begin after the reception in buffer
memory of all the PCM data in the input frame.
– In general two complete distinct 24 byte buffers
must be set aside in RAM for each direction of
data outflow
• One to receive the currently arriving frame
• Another to hold the PCM data which is currently
being output (received previously).
• Typically organized as two consecutive blocks of
memory, for example using the two buffer RAM
address ranges 0-23 and 24-47 respectively.
Page 25
©1997-2004 R. Levine
Double Buffering II
• The function of the two buffers can be “swapped” at the end
of each frame (one for input, the other for output)
• A “base register” which is alternately provided with start
address contents 0 or 24 is added to the output address
from each side of the diagram. This is not shown explicitly
on the diagram.
• Thus the right consecutive address generator counts from 023 while it outputs the first frame, then 24-47 while it outputs
the next frame, then 0-23 for the third, and so on...
– The output of the connection memory will similarly output (nonconsecutive) numbers in the range 24-47 during the first frame,
then from range 0-23 during the second frame, then from range
24-47 during the next frame, and so on…
– This technique of using two buffer or storage areas in memory
is common to many systems in which input and output must be
continuous but data must be gathered in a block and rearranged or processed before output occurs.
Page 26
©1997-2004 R. Levine
Time Switching
• In previous example there is no choice of output
port (every bit entering via the one left port exits
via the one right port). This switching matrix can
only permute the time order of the PCM samples
– This is useful in a device in which each terminal device
at one end has a fixed time slot on a time division
multiplexed bit stream
• Example 1: a channel bank with distinct devices (telephone sets,
for example) connected for use in each time slot
• Example 2: a line module used in a large telephone switch with
each telephone set/line assigned to a specific time slot
– However, in general we want more choices of switched
channel destinations.
– The next degree of complexity is a multi-port switch
Page 27
©1997-2004 R. Levine
Time-Space Switching
• A digital switch of a similar type but with 3 or more input/output
links can perform time-space switching
• Considering for the moment only one direction of digital signal
flow
– A (double buffered) output memory area must be designed in
for each output port.
– The address range spanned by the connection memory
output must be sufficient to place a PCM sample in any
desired port’s output buffer
•
Typical time-space switch matrices have 16 or 32 multiplexed I/O links
– Each link carries 24, 30 or 128 channels (different designs)
– Even more or less channels are feasible. Designs vary according to specific
objectives.
• Example: 24 channels per port, 32 ports requires 2•24•32= 1536 bytes of
output buffer RAM for a switch. The inputs from any one of the 32 ports
can write into any of the 31 other output double buffers (and even into
its own port output buffer if a “loop-back” test is desired).
Page 28
©1997-2004 R. Levine
Historical Notes
–
Pulse Amplitude Modulation (PAM) was used in some early pre-digital switches*,
and PAM is used as an internal signal in many T-1 and E-1 channel bank units
–
• Voice waveform is low-pass filtered with 3.5 kHz low pass filter
• Filtered waveform is sampled 8000 times per second, producing a pulse train of analog
PAM pulses (continuously variable amplitude) representing the original waveform
• PAM pulses from all the 24 (or 30) channels are fed sequentially to a shared analog-digital
converter and coder
each channel pulse is encoded as 8 binary bits (Mu-law or A-law encoding), producing 192
pulses during each 125 µsec frame (240 pulses during each 125 µsec frame for 30 voice
channels)
• frame synchronizing and other additional pulses are inserted (as required by the design)
into the time buffered bit stream
• the inverse process occurs for reception and de-multiplexing and D/A conversion
– Pulse Width Modulation (PWM) was used in several early so-called “digital”
switches**.
–
• Filtered speech signal is sampled 8000 samples per second
• All pulses produced from these samples have the same voltage amplitude, but the width
(typically a few microseconds) varies in proportion to the sampled speech voltage.
• PWM pulses are convenient for passing to a destination via electronic cross-point (space
division) switches
PAM and PWM can be converted back into analog waveform via a very simple low pass
filter (resistor and capacitor). Economical for discrete component equipment.
* AT&T ESS-101 and Nortel SP-1 PBX; ** Chestel PBX, Danray PBX and transit switch. Danray merged into Nortel.
Danray PWM transit switch was the foundation of MCI’s long distance network.
Page 29
©1997-2004 R. Levine
Some Jargon and History
• Analog electro-mechanical switches are all considered
“space” switches, since the signals are never delayed in time.
Each output wire pair is a different part of “space.”
• Several types of pre-digital switch designs were made
historically in the 1960s through 1980s before the telecom
industry standardized on PCM digital switching. These
switches mostly used PAM or PWM.
• These two types of signals can also be digitally space
switched using a rectangular array of electronic on-off
switches (cross-point switching). They are normally space
switched, but the PAM or PWM pulses can be stored using
capacitor circuits to make a time switch (seldom done).
• Some switches use electro-mechanical analog switching, but
are controlled by a digital computer. Most widespread
example is AT&T No.1 ESS, which uses sealed reed-contact
relays. This category is best described by the word
“electronic” but not “digital.” These are space switches.
Page 30
©1997-2004 R. Levine
Switch Traffic Capacity
• Connection points in a mechanical switch are
analogous to byte memory words in a digital
switching matrix RAM buffer.
– Excluding double counting due to double buffered
design, a one-to-one relationship exists between:
• circuit traffic capacity (number of simultaneous
conversations)
• byte (word) memory cells in the buffer memory
• In electromechanical switches, the number of
certain corresponding installed parts were the
limiting traffic factor:
– wiper contact arms in a Strowger step-by-step switch
– “junctor” lines in a cross-point/crossbar switch
Page 31
©1997-2004 R. Levine
Switching Matrix Capacity
•
•
In general, when N telephone sets and/or trunk channels are
installed in a switch, and any endpoint may desired connection to
any other, then:
N•(N-1)/2 cross-points, or data channel storage bytes in switch
memory, are necessary to provide a simultaneous circuit
switched path between any endpoint and any other endpoint with
half the endpoints simultaneously connected to the other half of
the endpoints
– This is known as a simple non-blocking switching matrix or switch
5 4 3 2 1
fabric
Illustration for case
1
Triangular arrangement of
of N=5. Thus (5•4)/2
blocks with one for each
2
is 10, the number of
distinct row-column pair
solid blocks. Main
N
3
(regardless of order) has
diagonal (dotted line
one block for each “cross4
blocks) is omitted.
point”.
5
Page 32
N
©1997-2004 R. Levine
Geometric Analogy
• N• (N-1)/2 is the number of points in a triangular grid of
points (excluding the main diagonal and all points below it)
in a square grid of NxN points). Each point represents a
crosspoint or switch memory byte.
• Rewriting this as (N2-N)/2 shows that the cross-point count
(and the cost, in most implementations) is approximately
proportional to the square of the number of switch
endpoints.
–
–
It is not too expensive to make a small switch with enough switching traffic
capacity for non-blocking operation at less than 200 to 300 end points1 total, but
usually prohibitively expensive to install enough transmission links in a multiswitch network to make the entire national PSTN non-blocking
A non-simple switch, partitioned into sub-sections in the correct way, can be
made with non-blocking capacity using less total cross points than a simple
switch. The best known structure of this type was invented by Charles Clos of
Bell Laboratories. It is well described in most telephone switching textbooks
listed in the course bibliography. In particular, see Bellamy Digital Telephony,
2nd Ed., Chapter 5 (pp. 230-234). We do not describe this in detail here.
Note 1: An end point is an internal line appearance or an external (trunk)
channel appearance. A switch with one T-1 (24 channels) trunk group and
16 internal extensions has 40 end points.
Page 33
©1997-2004 R. Levine
Blocking and Non-Blocking
•
•
Real large geography networks are very rarely designed to be nonblocking. Real switches are sometimes non-blocking only when
optional extra cost switch fabric circuit cards are provisioned.
A simple switch matrix or a network can be drastically reduced in cost
by taking advantage of the observation that very, very seldom do all
the end points engage in simultaneous conversation
–
•
Exception cases include some common cause for everyone to use the telephone
simultaneously, such as a tornado visible on the horizon, the November 1963 afternoon
that President Kennedy was shot, or a sale of Garth Brooks (popular country and
western singer) concert tickets via telephone orders in Dallas, Texas, starting at 9AM
on a certain Monday!
Most switches, and most transmission networks, are designed with
enough connection capacity to handle the expected amount of traffic.
Attempted (offered) traffic exceeding this level is temporarily blocked.
– Systems with non-zero blocking are analyzed statistically based
mostly on the original work (circa 1910) of Anger K. Erlang, Danish
telephone engineer and mathematician
Page 34
©1997-2004 R. Levine
Simple Non-blocking Matrix
Not “Scaleable”
• We expect, and are not dismayed, when
the cost of a network increases
proportional to N, the number of end
terminal points
– Implies at least the same incremental cost to
install one new terminal device.
• Systems whose cost increases “more”
than proportional to N, such as N2, or even
worse exponentially (aN), are economically
very undesirable!
Page 35
©1997-2004 R. Levine
Blockage Traffic Calculations
• Similar statistical analyses (Erlang B and C traffic models,
etc.) are used to “size” the traffic capacity of a switch or a
set of transmission links, to achieve an acceptable
percentage of blocked call attempts. Explanation and
utilization of these traffic analysis tools (charts, tables and
computer programs) is covered excellently in Prof. Baker’s
EETS8301(TM503N) class and several books listed in the
course bibliography, and will not be repeated here.
• Most state and federal public utility commissions hold
public switched telephone network (PSTN) operating
companies to requirements for blocking on less than 1% of
call attempts (P01 in telecom jargon). In practice, most wire
PSTN operators achieve less than 0.1% (P001). Cellular and
PCS systems strive for 2% blocking (P02) and sometimes
are temporarily at P05 in some problem areas, due to lack of
sufficient radio traffic channels.
Page 36
©1997-2004 R. Levine
Electronic Switch Call Capacity
• The practical capacity of a stored program controlled (SPC)
switch has two aspects:
1. traffic capacity (Erlangs): determined by number of channel
ports and cells/bytes of internal buffer memory. This is related
to dial tone delay (also typically limited by PUC to 1 second
maximum) in Strowger switches, but not in SPC switches.
2. busy hour call attempts (BHCA): the number of call attempts
which the CPU can handle without falling behind real time
response activity or failing to complete an appropriate
response. This measure is related to dial tone delay in SPC
switches.
• Call “attempts” are significant because the control CPU
does a similar amount of processing for each of these
similar but distinct event sequences:
– Answered (“terminated”) call with conversation
– Ring-no-answer call (no conversation)
– Busy call (no conversation)
Page 37
©1997-2004 R. Levine
Switch Capacity, Historically...
• In progressive control electro-mechanical switches (e.g., of
the Strowger step-by-step type), adding traffic capacity
(more two-motion rotary wiper switch assemblies) also adds
call processing capacity as well
– Capacity measures such as “dial tone delay” (still
prevalent in legal public utility regulations) described the
time for the first stage (“line finder”) switches to connect
an “off hook” line to a dial tone generator and the first
selector stages.
• In electro-mechanical switches with “common control”
using electro-mechanical relays (crossbar or panel type),
call processing capacity was historically already distinct
from traffic capacity
– The distinction between BHCA and traffic Erlangs did not start
with digital switching!
Page 38
©1997-2004 R. Levine
Translations
• The contents of a connection memory show one
example of a translation table
• In general, a translation table relates:
– A physical description number (time slot in time division
multiplexing, or a rack, shelf or circuit card number) to another
such number, or to a symbolic (directory) number:
• Used to determine the directory number of an originating line, and
thus the features allowed for that line, its calling line ID, etc.
– The inverse of the above, in which a symbolic number is the
index or address of the table, and the contents or output is a
physical description number:
• Used to determine the proper line and/or time slot for
a final or intermediate destination such as a
telephone set in an end office, or an outgoing trunk
in an originating or transit switch
Page 39
©1997-2004 R. Levine
Equipment or Appearance Numbers
• In a large digital switch, a shelf or drawer of printed wiring
cards may contain 24 or 30 or 32 individual cards, one for
each subscriber line
• PCM to/from these individual cards is typically multiplexed
on an internal 4-wire link
• The link eventually is connected to one port of a multi-port
internal switching matrix
• External T-1 (or similar) links connect to other matrix ports
through signal converter modules
• Thus every station or trunk channel in the switch has a
unique equipment number (internal line appearance
number)
– If all equipment modules are designed in multiples of 2n, then
a binary number can be used to identify each channel with a
distinct bit field for the link number (related to the rack and
shelf) and the time slot number (typically related to the line
card)
Page 40
©1997-2004 R. Levine
Uses of Translations
• Middle and large size telephone switches usually have two
translation tables:
1. Physical equipment number (rack, shelf, card) to directory number
2. Inverse of the above
Analogous to a separate English-to-Spanish and a Spanish-toEnglish dictionary
• Small systems (less than 64 telephone lines) may use one table
of the first form, and find the inverse more slowly by a
complete search of the table (or use of content addressable
memory, etc.).
– This reduces the amount of memory, but low cost of memory has
made this less necessary and less often used in modern designs
•
Maintenance software makes consistent updating of both tables easy and
sure. In some CENTREX or PBX systems, the appropriate customer staff
person can consistently modify the contents these tables via a data terminal.
Page 41
©1997-2004 R. Levine
More Translation Uses
• To change a subscriber’s telephone number, merely change
the matching entries in the two translation tables.
– In contrast, for progressive control (Strowger) electromechanical
switches, the subscriber loop wiring was required to be physically
disconnected and then re-connected to another position on the wiper
switches.
• To change which outgoing trunk port is selected when an
inside PBX user dials “9,” merely change the entry in the
relevant translation table.
–
More complex applications of this principle include selecting different outgoing
trunks for local and long distance calls, changing the translation table entries at
different times of day to route traffic to its destination via different trunks, etc.
• In general, the geographic route (sequence of trunks) which
a call setup follows through a network of switches to its
destination is controlled by the translation tables associated
with these transit/tandem switches.
– At the lowest physical level, the switching control is
effected by the connection memory contents!
Page 42
©1997-2004 R. Levine
Multi-stage Switches
•
Many large switches consist of multiple stages of switch matrices
(space-division cross-points or electronic storage buffers with
DMA inlets/outlets)
– Many of these have less ports and channels toward the “center” of the
switch or at the trunk ports of the switch than at the telephone line set
end
• Although there are more ports at the telephone set end, they are each used
for a small portion of the time (typical average figure is 10% of the hour at the
busiest time of the day for one line)
• The trunk lines which connect one switch to another and the internal links or
junctors between switch matrices are heavily loaded with traffic since they
carry conversations from many different end telephone sets.
• For examples, see Digital Telephony by Bellamy, Chap. 5
– Switches that have unequal numbers of channels at two faces are
called “concentrators” and, in fact, allow a large number of end users
to concentrate their traffic so it can be carried by a smaller number of
dynamically assigned channels. This is feasible when the total traffic
does not significantly exceed the channel capacity on the smaller face.
Page 43
©1997-2004 R. Levine
Relation to Call Processing
•
•
•
When the directory number of a destination telephone is known,
we can translate it into a equipment destination number and use
this number in a connection memory to pass PCM samples to the
correct destination telephone line or outgoing trunk channel.
In a trunk-to-trunk call, the destination number enters the switch
from the source.(See further signaling description later in course.)
– Destination address (telephone number) carried “in the voice
channel” via tone dialing digits or other “in band” signaling in
older technology
– Today, usually carried in a “common” channel via a packet
data message (e.g., Common Channel 7 signaling)
At the originating central office, we must design a program to
prompt the originator to dial the destination digits
– PSTN call processing end-office programs mimic the user interface of
prior electro-mechanical switches, including their little peculiarities
– A “dial tone” is produced, then removed after first digit (typically) is
dialed.
Page 44
©1997-2004 R. Levine
Software Can Be Too Flexible...
• As stored program control (SPC) became more prevalent in
telecommunications switching, several significant changes
occurred in the industry:
– The ratio of hardware designers to software people changed
from 80%/20% in hardware intensive, wired logic systems to
the opposite ratio in modern software driven systems
– The previous cavalier attitude that adding feature upgrades
was merely a “simple matter of programming” (SMOP)
changed, due to bitter experience, into very carefully controlled
and tested software development operations
• The expressed desire of the telecom industry to have
multiple competitive vendors with basically equivalent
capabilities, and the conflicting desire of the vendors to
have some product distinctions and not make their software
public, has led to extensive and sophisticated software
description methodologies.
Page 45
©1997-2004 R. Levine
Call Processing Descriptions
• Standards exist for call processing software
design. Some examples are:
– Telcordia (formerly Bellcore) LSSGR (Local Switching System General
Requirements) describe PSTN switching
– ATIS (Alliance for Telecommunications Industry Solutions) standards
for wire networks.
– GSM, ETSI and TIA industry standards describe much of cellular and
PCS call processing
• One way to develop software descriptions for
equivalent customer services would be a “bit
exact” implementation using a standard source
code, etc.
– In practice this is seldom done, since it constrains designers to
have no product distinctions. In a sense it stifles innovation.
– This has been done for some digital speech coders where exact
inter-working was desired (e.g. GSM RELP) but not for other
digital speech coders (e.g. TIA VSELP)
Page 46
©1997-2004 R. Levine
Discrete State Machines
• The most specific and yet acceptably flexible
description of real-time software is the Discrete
(or “Finite”) State Machine (DSM or FSM)
• A DSM has distinct states. Each state differs from
others because there are some bit values in
memory or registers which are different from
those in all other states
• A DSM is “driven” from one state to another by
“events” -- typically subscriber actions like
dialing a digit!
Page 47
©1997-2004 R. Levine
Telephone Switch DSM
• DSM descriptions of a telephone switch are made
simpler because each telephone line has basically
the same design behavior
– optional features like “call waiting” can be included in
the basic design and software, yet easily “skipped
around” for customers who do not subscribe to that
feature, by testing a “class of service” (COS) flag bit.
– All trunk channels of the same signaling type also have
basically the same behavior
Thus call processing software is readily written as a
single telephone (or single trunk) program, which
is, in practice, installed just once in a multiprogramming operating system with separate
data areas for each telephone line and trunk!
Page 48
©1997-2004 R. Levine
Time-Sharing Software
• Time-shared or multi-programming
software used in telephone switching
systems is generally completely (program)
memory resident
– Outgrowth of time-shared computer operating systems
of the 1960s, but different in many ways.
– Due to desired fast response to real-time events, we
cannot wait while program code is loaded into memory
from a disk!
– When upgraded software is occasionally loaded from
disk, there are elaborate methods to keep the switch
operating without disturbing calls in progress during the
loading process. (Usually involves use of two separate
internal control computers. To be explained.)
Page 49
©1997-2004 R. Levine
Download