©1997-2005 r. levine page 1 digital switching control computers eets8320 smu lecture 9 subroutines...

111
©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital circuit switching (print slides only, no notes pages)

Upload: dorthy-roberts

Post on 23-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 1

Digital Switching Control Computers

EETS8320

SMU

Lecture 9

Subroutines and Interrupts, real time computer controls, and

digital circuit switching(print slides only, no notes pages)

Page 2: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 2

Interrupts and Real Time• Telecom switches must respond to real time

events (an operating system capability)– A process not usually invoked by ordinary business or

scientific programming

• Computer hardware is designed to interrupt an ongoing “background” program– Saves the “context” of the interrupted program– Starts a subroutine-like program specific to the event– Upon completion, computer restores the “context” and

continues with the “background” program

• To understand this process better, we first review how subroutine internals work

Page 3: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 3

Subroutines• In many computer programs the

same repeated sequence of operations occur– only the variables acted on are different in

each instance

• This is the typical application for subroutines or functions– Also called procedures, sub-programs, sub-

procedures. Functions are closely related.

Page 4: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 4

Appearance in High Level Languages

• Most high level (application) languages support writing and using subroutines

• Example subroutine (pseudo-code):SUBROUTINE ALFA (A, B, C, X, Y, Z);Q:= 56; */Q is a “local” variable/*Z:=X+Y+C;A:=Z-B*QRETURN [A, Z];END;

• Also, FUNCTIONs are subroutines which are invoked from the calling program somewhat differently, and return one result variable, typically in a register.

Page 5: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 5

How to Call Subroutines• In main or calling program we typically use the

statement:CALL ALFA (P,M,N,R,S,T);

• To invoke mathematical functions, use the function name as a data variable:G:= H/7 + 3*SIN(2*PI*ANGLE);

• System-provided functions include – Mathematical, trigonometry items like SIN,COS, etc.. The

result can be used in an equation as a variable.– Also system functions like READ, PRINT, WRITE, etc..,

for input/output from/to keyboard, display, disk, etc..• Usually invoked without use of the keyword CALL

PRINT (X, P, M);

Page 6: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 6

JUMP• Corresponds in high level languages to GOTO

<label>;– where <label> represents a target.address

• JUMP replaces the contents of the instruction address register with the target.address from the JUMP instruction– Consequently, the computer will take the next program

step from the target.address in RAM• rather than from the word following the JUMP program

step itself

– No provision exists for later returning to the step following the JUMP

Page 7: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 7

Corresponding Assembly Language

• Assembly language jump operations (not subroutine jumps:JUMP target.addressJMPConditional target.address– Does not imply any later return to succeeding

program steps…

• Jump to SubroutineJSR target.address– this is done in preparation for a later return to

the succeeding background program step...

Page 8: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 8

Jump SubRoutine (JSR)

• More things happen than a simple JUMP:– return.address, the (old value of instruction address + 1)

is automatically saved somewhere:• In a special separate register in the CPU• In a special reserved address/place in RAM

– this special RAM location may be “pointed to” by the contents of a special CPU register (called a “stack pointer”) which automatically begins by pointing to the first address in a reserved array area in RAM (the stack area).

– When a subroutine in turn calls another subroutine, the second JSR causes the stack pointer to automatically increment by 1, so the nested subroutines can each return properly from where they were called.

– target.address is then put into the instruction address register (similar to a JMP operation)

Page 9: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 9

Other Subroutine Happenings• All the “volatile” data in the CPU must be saved

for later use after return from the subroutine:– Includes: contents of ALU register(s)– Overflow bit registers, other condition codes

• Condition codes, used in most modern computer designs, are stored bits indicating results of previous operations and other things about the state of the CPU. They were not discussed in simple examples earlier.

• At the end of the subroutine run time execution, all the “volatile” data must be restored to its original place in the CPU– The return.address must be put into the instruction

address register– This last group of operations are produced by a

compiler, corresponding to the RETURN statement at end of subroutine written in higher level language.

Page 10: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 10

JMPConditional• A conditional jump occurs only if a designated register bit

in the CPU contains a 1 (or a zero in some cases)– The “condition” may be the status of:

• the sign bit (left bit in the ALU register)– implies: jump if result of previous arithmetic operation is negative

• the overflow bit: result of previous arithmetic or shift operation

– In some designs, the entire register...• could imply: jump if logical AND of two data words (which was the

latest previous operation) produces binary 1s

– using “all 1” data value as internal symbol for logical TRUE, which is used in some CPU designs

• Corresponds in high level language to IF (<logical expression>) THEN GOTO <label>;– typical logical expression: ((X-Y)<O);– another expression ((M==TRUE)&(K==TRUE));

• Again, no provision for returning to the program step following the jump – not a subroutine jump…

Page 11: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 11

Special CPU Designs• Modern CPUs are designed to make JSR and

RETURN operations easy to program and faster running:– All volatile data items, including return.address, are

saved in a complete set of extra CPU registers.• Changing register sets is called “changing context” in

computer jargon• Much faster than copying each register to RAM one

operation at a time

– Some designs have 32 or 64 such sets of registers• permits “nested” subroutine calls up to 32 “deep” without

using RAM memory to store variables• When calling more than 32 deep, we can still use stack data

structures in RAM memory for the additional volatile data– RETURN also involves switching context back to the earlier

register set

Page 12: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 12

Data Variables• In the expression CALL ALFA (P,M,N,R,S,T); variable

names P through T in the calling program correspond to data items A, B, C, X, Y, Z respectively inside the subroutine (see corresponding example subroutine on p.14).

• One method to pass data to/from the subroutine is to make a copy of each corresponding data variable in a “local” array of data used only by the subroutine– Then copy back only the output variables to the

corresponding memory locations used by the calling program at the RETURN.

– The output variables are identified to the compiler by the programmer via listing them at the proper place in the subroutine: RETURN A,Z; {but not B,C,X, and Y}

• Most FUNCTION subroutines return their single “answer” in a pre-designated register.

• In the PASCAL programming language, this is the “call by value” method for passing variables

Page 13: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 13

Data Variables• Most compiler languages construct an array of addresses

(pointers) which inform the subroutine where all the data variables are located in the RAM data area of the calling program. Data items used only in the subroutine are stored only in a local data area of memory and is not indirectly addressed.

• In SUBROUTINE ALFA (P,M,N,R,S,T); variable names P through T represent data addresses in RAM, not data values.

• All operations acting on these data items in the subroutine use “indirect addressing.”

• Indirect addressing requires two hardware operational steps:– 1. Use the address of the pointer to get/put the address of the variable.– 2. Use the address of the variable to get/put the actual data value

• Remark: the use of a “connection memory” in telephone switching (to be explained in a later lecture) also requires a two step process very similar to the two-step process used for indirect addressing.

Page 14: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 14

Software Indirect AddressingIn symbolic program writing we indicate indirect addressing in some

languages in various ways, but hide this in others. A few examples: ADD,I P in some assembly languages ,I is appended to the opcode*z:= *x + *y; in C-language, asterisks [spaces are important in C to distinguish

multiplication]

z=x+y hidden from programmer in FORTRAN, et al

• In some computer designs, there is a bit in the op-code field which indicates indirect addressing (not used in the previous simple computer examples)

• There is no need to “copy back” anything at the end of the subroutine, since it has been manipulating the data in the calling program’s data area of RAM all along. The subroutine RETURN statement does not need an attached list of output data items.

• In PASCAL programming language, this is the “call by name” method for passing variables. In FORTRAN this is the normal way to use variables in the calling program and in a subroutine.

• Most FUNCTION subroutines return their single “answer” in a pre-designated register.

Page 15: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 15

When to Use Subroutines• Subroutines should not be used indiscriminately• There is substantial “software overhead”

– Run time penalty: More execution steps to perform the JSR, set up the pointers or data copies, and to return.

• Indirect addressing requires two RAM accesses instead of 1.– In hardware: Another register is needed in CPU to hold intermediate

address

– Some memory penalty: RAM program space for the opcodes to perform those steps

• Examine the object code produced by your compiler– Example: If each subroutine call and return requires 10 stored

program steps and 14 machine cycles, then don’t use a subroutine instead of writing explicitly a simple calculation such as z:=x+y at each place it is required. Recall that this simple statement only produces about 3 machine steps and three operation cycles.

Page 16: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 16

When not to use Subroutines• When less time or memory is consumed

by writing all program steps explicitly each time used– Time may be more important in some

applications, memory space in others

• Some text editors, or “Macro” assemblers, or some programming languages facilitate repeating explicit source code in different places with different data variable names– Actually an automatic source text editing process.

Page 17: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 17

Subroutine Conclusions• Saves substantial program RAM when

properly used• Facilitates “layered” development

– One program group can write overall structure, another simultaneously develops and tests subroutines to shorten project calendar development time

– Improvements, changes at one level do not affect other level if interface (calling variable list) is fixed

• Faster programming, less writing errors, less debugging

Page 18: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 18

Subroutines and Interrupts• So much for subroutines. Next we show how

subroutines are very similar to interrupt service routines.

• Subroutines execute because they are “called” via a JSR statement within the background program code.

• Interrupts have a similar result compared to subroutine calls, but they occur in response to an electrical signal caused by an event– Telephone example: external event is a subscriber lifting a

handset from a cradle switch, causing subscriber loop current flow. Then appropriate electronic hardware in the telephone switch/control computer causes an interrupt jump to the start address of an interrupt service routine (ISR) previously written to handle that event

Page 19: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 19

Real-Time Computing• Many computers must gather input and

produce output within a limited time interval to work with external events

• Examples:– Aircraft navigation control

• steer back on course when disturbed by wind; millisecond responses

– Factory automation • control of assembly line machinery, chemical

processes, etc.

– Telephone switching systems• respond with dial tone within 1 second of lifting

handset, etc.

Page 20: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 20

Methods for Sensing External Events

1. Constantly test an external signal level, waiting to start the appropriate program

– Meanwhile cycling in an “idle” or “waiting” condition• This requires the CPU to have an operation such as jump based on condition of

the external signal:– JUMPConditional to target.address if control voltage is high– don’t jump, just go to next program step, if voltage is low– next program step is JUMP back to first program step!!

– Computer cannot get anything else accomplished– This was the process in early (before ~1955) computers

2. Better alternative: Interrupt driven input/output– Computer executes useful “background” program(s)– When external event occurs, a special electrical signal causes “interrupt,”

similar to JSR to a preset target address– continue with background program later, using stored return address– Interrupt cause can be external, internal or from a peripheral device such

as completion of a data block transfer via direct memory access (DMA) input/output equipment

Page 21: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 21

Interrupts• Details of hardware implementation of interrupts vary among designs• Individual interrupt devices can be “armed” or “disarmed” under

software control. Certain interrupt channels are designed to have higher priority than others, so they execute first in case of simultaneous causative events

• When the currently operating machine op-code cycle(s)* is/are finished:• A pre-designated subroutine (Interrupt handler or Interrupt Service

Routine) starts to run, with all the same actions normally associated with a JSR

– Return address is saved– All volatile data items are saved (usually in a push-down stack and/or by switching CPU

register “context” sets)– Interrupts due to other causes are temporarily blocked (“disarmed” is the jargon) until

subroutine code actually starts to run– Program instruction register has the starting address of the pre-designated subroutine

placed in it, and a jump to that subroutine occurs. (There are some hardware design alternatives to this specific method of starting the ISR software running)

• Very similar to a subroutine call, but caused by an “external” electrical signal

– Not caused by a JSR statement in the background program*Long division operation uses several clock cycles, for example .

Page 22: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 22

Subroutine and Interrupt Service Routine (ISR)

• If you can write a subroutine you can typically write an ISR… very similar.

• But the processes for setting up the target.address for the interrupt are not available to the programmer in most higher level languages– Design details vary, but normally involves placing

target.address in a special absolute address (within a data stack structure) in memory or into a special hardware register associated with the interrupt control hardware

– The ISR must be in RAM memory with its first program op-code step in RAM at target.address as well!

Page 23: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 23

Division of Programming Labor• Usually, system programmers write the

underlying code to set up the interrupt– Place the proper target.address in proper

place(s) in memory

• System (or application) programmers write the ISRs

• Application programmers use the results – Mostly input or output data values

• Object code is placed (loaded) at proper address(es) in RAM or firmware memory.

Page 24: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 24

Responding to Real Time Events• How to distinguish the particular device which

caused the interrupt? Examples:– one particular telephone, out of many, goes off-hook– Typist at one particular data terminal keyboard, out of many,

in a multi-desk data entry installation, presses ENTER key

1. “Vectored” interrupt to distinguish nature of cause and/or particular devicedistinct separate target.address for each device, and/or in

some designs, for each pushbutton on each device

2. Alternatively: data identifying the source device and or input value (e.g. ASCII code for particular keyboard key or dialed

telephone digit) is passed into accessible RAM and “read” by the ISR to determine which device (telephone) and which pushbutton on each telephone caused the interrupt

Page 25: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 25

Interrupt for Every Little Event?• Similar considerations about the “overhead”

for each interrupt and each JSR still apply:– In small systems (e.g. a 16 station small-office

telephone switch or “key system”) the design can respond to each off-hook and each individual button push with a distinct interrupt

– In a 30,000 line public telephone switch*, a semi-external I/O controller can gather up lots of data values in an external FIFO** memory buffer, to indicate what events occurred. The contents of the FIFO buffer will be put into the computer periodically when a “clock tick” occurs

* Typically 200,000 call attempts per busy hour (~55 call attempts/second, and a call attempt comprises many dialed digits, etc.)

** FIFO= first in, first out memory data storage

Page 26: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 26

Clock Driven Interrupts

• In a big system, the special semi-external I/O equipment transfers a FIFO buffer full of data typically 100 times each second

• The interrupt for this data transfer is caused by a periodic internal clock– not by any particular external event like

a user dialing a digit.

Page 27: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 27

Interrupt vs. Trap• Historical Distinction:

– External cause usually called an Interrupt– Internal event (particularly a fault) cause usually called a trap

• Usually a fault or undesirable result, such as:– Error detected when reading memory data (using extra

error checking bits together with stored data, for example 9 bits comprising 8 data bits and 1 parity check bit in each memory “word”)

– Illegal operation, such as attempt to divide by zero

• But a clock interrupt signal is (strictly speaking) internal, but is called an interrupt, not a trap (intentional event, not due to a fault)!

– Internal clock can be set to cause a pre-arranged interrupt at a pre-determined time (e.g., 6 seconds after the countdown timer is set)

– Several distinct clocks with different time settings can run simultaneously in most computers

Page 28: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 28

Overview• Switching software is real-time event-driven:

– The driving events are end-user actions such as dialing digits, lifting handset, etc.

• Circuit-switched voice telephone software mimics the human interface behavior of historical electro-mechanical switches– Including incidental items like intentional post-dialing delay and

non-symmetrical treatment of origin/destination vis-à-vis disconnect (wireline switches)

• Telephone switching software is often described or designed using finite state machine (FSM) formalism

Page 29: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 29

SDL and Flow Charts• Three isomorphic (equivalent) descriptions:

– Graphical flow-chart-like (SDL= specification and description language)

– Graphical linked points diagram– Tabular row-column lists

• Specification and Description Language (SDL) is documented in ITU Z.100 and SDL 2000 documents.

• SDL graphic symbols are like flow charts, but include graphic symbols for operations like setting timers, arming and disarming interrupts, and starting interrupt service routines.

Page 30: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 30

Historical Switching• Original post-1876 A.G.Bell installations were point-to-point

hard wired. Examples:– Office to warehouse of same firm (like a modern

intercom circuit)– Palace to beach-house of the King of Hawaii

• Manual cord-board switching introduced in Hartford, CT in 1880s.– Teen-age boys pulled electric wires across the room and

temporarily connected them in response to verbal instructions from subscribers

– Later developments led to standard cord-board: a desk-like panel with a retractable cord from each voice connection unit, and a panel in front of the human operator with a socket for each subscriber (and historically later, a socket for each trunk line to another switching center)

– Parallel historical development of common battery power and supervision technology also facilitated the cord switchboard

Page 31: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 31

Other 19th Century Improvements

• Carbon Microphone (Edison and Berliner)– Permitted loops of up to ~5 mi (8 km) due to greater

transmitted electrical audio power level• 2-wire “loop,” instead of single wire using earth

conductivity for current return path– Earth return was previous standard in telegraph systems, but

produced tremendous “cross-talk” for telephones– Loop greatly improved voice quality and reduced audio noise– Invented by J.J.Carty, later chief engineer of AT&T

• Alternating current ringer (low maintenance) instead of previous buzzer devices with vibrating electric contacts subject to sparking, corrosion and deterioration

• Common (central office) battery for dc loop current using transformer to couple audio voice signal between two telephones in a conversation

Page 32: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 32

Switchboard Plug• Same dimensions used today for 1/4 in

(6.35 mm) diameter stereo headset plug

Tip (green positive wire)Ring (red

negative wire)

Sleeve (only in electro-mechanicalswitches,no standardoutside-plant color)

Insulators

Tip

Tip

Ring

Sleeve

SleeveRing

Plug Assembly Graphic Symbol

Socket Assembly Graphic Symbol

Note: use of red insulation for neg-ative polarity is unique to the telephone industry. Other electricalstandards (power,electronics, auto-motive) use redfor positive.

Page 33: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 33

Historical Cord Circuit

_

+

Primitive Telephone set (dial, ringer, cradle switchnot shown). No directionalcoupler here as in latertechnology.

Primitive central office cord circuit. Positive battery terminal grounded to minimize electrolytic corrosion. Audio frequency voice signals coupled via transformer. Does not show ringing power, sleeve wires, signal lamps and buzzer, operator exclusion switches, etc.

telephone set andsubscriber loop

Common battery feedand voice coupling

Note useof sameCO battery(with audiobypass capacitor)for all loops.

Earphone

Microphone

Other telephoneset not shown.Operator headsetalso in parallel withvoice wires tempo-rarily, not shown.

Page 34: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 34

Supervision Methods• In traditional telephone jargon, “supervision” describes only the

aspects of signaling which relate to busy/idle status– Dialed digit information was historically distinct (called “signaling”)– In modern cellular/PCS software both things are often described by the

word “supervision”• therefore, be careful about jargon!

• Historical method to get attention of the operator or subscriber was a small hand-cranked AC generator or “magneto” at subscriber end

– Produced about 90 V ac, at 20 Hz frequency. – Still standard ringing waveform for North America today

• Then the common-battery circuit was introduced– Subscriber “switch-hook” closed a current loop and operated a light

and/or buzzer near that subscriber’s socket on the switchboard panel– Operator lifted a retractable cord from the desk-top, connecting her*

headset to the subscriber via a voice-frequency transformer– Operator then asked “Number Please?”

* Boys were replaced by more polite ladies in 1890’s; operator corps was exclusively female until 1960s .

Page 35: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 35

Call Connection• Operator plugged other end of cord circuit into callèd subscriber

socket (the second syllable of callèd is artificially stressed in telephone jargon to emphasize the spoken distinction with “call”)

– Outer part of socket and “sleeve” (called “C” wire in European jargon) of plug carried a voltage when that line was busy. (No C wire in modern electronic switches.)

– Voltage (if present) on sleeve produced an audible click in operator earphone, indicating busy line

• If callèd line is idle, cord circuit is plugged in, connecting voice circuit of both telephones

– … and connecting temporarily the operator as well– Operator presses momentary contact switch to apply 20 Hz, 90 V ac ringing

to the callèd loop– When callèd person answers, operator presses a latching switch to

disconnect operator’s headphone from the cord circuit– When either participant hangs up, dc loop current from common central

office battery stops, indirectly operating a distinct buzzer and light on the cord board via a relay.

– Operator then “tears down” the connection by pulling both retractable cord plugs from the callèd and calling part circuit sockets. Cords fall back into desk surface due to cord weights under the desk.

Page 36: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 36

Cord Switchboard Capacity• The number of simultaneous conversations is limited to the number of cord

circuits installed in a cord switchboard– Each cord circuit is similar to a storage address (byte) in an electronic

switch vis-à-vis capacity– The BHCA (call processing) capacity is limited by the attention and

operational speed available from the human operator• Both were improved by providing more operator positions (cord circuits)

– Each subscriber loop appeared at multiple sockets, each one within reach of an individual operator position

• Thus a historical need for busy status signal (sleeve or C wire)• Early example of switch “concentration”

• Operator-handled calls were controlled by human intelligence– Computer controlled (stored program controlled - SPC) switches

merely strive to put back into automatic service many of the clever things human operators did historically (example, ring back to originator when initially busy destination finally becomes available)

Page 37: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 37

Some Human Operator Features• Call by name (no telephone number required)

– Response to: “Please call the Smith home.”

• Wake up calls (at pre-determined time)• Re-connect calls accidentally disconnected*• Notify busy line of incoming call waiting• Set up 3-way (or more) conference call • Connect call to alternate line when subscriber is

away from home (call forwarding)Note that modern “feature-rich” PBX, small business key systems, and some

PSTN switches now do these things via computer control

• Several experts have calculated that there are not enough people on earth to support the today’s (2001) level of public telephone traffic using operator cord board switching!

*The GSM cellular system can optionally be configured to do this.

Page 38: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 38

Strowger Step-by-step Switch• Almon B. Strowger, a mortician (undertaker) in Kansas City

KS, invented the first practical automatic dialing system– Famous story: fearing that the human operator was directing calls for a

mortician to his competitor, he invented an automatic user-controlled switch

– First commercial version (installed in LaPorte, IN, circa 1895) used extra wires and push buttons on each subscriber set

– Rotary dial with impulsive loop current on the voice wire pair was a later development

• Strowger’s manufacturing firm, Automatic Electric, moved to suburban Chicago, IL, later absorbed by GTE, later moved to Phoenix AZ, now AG Communication Systems (partly owned by Lucent)

– “Stepper” progressive control switches were manufactured world wide for many decades

– Electromechanical common-control switches developed by other manufacturers, such as “panel” and “crossbar” types partially succeeded steppers in the 1930 - 1960 decades

Page 39: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 39

Schematic Stepper Diagram

Many details omitted here

Vertical Motion

Rotary Motion

Rank 1

Rank 0

1

23

4 5 6 7 89

0

Tip, Ring, Sleevewires from Rank 8,column 7.

Electromagnets andsprings activate the motionsof the wiper arm in responseto dial impulses.

Ten places oneach circularrank wherea 3-contact assembly islocated -- notillustrated indetail.

Rank 9

Axle

Arm

Page 40: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 40

Stepper Switching• Strowger switches evolved into an assembly with a movable wiper

switch “inlet” and 100 “outlets” (wire pairs with “sleeve” wire)– 10 contact pairs arranged in a horizontal arc, selected by rotating the

wiper switch arm. (Also a third “sleeve” wire in addition)– 10 such horizontal arc sub-assemblies stacked and selected via vertical

motion of the axle (actually the first motion is vertical)– Single-motion (rotation only) switch assemblies were also used

• “Line Finder” switch (mostly single motion) acts as input concentrator (“inverse” of selector action)– Wiper arm contacts act as the single outlet– Line finder single-motion stepper typically wired to 10 subscriber lines,

selects a line when that line goes off-hook• Stepper starts stepping from line to line when any of the 10 lines go off hook,

then stops when correct “off-hook” line is “found”

– analogous to operator responding to buzzer and light– Multiple line finders wired in parallel to the same 10 telephone sets

analogous to multiple operator stations with each having access to the same subscriber sockets.

• Number of simultaneous originating conversations limited to the number of line finder switches connected to those lines. Ten line finders wired to ten subscribers is “non-blocking” with regard to line finders. (Overall system may still block at later stages…)

Page 41: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 41

Selector Switches• Line finder outlet goes through a transformer “cord circuit”

• Connected to dial-tone generator until the first dialed digit.• Then the circuit is switched through a chain of two-motion selector stepper

switches, with a “motion” for each digit. Each burst of impulses (dialed digit) produces a rotary or vertical motion constituting the next stage of the wiper arm selection process

• Dial pulses from rotary dial (typically 10 impulses per second, each one approximately 60 millisec current OFF and 40 ms current ON) are passed around the cord circuit by special electro-mechanical relays

• A relay employs magnetically operated switch contacts, so that current ON/OFF status in the contacts mimics the current ON/OFF status in the wire coil causing the magnetic action.

– Special “slow release” relays hold the line finder so the 60 ms OFF intervals do not cause a disconnection

• After turning and releasing the telephone set rotary dial from an angle labeled with a specific number, the returning rotation of the dial to its normal position produces 1 to 10 current impulses

– Simultaneously, an “Off-normal” switch contact in the telephone set temporarily short-circuits earphone so clicking is not heard

• Following a stage of selection motion, a slow release relay is automatically connected into that line to prevent further disturbance of that particular selection due to the succeeding bursts of dialing impulses

Page 42: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 42

Incidental Information

• Rotary dial label “0” represents 10 impulses everywhere in the world (except Sweden, where the dial is labeled 0, 1, 2…9)

– However, touch-tone dials in Sweden use the same digit labels for DTMF tones as the world standard.

– Impulsive signaling must be converted at international boundaries to Swedish telephone system. But symbolic signaling (binary digit codes used in CCS7, etc.) is the same everywhere.

• Alphabetic dial labels (2=“ABC”, 3=“DEF”, etc.) were introduced in New York City in ~1923 when subscribers complained about “long” 5 digit directory numbers.

– Alphabetic dial labels were introduced in US, Canada, UK, France, Scandinavia and USSR (three cities only) but not all the same:

• Examples: Q on French dial, Russian (Cyrillic ) letters in Moscow, Leningrad, Odessa,

– Considered an obstacle to direct international dialing, alphabetic exchange names were purged from telephone directories in 1960s by international agreement.

• The “anti-digit dialing league” and other grass roots groups in the US opposed all-digit directories in the 1960s.

– Letter labels still appear on the dial in most of these named countries. Business users highly value so-called “Anagram” numbers such as 1-800-FLOWERS, or 1-800-NORSTAR, 1-800-AMERICAn, etc.

Page 43: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 43

Significant Properties of Stepper Switches

• To add more traffic capacity, merely install more line finders and more selector switches– This increases parallel path (traffic) capacity through the switch, since

multiple last stage selectors lead to the same destination lines. • Only one last stage selector can connect at a given time. The sleeve wire is also

connected to each corresponding position on the selectors and is used to divert the call to a busy signal generator if the sleeve voltage is ON for that destination line and a call is attempted while destination line is busy.

• A non-blocking Strowger step switch assembly would require 100 last stage selector switches connected to 100 destination telephone lines, and similar replication of parallel paths all the way to the originating lines (line finders, earlier stepper stages, etc.).

• This automatically increases the call processing capacity (BHCA) of the switch as well

– Each selector is both a traffic path and a part of the digit processing hardware– When there is a traffic path available to the destination, there is also the

hardware to respond to the succeeding dialed digits. • A stepper switch assembly “automatically” has enough call processing

capability if it has adequate traffic path capacity

Page 44: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 44

Stepper Properties• Stepper switches are extremely reliable overall if maintained

– Because of parallel path capability through a large stepper switch, the failure rate of these switches (when properly maintained) is very good

• Failures affecting only one user amount to only about 1 hour cumulative in 20 years• Failure of the entire switch is only 1 or 2 minutes in 20 years, and when this occurs it is mostly

due to power supply or other aspects of the system

• Steppers can be adapted to many improvements• Touch-tone dialing (by means of a tone-to-pulse converter)• Computer control has been adapted to steppers to make advanced features available (such as call waiting, 3-way

conference, etc.)• Unfortunately, basic reliability, power consumption and size not improved!

• Inter-switch signaling between stepper switches requires electrical transmission of dialing impulses

– conversion between modern digital signaling (common channel 7) and impulse signaling is feasible, but slow acting

• European version of SS7 signaling allows transmission of one dialed digit at a time, but North American (ANSI) version does not send dialed number onward until the “last” digit is dialed.

– several earlier “electronic” but non-digital switching systems still used electromechanical switching (small relays) and analog transmission (example: No. 1 ESS), but digital computer central control or stored program control

Page 45: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 45

Undesirable Stepper Properties• High maintenance

– ‘“Gross Motion” or “Large Motion” wiping contacts• Require lubrication, cleaning, adjustment, etc.

– Susceptible to corrosion from sparking, air pollution (such as SO2 in the air, etc.)

• Slow mechanical operation– Even when tone-to-pulse converters support Touch-

tone dialing

• Slow signaling – Can’t take full advantage of CCS7 and other

electronic signaling systems

• Big and bulky– Digital switches use ~1/50th the floor space of steppers; ~1/10th the

floor space of crossbar switches.

Page 46: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 46

Some Other Historical Electro-Mechanical Switches• Panel (1930s through 1950s)

– A huge mechanical “monster” switch using continuously running electric motors and electrically operated clutches to move wipers vertically and horizontally on a rectangular wall panel of contacts. A high maintenance problem. Abandoned!

• Crossbar (1920s through 1990s)– An assembly of rocking contacts attached to vertical and horizontal rotating

actuator axles. Because of relatively small motion and compact size, this was the heir apparent to the stepper switch in both North America and Europe until electronic switching appeared.

• X-Y (1930s through 1980s – small installations)– A horizontally platform with rows and columns of contacts with wipers actuated

by magnetic coils. Gross motion problems, but more compact than Strowger design.

• Rotary (1930s through 1980s – small installations)– Similar to X-Y switch, but platforms had contacts arranged in semi-circles of

increasing radius. More compact than Stepper, but same gross motion problems.

• Multi-relay (1930s through 1980s – small installations)– Rocking contact motion, but still rather complex and difficult to maintain.

The last 3 were mainly used by “independent” telcos in North America. All here except Crossbar and Multi-relay were “gross motion” switches.

Page 47: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 47

Common Control

• Many of these electro-mechanical designs had separate relay assemblies to count (“decode”) the dial impulses, completely separate from the switching portion of the system. These so-called “common control” portions were analogous to the computer control in a digital switch.

• Once the desired destination directory number was decoded, it was “translated” by special purpose wired logic devices

– One method for this was to use magnetic core memory of a special wired type (not addressable RAM like modern computer memory)

– The equipment numbers resulting from the translation were used to select a path through the switching part of the system.

• The result of the “translation” was a code designating the proper bay, shelf, and switch outlet wire for the internal destination calls, or the proper outgoing trunk group for outgoing (other switch) calls. The first non-busy channel in a trunk group was selected by an appropriate special outgoing trunk switch.

• These systems first demonstrated the need for provisioning separately both sufficient call processing capacity (BHCA) and also sufficient switching capacity (Erlangs)

Page 48: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 48

Electronic Switches• ESS No. 1: Electronic but not Digital! (1963)

– Computer control/stored program control (SPC)– Analog Relay switching, using sealed contact reed switches

• Most of the design problems for high reliability were addressed in this design.– Duplicated processors, etc.

• ESS No. 4: Fully Digital but Trunks Only (1970)– When designed (1960s-70s) the cost of A/D conversion

(CODECs) on each subscriber line was seen as prohibitive– Depended on T-1 channel banks at distant ends of trunk

groups for A/D (analog/digital) conversion– 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 except for a few test telephones)

• Above are all Lucent (then AT&T) products. Competitors had similar designs shortly after or almost contemporaneously. In that era Western Electric (manufacturing division of AT&T) only sold products to the Bell System operating companies, and was required to license all its patents as one result of an earlier anti-trust settlement.

Page 49: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 49

Subscriber Interface to Electronics Was Difficult• Integrated circuits made the digital central office (end office switch)

economically feasible– The most elegant hardware design requires a dedicated analog-digital

converter at each subscriber loop. A long time economic problem for end office switches.

• Subscriber loop circuitry usually on a removable printed wiring card– Replaceable in case of failure or damage from lightning, etc.

• Handles some so-called BORSCHT* functions– Battery Feed – Over voltage (from lightning and accidental power line contact)– Ringing– Supervision– Codec (A/D inter-conversion, also low pass audio filtering)– Hybrid (directional coupler, 2-wire to 4-wire inter-conversion)– Testing (a capability of the switch, not of the telephone set)

* This term credited to John Iwerson of AT&T Bell Labs ca. 1960s. Note that various alternate spellings of BORSCHT exist in the food (not telephone) industry.

Page 50: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 50

Modern Digital Switch Subscriber Loop Schematic Block Diagram

Hybrid andmatchingnetwork

Hybrid andmatchingnetwork

_

+

Telephone set (dial,ringer, cradle switchcircuits for loop length level compensation not shown)

Wireloop,up to~8 km

Central office switch equipment. Actual switching is not shown, but isoff to the right of this page. Audio frequency voice signals coupled via transformer. Ringing power, loop current detection (supervision) not shown.

Amplifierand A/Dconverter

Amplifierand D/Aconverter

Transmitsignal

Receivesignal

CO part

Common battery feedand voice coupling

Tip

Ring

telephone set andsubscriber loop

Page 51: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 51

Subscriber Line Interface Card/Chip (SLIC)

• Due to large volume of use, integrated circuits (ICs) are available which perform most of these BORSCHT functions

• ICs designed for line card in switch and chips for use in a low-cost telephone set are both available

• Spoken acronym SLIC /slIk/ sounds like another acronym, Subscriber Line Concentrator (SLC). Ask for fully spelled out version if context is not clear!

Page 52: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 52

Some BORSCHT Explanations• Battery Feed via split winding on audio coupling

transformer• Over-voltage (lighting, power line crossing)

protection primarily based on arc-over at spark gaps installed where outdoor wiring enters subscriber premises and CO building.

– Enclosed gas spark gaps provide uniform electrical “breakdown” at ~300 volts between wires or wire-to-ground

• Hermetic enclosure prevents variations due to air pressure and humidity, a problem in older lightning arrestor devices

– Non-linear series resistance devices limit high current surges due to lightning or accidental “cross” with power voltage wiring

• Light bulbs or “heat coils”• Positive Temperature Coefficient (PTC) resistors using conductive polymer

plastics

– Not on subscriber loop circuit card, except for PTC resistor.

Page 53: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 53

More BORSCHT Explanations• Ringing voltage from ringing generator via

electro-mechanical relay contacts on tip & ring• Supervision (dc loop current sensing) via

various methods:– Sensing relay coil in series with subscriber loop. Loop current

actuates separate relay contacts.• Inductance of relay coil affects frequency response somewhat, but can be

bypassed for audio frequencies via a capacitor

– Non-linear magnetic material (“saturable magnetic core”) with loop current coil and sensing coil

• Loop current changes magnetization point behavior• Sensing coil’s small signal inductance decreases when loop current is on.• Smaller, less costly, less effect on voice signal.

Page 54: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 54

Still More BORSCHT

• CODEC (COder/DECoder) in switch (except for ISDN sets): – Low pass filter the audio on analog side of A/D conversion

• Active RC filter, switched capacitor filter, or CCD (charge control diode array) transversal filter are different analog technologies

• Purpose is to attenuate audio power above about 3.5 kHz

– Then “measure” voltage, 8000 samples/second for coding– Encode each voltage sample as a compressed digitally coded 8 bit sign-

magnitude binary code• Mu-law approximately logarithmic compression rule used in North America

and Japan• A-law log-linear compression rule used in other national PSTN systems

– Digital/Analog conversion in opposite direction as well• Hybrid or directional coupler is analog device using multiple windings on

transformers, together with a “matching network” composed of resistors and capacitors

– Separates incoming and outgoing electrical waveforms on 2-wire subscriber loop into separate unidirectional signals with good but not perfect accuracy

– All digital transmission operations in a digital switch comprise two opposite-flowing unidirectional signal paths

Page 55: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 55

Automatic Test in Digital Switches• Electro-mechanical relay installed in the line card can switch

subscriber loop temporarily to an auxiliary test device– Main test operation is to measure (tiny) microamperes of

“leakage” current between wires and from each wire to ground• High leakage current indicates imminent failure due to moisture in cable, damaged

insulation, etc.

– Testing is usually done circa 2 AM when traffic is minimal• Even so, if subscriber lifts handset or a call comes in, test is

suspended until loop is again idle

– Suspicious test results are automatically reported to repair crafts persons

• Tremendous reduction in staff is feasible when their repair work can be scheduled, rather than waiting for an emergency, unexpected customer complaint, or loop failure!

• Most repairs are thus done before customer notices noisy line problems!

• Consequently, most unexpected failures today are due to human error or accident, rather than slow cable deterioration

Page 56: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 56

Digital Switch Advantages• Automatic test reduces staff costs significantly

– Predominant cost saving in many cases!!• Feature-rich, increases income of public

telephone company by selling optional “vertical” features (e.g. Call waiting, conference, etc.)

• Inter-works with digital trunks (T-1 etc.) without use of channel banks

• Smaller size allows more CO capacity growth in same building

• Less electric power consumption, reduces operating costs somewhat

Page 57: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 57

Internal SwitchingMatrix orNetwork

Block Diagram• Control Processor and Switching Matrix are duplicated for reliability

– Line and trunk interface cards are not duplicated because failure rate on outside plan wiring is greater than loop or trunk electronics.

Internal SwitchingMatrix orNetwork or“Fabric”

Line/LoopInterface

TrunkInterface

ControlProcessor(CPU, RAMetc.)

Line/LoopInterface

Line/LoopInterface

TrunkInterface

TrunkInterface

More loopnot shown

Morenot shown

Multiple station loopsMultiple T-1 trunk groups

optional remote line concen-trator

Page 58: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 58

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 59: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 59

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)

Buffer RAMMemory

ConnectionMemory

ConsecutiveAddressGenerator

ConsecutiveAddressGenerator

AddressBus

Data BusSerial-ParallelConverter

Parallel- SerialConverter

ConnectionMemorycontentcan bechangedby themain CPUof thecomputer

Both address generators are synchronized to the same master clock (not shown)

Page 60: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 60

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 61: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 61

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 Pointer orContents

0 14

1 9

2 0

3 23

23 2

Illustrates a24 slot design.Addresses4 through22 not shownin this diagram.… …

Page 62: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 62

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 invertible• 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 0-23 (the word onto here has the mathematical meaning “one-to-one”)

Page 63: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 63

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

– When the 8 bits are ready in the serial-parallel converter, they can be written into the buffer RAM for temporary storage

• 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.

– 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 64: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 64

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 65: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 65

Input-Output Frame Timing

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.

ABCDEFGHIJKLMNOPQRSTUVWX

XAVBTCRDPENFMGHIJKLOQSUW

ABCDEFGHIJKLMNOPQRSTUVWX ABCDEFGHIJKLMNOPQRSTUVWX

XAVBTCRDPENFMGHIJKLOQSUW

XAVBTCRDPENFMGHIJKLOQSUW

125 microseconds

Input frame

Output frame example 1

Output frame example 2

Later output frame

Continuing input bit stream

Page 66: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 66

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 67: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 67

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 0-23 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 (non-

consecutive) 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 re-arranged or processed before output occurs.

Page 68: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 68

Time Switching• In previous example (p.59) 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 69: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 69

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 70: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 70

Digital Switching and DMA• Almost all modern computers (since the 1960s)

include a direct memory access (DMA) I/O control module -- typically as part of the CPU chip.

• DMA module transfers a block of data into or out of the computer’s RAM memory apparently “simultaneously” with the computer doing something unrelated (such as mathematical calculations) via “cycle stealing”– Most computer operations only access the RAM during

part of the overall operation cycle– During other parts of the cycle the ALU is,e.g., putting

results into a CPU register and does not access the RAM– The DMA module accesses the RAM to read or write during

this part of the cycle. This is known by the misleading name “cycle stealing”

Page 71: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 71

DMA Operation• The DMA module is a semi-autonomous input-output

controller– It has onboard registers to store and manipulate the memory

address(es) it uses

• These DMA registers initialized by the CPU with a memory starting address and a data block size.

• Upon finding a memory access time window, the DMA module transfers a “word” (a PCM byte) to/from memory, increments its own memory address register, and waits for another part-cycle opportunity..

• After the DMA module has completed transfer of a complete block of data (e.g., 512 bytes of data for a diskette) it causes a CPU interrupt, to signal that it is finished.

Page 72: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 72

Digital Switch vs. DMA I• Digital Switch has dedicated separate buffer

memory (not computer’s RAM) for switched PCM data– DMA module uses portion of computer’s RAM to

temporarily hold input or output data.

• Digital switch always has ultimately serial data I/O (e.g. to T-1 trunks)– DMA module may have ultimately either serial (e.g.

keyboard) or parallel (e.g., hard disks or VGA displays) I/O ports

• Both Digital Switch and DMA module copy data into or out of a contiguous block of memory addresses

Page 73: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 73

Digital Switch vs. DMA II• In general, a Digital Switch permutes the

order of the PCM data bytes in memory so the serial input order is different from the serial output order.– DMA module does not permute the order of the

data bytes being transferred.

• A Digital Switch has a distinct “connect memory” to hold the data table that controls permutation of data addresses.– DMA controller does not have a “connect

memory”

Page 74: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 74

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 for T-1 (240 pulses during each 125 µsec frame for 30 voice channels for E-1)

• 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 historical foundation of MCI’s long distance network.

Page 75: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 75

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 could 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 76: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 76

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– Cord circuit count in a manual switchboard

Page 77: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 77

Translation Tables• Each end office switch has at least 3 translation tables in its

control processor– 1. Internal line appearance number (ILAN) translated to directory

number (DN)• Identifies billing number for originated calls, and for calling line ID• ILAN is a proprietary number indicating the rack, shelf and circuit card

number of a line

– 2. Inverse table of above: DN to ILAN• Used to route incoming call to proper destination line

– 3. Translates from NPA/NXX (or just NXX) into the proper outgoing trunk group to reach that destination.

• Two inverse tables are used for fast look-up in large switches:– Like using both a Spanish-English and a separate English-Spanish

dictionary for human language ‘translation’– Some tiny switches ( 16 lines) use just one table and perform

exhaustive search for the “inverse” translation function

• Additions, removals, and changes in DNs are made by entries in these tables, not by rewiring the external subscriber loops.

Page 78: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 78

Other Switch Configurations• A switch can be configured with only trunk interfaces (no line

interfaces). Applications include everything except traditional end central office use:

– Tandem or transit switch use in local or long-distance network– A cellular or Personal Communication System (PCS) radio system switch

• Connections to base radio stations are via digital trunks (e.g., T-1)

• Historically, a switch can be configured with only line interfaces (no trunks) for use as an “intercom” or PAX inside a building. Seldom installed today since a standard PBX with both inside and outside connections is less costly than a “two track” systems.

• A line module can be located remote from the switch location when a distant cluster of subscribers needs service.

• Connects to main switch via T-1 links thru a trunk interface• Subscriber Line Concentrator (SLC-96) is an example of this.• PBX also performs this function, but has different signaling and is typically

subscriber owned. PBX and SLC systems are not covered here In detail.

Page 79: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 79

State Machine• Standards, user documentation, or software design documents can be

written in natural human language, but this often leads to misunderstandings and differing implementations– Readers disagree on meaning of natural language, regarding sequence

of steps, etc.– Actual operational test of compliance to standards requires testing via

inter-working against pre-existing implementations• Often, first-to-market implementations actually supersede the written standard when

discrepancies occur

• A better form of description is needed for:– Software algorithm design– Description and documentation of existing systems

• for testing or design of compatible equipment• for user training

• Finite state machine (FSM) formalism (also called Discrete State Machine -- DSM) serves this purpose

• SDL-Specification and Description Language, ITU-T standards Z.100 and SDL 2000, formalize a graphic flow-chart-like symbolism for this purpose.

Page 80: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 80

Finite State Machine (FSM)• FSM formalism can describe a computer or a

telephone switching system quite well• A FSM has a number of distinct states

– States are distinguished from each other by the unique binary value of:

• At least one bit somewhere in the CPU, RAM or mass storage (disk, etc.) is distinct (1 vs. 0 value) from the corresponding bit value in another state

• In an electro-mechanical telecom switch, at least one relay/switch contact is distinct (ON vs. OFF)

• A FSM is “driven” from state to state by events– An event is often an external cause such as a customer

dialing a digit, lifting or replacing a handset, etc.• The expiration of a timer/counter is also an event

Page 81: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 81

Useful Simplifications•Strictly speaking, each combination of busy vs. idle telephone lines in a switch is a different state of that overall state machine

– Because of the similarity of operation of all telephone lines, we can simplify the description by describing the telephone switch in terms of just the 2 (or 3, etc. lines for a conference call) involved in the conversation

– The distinctions due to different optional vertical features (call waiting, etc.) can be handled by means of a general FSM description which handles every possible feature, with clearly defined options to allow or deny each specific feature dependent on a data table entry defining the class of service (COS) for that line*.

•We consider the states of one telephone and the aspects of the switch which relate to it, and also the events at the callèd telephone as well.•The general historical approach to FSM design is to describe what historical electro-mechanical switches do, and then program the digital switch to present the same behavior to the customer•When new features are designed, feature conflicts sometimes arise. These include discovery of ambiguous operations, etc.

– Feature conflicts are usually resolved by re-design of the feature at the human interface level.

*Some local service providers (e.g. SouthWestern Bell -- SBC) now allow all subscribers to use most previously “optional” services, charging on a per use basis until a maximum monthly fee is accumulated.

Page 82: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 82

FSM Description Formats• Logically equivalent (isomorphic) descriptions can be made

in several forms1. Graphic point or picture for each state, with directed lines or

arrows representing event-caused transitions between states

• Useful for human visualization, particularly with “cute-sy” pictures.

2. Table with column for each state, row for each event (or the reverse), and entries describing the target state and related information.

• Often very large if all events are treated explicitly, and often has many null (not possible) entries. Good for certain table-driven computer software systems.

• Usually not instructive for human visualization

3. Flow-chart like description such as SDL• Convenient starting point for software development• One-to-one correspondence to formal software language is under

study (e.g. ITT CHILL language occasionally used)

Page 83: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 83

Simplifying Conventions• Certain events invariably lead to the same result,

regardless of current state (whenever logically consistent)– Example: “hang up” of the handset leads to

disconnection (“this line idle”) state– To avoid pictorial clutter, this is omitted but implied in

graphic point-line diagram. Shown only where essential for understanding.

• Multiple states can be symbolically combined into one “covering” state to clarify the explanation aspects– All the internal details must still be explicitly defined for

a working description (perhaps separate diagram)– Example: dialed digit collection (“digilator”)

Page 84: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 84

Pictorial FSM ExampleIllustrates only 3 states

Idle state

Event: called byanother caller.

Ringing state

Conversation (answered) state

Event: lift handset

Event: replace handset (note: some designs have intermediate state with 10 sec. timeout)

Event: other callerabandons call attempt,ring-no-answer.

“Babble, babble”

Page 85: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 85

Originate-Answer Distinctions• Most PSTN “wireline” switches actually handle disconnect

differently for an originator vs. an answerer. Such switches disconnect:– immediately when originator disconnects– after (typically) 10 second timer expires, when answering person

disconnects.– Distinction is software controlled based on a bit set in RAM

• Mimics a historical property of some electro-mechanical switches– Allows callèd person to hang up and then quickly run from one

extension set to another on same line without disconnection

• Many PBX and Cellular/PCS switches do not distinguish originator vs. destination (except for billing!!)– We do not distinguish in our diagram for simplicity– If distinguished, two separate conversation states would be required

in the diagram

Page 86: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 86

Example ExtendedMore states but still not “complete”

Idle

callèd

Ringing

Conversation

replace handset

other callerabandons

Lift handset Dial tone

Dial firstdigit

Distant lineanswers

“Digilator”

~~

Validdigits

Event: timer expiresor invalid digits.

Collect digits

Announcement: “Please hang up andtry again…”

replace handset

~~ ~~

“Inert” Howler

Distant line rings or busy.

or

Page 87: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 87

Other Representations• Not shown explicitly in these notes are two other FSM

representations of a telephone switch:• Tabular representation could have (for example) a column

for each state, and a row for each event– Entry for Idle column and “Lift Handset” row is “Go to

Dial Tone state”– Entry for Dial Tone column and “Lift Handset” row is

“not applicable”– Entry for Dial Tone column and “Dial first digit” row is:

Start timeout for inter-digit max time, go to next Digilator internal state

• SDL description comprises a distinct flow-chart-like diagram for the computer processing steps which must follow each event– Proto-representation of the software in the interrupt

handling routine invoked by that event.

Page 88: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 88

Time-Space Diagrams• In some cases the sequence of events and messages between

different parts of a telecom system is displayed via a time-space diagram.

– Time (not to correct scale) usually increases in downward direction– Various horizontal positions (not to scale) represent different physical

devices (subscriber set, end office switch, transit switch, etc.) in the system

– Only one (usually representing a “successful” case) event sequence is displayed.

End OfficeSwitch

Distant End Office Switch

TransitSwitch

DestinationStation Set

OriginatingStation Set

Incr

easin

g Ti

me

Off Hook

Dial Tone

Dial Digits

Recognize non-local number andextend to destination switch

Ring

AnswerConnect Voice Channel

Page 89: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 89

Variations on a Theme• Use of diagonal lines (as in previous page example)

emphasizes signal transmission time delay aspect– Often called a “zig-zag” diagram

• Horizontal lines may also be used– Then often called a “ladder”diagram. Still exhibits sequence of

events but de-emphasizes transmission delay

– Yet another name: “Ping Pong”Diagram

• Similar diagrams in other subject areas illustrate sequential events at different locations– e.g., Feynman diagrams in quantum physics

• Time-Space diagrams cannot clearly illustrate all exceptional cases in one figure– e.g. destination busy, or ring-no-answer, timer in software

expires, etc. etc.

Page 90: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 90

Distant Line Ring or Busy• When the destination telephone is in another

switch and the trunk signaling is one of the more primitive types (not common channel No.7), the origination switch cannot distinguish distant ringing from busy– The human caller must listen to the call

progress tones to distinguish busy/ringing• When the callèd telephone line is in the same

switch or CCS7 signaling is used, this switch can distinguish, and two states should be drawn.– Two distinct states are not illustrated in these

notes.

Page 91: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 91

Digilator Digit Collection• A contraction of the words “digit” and “percolator,” the Digilator

“state” is really a collection of many internal states and events.• Digit collection strategy can be described as a tree-structured

data collection decision process• Any pause before or between digits which exceeds maximum time

causes a state transition to a recorded announcement– Internal timer (typically 6 to 20 seconds) is started after each digit but the last,

and reset again when the next digit is sensed– Expiration of the timer causes a “time out” interrupt

• Valid digit strings are described by both– Numbering plan: assignment of specific number groups to local, long-

distance, and service lines– Dialing plan: assignment of specific digits (usually prefixes) for

purposes not described in dialing plan:• Example: dial 9 prefix to get outside line in a PBX• Example: dial initial 1 (North America) or 0 (many European nations) for

non-local (long distance) or special service calls (1-411, etc..)

Page 92: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 92

Digilator Information• In North American Numbering Plan (NANP)

– Initial digits 2,3,… 9 (traditionally represented by N) are valid for local directory number (N 0,1)

• Subsequent digits can by any of 1,2,3,…9,0 (called X). First 3 digits form exchange code NXX, remaining digits XXXX. Special treatment for 3-digit service codes NXX=911, 311, and in some areas 611, 411, etc.

• Digit Collection will be stopped after 7 digits (local call) are collected– Recently, mandatory 10 digit local dialing in numerous cities like Dallas.

• Then further testing or connection required to determine if this number is in service, corresponds to a valid NXX, etc. Data for this decision may not be available in the originating switch.

– The complicated cases are initial zero (0) and initial one (1)– Initial 1 may imply:

• service call: 1-411 for directory assistance, 1-611 for repair (initial 1 not used universally)

• Non-local (inter-exchange carrier) but in e.g. Los Angeles, just non-local• first digit of 11XX, a rotary dial substitute for special feature prefix/code such as

*69 (1169) for “call back most recent caller”• first digit of 1010XXX prefix for selected inter-exchange carrier (e.g., 1010222 for

MCI, 1010288 for ATT, etc.)

Page 93: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 93

NANP Dial Plan Initial Zero• Initial zero (0) has several subsidiary choices, depending

upon succeeding input:• Followed by no other digits (typically 6 second timeout)

connects to local operator/attendant (0|)*– Followed by second 0 and timeout (00|), connects to

preferred inter-exchange carrier’s operator/attendant– Followed by 11 indicates international call (011-) prefix

• 010- is international operator assisted prefix

– Followed by any valid foreign directory number (country code, area code, local number) indicates an operator assisted call (so-called “zero-plus” call)

• Example, person-to-person or English-language-only international call, etc.

* The non-standard symbol “|” is used here to represent a timeout with no succeeding digits.

Page 94: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 94

NANP Areas• US, Canada, and certain coastal* and Caribbean islands are under the NANP

– Each area has a 3 digit area code of form NXX, sometimes represented by the 3 letters NPA. In some documents, the 10 digits are represented ABC DEF GHIJ.

• Historically the B digit was restricted to 1 or 0 due to historical use of NNX for local office codes. No longer done (now NXX)

• Size of an area is dependent on total directory numbers in use in that area. High population density areas have required many area code splits or overlays in recent years and will again in the future

• “Caller pays” special surcharges is the source of questionable billing in some Caribbean nations. Beware of area code 809 and others...

• Certain pseudo-area codes are used to cover the entire NANP:

– 800, 888 and 877 for callèd-line-pays long distance numbers.• Actual target number is determined by a translation table data base using the

succeeding 7 digits• Call forwarding to existing line can be altered based on originator’s directory number,

time/date or other factors– Your call to Sears Roebuck or Domino’s Pizza is routed to the geographically

nearest store (central office) to your point of origin– When calling some large firms, your call to the same number may go the the east

coast customer service department in the morning, and the west coast department in the afternoon and evening.

*e.g. St.Pierre and Miquelon, French “outre-mer” (overseas) departéments off Canada’s Atlantic coast. Also Bermuda, etc.

Page 95: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 95

ITU Numbering Plan• The world is divided into 9 zones, each with a

specific initial digit used in national prefix:– 1 North America (US, Canada and some islands)– 2 Africa– 3 Europe (part)– 4 Europe (other part)– 5 Central and South America– 6 Australia and pacific (part)– 7 Former USSR– 8 China, Japan and Pacific (other part)– 9 India and Middle East

• smaller nations have 3-digit code, larger nations or national groups (e.g. US and Canada together) have 2- or 1-digit codes.

Page 96: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 96

How is Connection Routed?• A connection is directed from an originating line or trunk to

a destination line or trunk outlet by setting the correct numbers in the connection memory associated with the switching matrix.– The choice of destination or outlet is based on an internal

translation table which uses a part of the directory number as input (e.g. NPA or NXX) and physical equipment identification number (trunk number or ILAN) as output.

– The contents of this translation table may be changed from time to time (or another table substituted) to accommodate:

• Malfunction or traffic saturation of certain links (use of alternate path or route)

• Known or expected better choices for economic or traffic reasons

– Time of day changes in traffic in various time zones– Utilize different price strategies on leased or outgoing trunks

Page 97: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 97

Historical North American* Signaling Methods• DC (direct currrent) or baseband dial-pulse signaling 1900-1940s• SF (single frequency) impulsive tone signaling for supervision and

dialing. Needed for FDM multiplexing.• MF (multi-frequency) dialing digit representations.

– The above 3 methods are each historically called “in band” even when analog frequency band is not involved (for example, in T-1).

• When digital multiplexing (eg, T-1) arrived, MF dialing signals and “robbed bit” supervision signaling was used.

• Many telephone networks formerly or presently use(d) in-band tone signals to represent dialed digits (DTMF “touch tone,” or another set of audible tones called multi-frequency MF)– DTMF uses two simultaneous tones taken from a set of 8– MF uses two simultaneous tones taken from a different set of 5

• Common channel signaling (SS7 ISUP) is dominant today– Earlier versions were SS6 and SS7 TUP.

*R2 and other signaling methods used outside of North America are not covered in this lecture.

Page 98: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 98

DC Pulsing Signals• Before dial telephones, for inter-office (inter-switch) signaling (usually in same

city) the human “operator” connected through a trunk to another human operator at destination switch. Requests for a destination number were verbal. When subscribers ended the call, buzzers at each cord board signaled the operators to manually “tear down” (unplug) each link.

• Earliest step switch dial signaling methods accessed specific inter-office trunks in response to dialing the first (typically) 3 digits. The remaining dialed digits were out-pulsed in the same form as “locally” dialed signals (that is, brief 40 ms interruptions in the loop current) on the the same wires as the eventual voice channel, and operated the last stages of step switches in the destination switch. A “long” interruption in the loop current ultimately caused automatic disconnect of all the step switches involved in the call, just as for a “local” (same switch) call.

• This system was difficult to evolve further:– Required many permanently installed, directly-connected but not always frequently

used inter-office trunks.– Long distance voice transmission with electronic (vacuum tube) amplifiers began

about 1914. (Before that, very costly thick low-resistance trunk lines were installed between some cities.) Amplifiers also required conversion from 2-wire switching (used in each end switch) to 4-wire switching in the trunk link.

Page 99: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 99

Single Frequency (SF) Signaling• In the 1920s and 1930s, analog frequency division multiplexing

(FDM) was introduced into the long distance telephone network. Typically 12 conversations were multiplexed on the same 4 trunk wires, by means of amplitude modulation of each conversation (in each direction) onto a distinct carrier frequency.– Similar to having 12 radio broadcasting stations, with 12 pre-tuned

radio receivers. Except the radio frequency signals were all carried by wires and not “over the air.”

– DC or baseband pulsing was not feasible with FDM.

• In each conversation signal in each direction, a single frequency (2600 Hz) tone was transmitted in the voice channel to indicate the absence of subscriber loop current.– Steady SF tone indicated that the channel was idle, or that the

subscriber at the relevant end had hung up.– Out-pulsing of the SF tone at the beginning of a call setup conveyed

dialing digits as from a rotary dial.

Page 100: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 100

Multi-Frequency (MF) Digit Signals• SF for dialing was “slow,” and was also susceptible to theft of

service fraud from SF tones generated at the originating subscriber end by “hackers.”*

• MF dialing encoded each digit, and also a “start” (KP) and “stop” signal, each by means of a pair of tones taken from a menu of five distinct audio frequencies.– MF dialed digit signals were initially used with SF supervision.– This required a more sophisticated multi-tone receiver to decode

the tones and produce electric current pulses compatible with the switching equipment.

– New types of switch equipment (example: crossbar) were introduced in the 1930s that did not need sequential digit pulsing and thus connected the call faster when MF was used.

– MF signaling can out-pulse 10 digits in one second. Baseband and SF out-pulsing could take up to 10 seconds for this.

*Large scale “hacker” fraud became a widespread problem in the 1960s

Page 101: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 101

MF with Digital Multiplexing• When T-1 transmission was introduced (1961),

MF was still used to convey dialed digits.– Supervision was signaled via “robbed bit” signaling

(described in EETS8302 lecture notes and in Bellamy recommended reference)

• The same advantages and disadvantages still applied to MF encoding of the destination number

• Plus a new requirement:– Not flexible for evolving new services. Next slide

shows and example where other information is needed.

Page 102: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 102

Automatic Routing of Subscriber Dialed Calls• Automatic routing of long distance calls via several intermediate

switches (first introduced in late 1950s) called for more sophisticated signaling

• Knowing only the destination telephone number was not sufficient– A problem called “ring around” or “looping” can occur when an

automatic call routing system tries several suburban intermediate switches surrounding a destination city, and eventually revisits the same intermediate switches

– The call signaling must identify each call so that the previous intermediate switches on its attempted route are not visited twice…

• Better to signal to originator to “try again later” and abandon the call

• Unlimited “ring around” will eventually gobble up all circumferential trunk channels, making the situation worse than it already is.

from originating switch

Destination switch

Blue represents trunksUsed in call setup attempt.

Red represents trunk groupsWith all trunks already busy.

Attempted connectionIs heading again forSwitch A…..

A

B

C

D

Page 103: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 103

Common Channel Signaling• The first common channel signaling system (1970s, CCITT

No.6 or common channel interoffice signaling – CCIS) used fixed length fixed structure binary code messages via a 2400 bit/second modem in a pre-designated channel.

• Signals in the “common”channel controlled call setup and disconnect and some routing features in any voice channel.– Prevented hacker fraud– Still not versatile for future evolution

• Replaced starting in 1980s with common channel system number 7.– Higher bit rate, faster call setup– Versatile for future evolution

Page 104: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 104

Signaling System 7• Almost a world wide standard

– Some variations in versions and features in different national telephone networks

• High bit rate. Two implementations:– Uses one voice channel, carrying 56 kb/s or 64 kb/s– Alternative implementation uses all of a T-1 link bit rate

(1536 kb/s) except the synchronizing bit.

• Flexible– Message formats provide for future addition of new

parameters

• Reliable– Typical SS7 network has extensive duplication of data

packet switches and geographically diverse alternate transmission channels, and includes continual built-in channel testing and route around failed links/switches.

Page 105: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 105

Main SS7 Message Types• Standard SS7 uses 4 Message types for ordinary call setup,

but other types exist and more can be added– Initial Address Message (IAM) orig->dest

• Contains dialed and originator’s numbers, and other information

– Address complete msg. (ACM) dest->orig• Indicates if destination Line is ringing or busy

– Answer (ANS) dest->orig• Indicates that destination line has been answered. • SS7 is designed to allow postponing assignment of a voice channel

until this event. This feature uses voice channel capacity much more effectively but will be implemented only in the future when the world PSTN is 100% SS7.

– Release (RLS) and its acknowledgements- either direction• Causes disconnect process.

• In addition to the “standard” parameters of each message type, new parameters can be added when required.

Page 106: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 106

SS7 Services Examples: • Calling Line Identification (Caller ID)

– Originator telephone number sent as a parameter in the IAM to the destination switch. Sent to destination line between first two rings via a modem tone, if not “blocked.” This was the economic “killer app” for SS7

• Call back to last unanswered caller• Call completion to busy subscriber

– Monitors busy line when denied caller requests, and establishes connection with caller after it hangs up.

• Redirect “800” calls and other pre-designated calls to alternate numbers– When you dial 1 800 DOM-INOS, directs call to the

nearest Domino’s pizza retail store. Uses data base indexed by first 6 digits of the originator’s number.

Page 107: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 107

Future Telephone Signaling• Voice over Internet Protocol (VoIP) using speech digitally

coded at low bit rate into data packets has caused great interest in use of the Internet and the traditional PSTN to set up calls. Two protocols are in use for these applications:

• H.323, originally designed for multi-media and conference calling via Internet, is the first historical method. Similar in many ways and designed to be backward compatible with SS7. Uses binary number parameters in messages.

• Session Initiation Protocol (SIP) is simpler for non-telephone experts to understand, and uses alphabetic (ASCII) characters and printable numeric digit parameters.

Page 108: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 108

Advanced “Intelligent” Network (AIN)• Numerous advanced features utilize SS7 messages. Examples:

– Call completion to busy subscribers (CCBS). Originator dials *66 (auto redial‡) upon reaching a busy line, then hangs up.

• Destination switch automatically sends a special SS7 message when desired but busy destination person hangs up.

• Origination switch rings back the originating/requesting line. If origination person answers, origination switch sends a message to destination switch causing destination line to ring.

• If destination person answers, conversation proceeds.

• SCP data base can “translate” 800/888/877 dialed numbers into destination numbers appropriate to the caller, the time of day, etc.

– Callers to Sears Roebuck, Domino’s Pizza, etc. actually reach the geographically closest retail outlet, or the east coast customer order center in the morning and the west coast center later in the day, so order takers work shorter hours at each such location!

– Translation based on origination calling line ID and extensive data base relating each NPA/NXX to the directory number (DN) of the nearest retail outlet, etc.

‡ This marketing name is misleading, because the network does not actually re-dial the desired destination repeatedly. It is “dialed” only once, after the originator answers the ring back.

Page 109: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 109

Local Number Portability• The objective of LNP is to promote local service competition.• The FCC (and some other national telecom regulators such as

OfTel in UK) have legally mandated “portability” of telephone directory numbers when a subscriber changes from an existing (“donor”) LEC switch to a new (“recipient”) competitive local exchange carrier (CLEC) telephone service provider switch.

– In North America, several centralized duplicated SCP/STP data bases provide a translation between the subscriber’s DN and a special “dummy” number (called a location routing number -LRN) located on the new recipient CLEC switch.

– After this translation, the call is routed to the recipient destination switch using the LRN’s NPA/NXX. The actual dialed number is carried in a separate special information parameter in the IAM message.

• When the call is routed to the recipient destination switch, the destination switch connects the call to the internal subscriber line designated in a special translation table which relates such “ported” DNs to the physical lines (ILANs) in the switch used for that purpose.

Page 110: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 110

Proposed “System Beta”• Your instructor proposed a software-based network technology* in 1998

to allow all of one subscriber’s business or residence telephone lines to each be dialed using the same 7 (or 10) digit decimal telephone number.– The subscriber may group all business lines (voice, fax, cell/PCS,

pager, data, etc.) under one number and all residential lines (teenager’s line, home fax, etc.) under another number

– The different lines in a group are distinguished from each other by means of functional purpose (FP) codes in the LNP (or other) data base, which are mostly pre-set by the user

• FP codes for each line are stored in a suitable data base (perhaps the same data base is used for LNP!)

• The internal network SS7 signal messages carry the FP codes in separate parameters of existing messages

– Multi-use lines have a preset normal FP (typically voice or fax or teletypewriter for the deaf, etc.) which can be optionally temporarily superceded on individual calls by a dialed prefix (e.g., a fax machine automatically dials a *329 prefix, indicating that the desired destination is a fax line during this call only).

*US patent 6,076,121 issued June 13, 2000, and other patents pending.

Page 111: ©1997-2005 R. Levine Page 1 Digital Switching Control Computers EETS8320 SMU Lecture 9 Subroutines and Interrupts, real time computer controls, and digital

©1997-2005 R. LevinePage 111

Beta Status• Aside from making it easier to remember all the different telephone

numbers of your correspondents, System Beta reduces the problem of telephone number exhaustion by reducing the quantity of telephone numbers for most subscribers to just one or two, regardless of the quantity of lines in service!

– In some cases most of the lines used by a subscriber will have internal non-decimal BCD digits in their internal network telephone numbers. This is not visible to the end user, but it halts the consumption of extra decimal telephone numbers by subscribers with multiple lines.

• Can automatically connect calls involving technologically incompatible end parties (e.g., voice -- teletype for deaf user) via “translation” center. Such centers are already in place in all states and provinces in North America.

• Also permits blocking undesired callers by functional purpose (e.g., block all unsolicited sales calls) and other new optional features

• System Beta was tabled by the T1S1.3 standards committee which defines North American SS7 signaling message standards.

– Waiting for direction from a major carrier or FCC to take it off the table.

• Could permit “recombining” previously split area codes, restoring 7-digit local calling, in perhaps 2 to 8 years after installation.