• Keine Ergebnisse gefunden

IBM 1448 Transmission Control Unit

N/A
N/A
Protected

Academic year: 2022

Aktie "IBM 1448 Transmission Control Unit "

Copied!
44
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Systems Reference Library

IBM 1448 Transmission Control Unit

This reference publication includes a description of the IBM 1448 Transmission Control Unit as a link be- tween an IBM 1440 or 1460 Data Processing System and a network of as many as 40 half-duplex communi- cation lines. Each line can have a number of terminals.

The description of this IBM Tele-processing system includes· appearance, operation, functions, program- ming aspects, and special features. Also discussed are communication codes, communication terminology, and line control.

This publication is for those familiar with the pro- gramming and operation of the data processing system to which the 1448 is connected.

Because the 1448 serves the processor, many func- tions of both are interdependent. Included here are the scan operation, the interrupt routine, and related programming operations.

For a list of associated publications, see IBM Tele- p.rocessing Bibliography, Form A24-3089.

File No. 1448-09 Form A24-3010-3

(2)

Major Revision (March 1965)

This edition, A24-3010-3, obsoletes A24-3010-2 and Technical Newsletter N24-0182. Additional infonnation on disk, tape, and direct-data-channel timings has been added.

Copies of this and other IBM publications can be obtained through IBM Branch Offices.

Address comments concerning the content of this publication to IBM Product Publications, Endicott, New York 13764.

(3)

Contents

IBM 1448 Transmission Control Unit ... . General Information

Communications Terminology ... . Communication-Company Equipment Functional Features

Data Control

5 8 8 8 9 9

Programming Aspects ... . . . . ... 10

Line Control ... . ... , 19

Status Structure ... . . . .. 25

Input/Output Operations ... . . . 27

Console ... . Use Meter ... . Check Controls ... . Special Features ... . Automatic Answering (1050) Automatic Calling ... . IBM 10:32 Digital Time Unit Telegraph-Line Attachment ... . 30 32 32 36 36 36 36 38 Index .... ... ,. '" ... 42

(4)

Figure 1. IBM 1448 Transmission Control Unit

(5)

IBM Tele-Processing Systems

Data processing without fast and accurate communica- tion is limited by the numerous delays between the source of data and the processing unit. A data process- ing system serving as a central control for many re- mote locations requires the best techniques of data communication. The ideal method is a combination of communication and processing operations in an effec- tive single system.

IBM Tele-processing systems are serving business and industry by combining computer operations and data transmission facilities into integrated data proc- essing systems. Here are the speed, convenience, and efficiency of centralized data. processing for the busi- ness, large or small, that is physically decentralized.

Here is the control center for the business that re- quires, at a central point, variable or fixed information from many locations. Special features such as auto- matic-calling and automatic-answering increase the versatility of the system even more.

Transmission Contr'ol

Each line added to a communication network increases the possibility of delay and error. Speed and depend- ability of a communication system depend on the con- trol equipment, which blends the array of transmission lines into an efficient network. Transmission control is the nucleus of any communication system made up of many lines, each with a number of terminals, leading to a central point.

The three basic purposes for transrp.ission control in an integrated data processing system are:

1. To establish a connection between the processing unit and the terminals on the communication cir- cuit.

2. To prevent indeterminate situations on the line such as distorted transmission or garbled or lost signals.

3. To allow for the requirements of the data process- ing equipment,

The IBM 1448 Transmission Control Unit (Figure 1) is an economical means of entering numeric, alpha- betic, and special-character data directly into an IBM

data procesing system from as many as 40 half-duplex multipoint communication lines (Figure 2). (See the

Card Read- Punch

IBM 1448 Transmission Control Unit

Data Processing

System 1448

As Many as 40 Half-Duplex Communication Unes

Figure 2. The Processing Unit and IBM 1448 Control as many as 40 Half-Duplex Channels

section: Communication Te1'minology.), Information can be transmitted on half-duplex lines in either direc- tion, but in only one direction at a time. This IBM Tele- processing system component directs and regulates the flow of data and provides compatibility among termi- nals and processing and exchange devices.

The 1448 links its associated data processing system with any or all of these systems (publication form numbers appear in parentheses):

IBM 1030 Data Collection System (A24-3018)

IBM 1050 Data Communications System (A24-3020)

IBM 1060 Data Communications System (A24-3034) The 1448 functions similarly with all these systems except where so stated in this publication.

The 1448 with its associated processing unit handles such applications as inquiry and file updating. The 1448 and processing unit combination controls trans- mission of information, and processes this information in-line.

The 1448 and the data processing system provide on-line peripheral service to other IBM data processing systems (Figure 3). In this role, the 1448 proce~.sing

unit combination functions as a stored-program trans- mission control system that controls and monitors the lines and assembles messages.

Transmission data is transferred from communica- tion lines to processing unit core storage. The process- ing unit stores the message data on disks, and transfers

5

(6)

Magnetic Tape

Processing Unit

Direct Data

Channel As Many as 40 Half-Duplex

Communication Lines

Figure 3. IBM 1448 and Processing Unit Serving a Central Data Processing System

the data to another processing unit on a scheduled or demand basis. The disks can also be transferred manu- ally to other systems having IBM 1311 Disk Storage Drives. With the direct-data-channel special feature, data is transferred directly to and from another IBM

data processing system having direct-data-channel ca- pabilities. (See the Systems Reference Library publi- cations: Special Features of IBM 1401 and 1460, Form A24-3071, and System Operation Reference Manual,

IBM 1440 Data Processing System, Form A24-3116.

This expanded system covers a list of other opera- tions, such as: format checking of incoming messages, editing and scheduling outgoing messages from the data of the second processing unit, message account- ing, and message switching. The second processing unit takes over a share of the total required systems functions, and uses the first processing unit with its disk-storage capabilities as a backup.

Effectiveness and efficiency of large systems increase substantially with the IBM 1401 Data Processing Sys- tem as a peripheral data converter (card-to-tape, tape- to-card, and tape-to-printer). A 1448-1440 system (for transmission, data conversion, and editing) magnifies even more the economy and efficiency of the system.

With the 1448 a decentralized system becomes, in effect, centralized. The program of the processing unit controls the whole network, and uses the transmission control unit as an instrument of that control.

General Description

IBM 1448 Transmission Control Unit circuitry is en- closed in a module 60 inches high, 45 inches wide, and 6 1448 Transmission Control Unit

Figure 4. IBM 1447 Console, Model 4

30Y2 inches deep. For operator convenience, the oper- ating keys, lights, and switches for the 1448 are com- bined with those of the processing unit on the IBM

1447 Console (Figure 4). (See the section on Console.) The data processing system to which the 1448 is connected must have:

1. Indexing and Store Address Register Feature 2. Transmission Control Unit (1448) Attachment 3. 1447 Console Model 4.

(7)

CHARACTERS ODD PARITY BCD CODE

8 4 2 1 B A C

1 1

2' 2

3 2 1 C

4 4

5 4 1 C

6 4 2 C

7 4 2 1

8 8

9 8 1 C

0 8 2 C

A 1 B A

B 2 B A

C 2 1 B A C

[) 4 B A

E 4 1 B A C

F 4 2 B A C

G 4 2 1 B A

H 8 B A

I 8 1 B A C

J 1 B C

K 2 B C

L 2 1 B

M 4 B C

N 4 1 B

0 4 2 B

Figure 5. Processing Unit Code Chart Codes

The 1448 accepts all characters transmitted by remote tcrminals. However, idle and delete characters are de- leted, and information is forwarded to the processing unit. Figure 5 shows the processing unit code.

Only when receiving from the 1030, the 1448 trans- lates the line code A-bit (@) to processing unit code 8-2-C (zero).

The 1448 translates the following codes from line code to processing unit code when receiving; when transmitting, the 1448 converts the code in reverse:

Line Code 8-4-2-A-C (EOB) A(b)

Processing Unit Code 8-2-A (Record Mark) 8-4-C (@)

CHARACTERS ODD PARITY BCD CODE 8 4 2

P 4 2

Q 8

R 8

S 2

T 2

U 4

V 4

W 4 2

X 4 2

Y 8

Z 8

.

8 2

$ 8 2

I 8 2

/ (slash)

# (pound sign) 8 :2

- (hyphen!

@(at sign)

*

8 4

& (and)

*

+ (plus)

**

*

(star)

**

8 4

* 1030 I 1050 and 1070 on I y

**1060 only

1 B A 1 B

B 1 B

A

1 A

A

1 A

A

1 A

A

1 A

1 B A 1 B

1 A

1 A

1 B B A B A

C C C C C

C C

C C C

C C C C

(8)

General Information

Communications Terminology

To clarify the explanation of the IBM 1448 Transmission Control Unit, some communication terms are deRned.

Centralized Half-Duplex. This network of half-duplex communication lines is centrally controlled, and all transmissions pass through the controlling unit.

Contention. This condition occurs on a multipoint line when two or more locations try to transmit at the same time.

Data Set Equipment. This modulator-demodulator device accepts binary-valued electrical signals from the transmitter, and converts them into signals for trans- mission. The data set equipment also accepts the sig- nals from the communication lines, and converts them to signals acceptable to the receiving unit.

Half-Duplex. Information can be transmitted in either direction on a half-duplex communication line, but in only one direction at a time.

Multipoint Channel. This communication line inter- connects several locations.

Off-Line. An off-line system requires human opera- tions between the original recording functions and the ultimate data processing function.

8 1448 Transmission Control Unit

On-Line. An on-line system puts the input/output units under direct control of the processing unit.

Poll. This centrally controlled method permits sta- tions on a multipoint line to transmit without contend- ing for the line.

Start-Stop Transmission. In this method of transmis- sion, the data bits are preceded by a start bit, and are followed by one or more stop bits. The total number of stop bits is not necessarily an integer. This method al- lows the receiving unit to stay in synchronization with the transmitting unit. The start and stop bits are the synchronizing information, so that the receiver is re- synchronized by each character.

SWitching Network. This system provides transfer of incoming data from one line to another outgoing line or lines.

Communication-Co,mpany Equipment

The communication lines over which data is trans- mitted to and from the 1448 are switched-telephone, 150 bps teletypewriter exchange (TWX), toll voice- grade, leased voice-grade, or leased low-speed (as many as 600 bits per second) common-carrier lines.

The 1448 can also operate over privately owned lines.

(9)

The IBM 1448 Transmission Control Unit is a multiple- low-speed-communication-line scanning device. An IBM

1448 can serve as many as 40 half-duplex lines, which can be point-to-point (one terminal) or multipoint channels. Nominal speed is 14.8 characters per second ( cps) for the IBM 1050 and 1060 Data Communica- tions Systems.

An IBM 1448 can serve terminals of various speeds.

The number of lines it can serve decreases as the speeds of the lines increase over 200 bits per second.

Nominal speed for the IBM 1030 is 60 characters per second (cps). The 1448 can serve as many as 20 1030 lines.

The cable connection makes the 1448 an integral part of the associated processing unit, and for many functions they become interdependent.

Information from the lines enters the 1448 serial-by- bit, serial-by-character. The 1448 assembles the bits into characters and, when necessary, translates them into binary coded decimal (BCD) odd-parity inter- change code. A minimum of two characters of incom- ing infOImation is accepted by 1448 core storage fOT each line.

Serial By Character Parallel By Bit

Data

Processing 1026

System

-

BCD

Functional Features

The exchange of information between the 1448 and the processing unit is under control of the program in the processing unit. The 1448 is in synchronism with the processing unit when exchanging data or status information with the processing unit.

All transmission is centralized through the 1448 (Figure 6).

Data Control

The 1448 provides the core storage described in this section for each transmission line.

The assembly character consists of 11 bits where characters are serialized and deserialized.

Buffers for characters to be transmitted to the line or transferred to the processing unit are: two character positions for the IBM 1050 and 1060 Data Communica- tions Systems and six character positions for the IBM

1030 Data Collection System.

The block-check position holds the longitudinal re- dundancy check (LRC) characteT as required by the

Serial By Character Serial By Bit

,

Data set

r=---..

Unit

_--- Serial

By

~harrrtrial

By

B~:t

_ _ _ _ _ _ _ _

Serial By Character Serio I By Bit

-

Data set

-

Terminal

~ Unit

Figure 6. Data Flow Between Processing Unit and Terminals

(10)

1050 and 1060. LRC serves as an additional transmis- sion check. The 1030 does not use LRC. It uses a for- mat check provided by the programmer.

The control character for each line holds control data for that line. The control character is read when- ever the assembly character, buffer characters, or the block-check character is addressed. The bits that make up the control character are:

1. Phase bits (3 bits) determine the rate at which the 1448 is to sample a communication line to detect bits or to place bits on the line.

2. Status bits (8 bits) store the condition of the com- munication line. The processor also has eight status bits.

3. 1448 storage status bits (2 bits for the 1050 and 1060, and 6 bits for the 1030) store the number of charac- ters to be transmitted on the line, or those to be transferred to the processing unit.

4. Sequence-control bits (2 bits) control the sequence of transmission checking and answerback, polling character transmission, and responses. These bits break down a status into substatuses when it is necessary for the 1448 to switch from transmit to receive.

Programming Aspects

loes

The IBM Input/Output Control System (laCS) elim- inates the need for detailed programming of the IBM

1448 and processing unit combination. laCS routines are tailored to satisfy the particular requirements of each job.

laCS for the 1448 and processing unit provides:

1. Initialized polling on any or all lines 2. Initialized transmit on any or all lines 3. Output message scheduling

4. End-of-message detection on any line 5. Error detection

6. Interrupt subroutine

7. Expanded serial I/O adapter control 8. Direct-data-channel control

9. On-line test

10. Automatic calling of terminals.

laCS for the IBM 1448 Transmission Control Unit and processing units is described in the Systems Refer- ence Library publications:

10 1448 Transmission Control Unit

Input/Output Control System for IBM 1440-1448:

Specifications, Form C24-3024

Input/Output Control System for IBM 1460-1448:

Specifications, Form C24-3047

laCS for the direct-data-channel for 1401, 1440, and 1460 is described in the Systems Heference Library publication:

IBM 1401, 1440, and 1460 Direct Data Channel In- put/Output Control System: Specifications, Form C24-3025.

1448 Scan Operation

The exchange of information between the 1448 and processing unit is initiated by a scan operation code as- sociated with a priority interrupt. An interrupt is a temporary interruption of the processing unit's main routine by an external signal, in this case, from the 1448. The main routine continues in sequence after the interrupt routine, including the scan operation, is completed.

The scan operation itself causes the automatic trans- fer of as many as two characters per receiving line for the terminal from the 1448 to the message-assembly areas in the processing unit. It also effects the auto- matic transfer of two characters per transmitting line from the message-distribution areas of the processing unit to the 1448 for subsequent transmission. For the 1030, the scan operation transfers as many as six char- acters per receiving line from the 1448 to the message- assembly areas in the. processing unit, but only two characters from the message-distribution areas to the 1448.

The stored program assigns the message-assembly and distribution areas, which are variable in both length and location. The scan operation automatically performs indirect address generation and address mod- ification. During a scan operation, line-status charac- ters are read out either to alter the status character because of line-status change, or to alter the line status as a result of a change by the stored program.

Another function of the scan operation is the extrac- tion of polling addresses from the list in the processing unit when polling.

The program must execute a scan operation to ini- tialize line conditions and to start outgoing messages, when there is no line activity.

The scan operation must be given in order to dis- cover the cause of interrupt.

(11)

Instruction Format Op Code

o

I-address xxx

The scan instruction, in actual machine-language, is made up of an alphabetic 0 as the operation code, and a 3-character address representing the high-order posi- tion of the scan-control field. The line under the Op code denotes a word mark. The scan proceeds through the control field in a left-to-right scan.

The scan instruction is restricted to basic single-ad- dress format and must be followed by a word mark in the next location. An attempt to force a 2-address for- mat causes an improper address in the B-address regis- ter at the beginning of instruction execution time, and the insh'uction affects storage locations other than the intended control field.

The instruction address is used during the execution of the instruction to automatically obtain from the con- trol field the addresses of the:

1. Line-status characters 2. Line running addresses 3. Polling-list addresses.

The line-status character indicates the status of the transmission line with which the 1448 is associated.

The status represented is the status of the line after the last 1448 line bit scan before execution of the proc- essing unit's scan operation.

The line running address is the location where the next character from a receiving line is to be stored, and where the next character to be transmitted on a trans- mitting line is stored.

The polling-list address is the location of the next terminal.and-component-polling address to be trans- mitted when a line is polling. It functions simply as a pointer, automatically moving through the polling list and keeping track of the terminal to be polled next.

The scan operation address (high-order position of the control field) is the location of the status character for the first line. The 1448 scans the lines, accepting

FIRST TRANSMISSION LINE

and transferring status and data information in a fixed sequence.

Each scan operation reads out for updating every line-status character whether or not data is transferred.

Control Field

The control field consists of ten character positions per transmission line, in contiguous locations in processing unit storage. The scan routine operates on the control field, transferring characters between the 1448 and the processing unit.

The control field can start in any storage location, but the field must not cross a 4,OOO-character boundary in processor storage (that is, addresses 3999, 7999, and 11999).

The control field should always correspond to the number of lines attached to the 1448, although the program may not use all of them.

Control-Field Format. Figure 7 is a diagram of the control-field format.

The status character of line one should be stored in the high-order position of the control word. It is read out to the 1448, compared to the 1448 status character (for possible updating of either status character), and restored in one cycle.

The next three positions of storage, in ascending order, contain the hundreds, tens, and units positions respectively of the running address for the message- assembly or distribution area. The stored program sets this address initially. If the line is in RECEIVE or

TRANSMIT status, and data transfer is required to or from the 1448, the scan operation reads out and modi- fies the running address. At the end of block (end-of- message) on RECEIVE the running address denotes the location of the end-of-block character plus one. On

TRANSMIT it denotes the location of the end-of-block character plus one or two, depending on whether the number of characters is even or odd.

The next three positions of the control word (initial- izing address) are for the programmer's convenience.

,

SECOND TRANSMISSION LINE

LAST TRANSMISSION

LINE Status Running Address Initializing Address Polling-list Address Status

Running Address

Char. Char. Polling-list Address Scan

Ends

X X

I

X

I

X X

I

X

I

X X

I

X

I

X X X

I

X

I

X X

I

X

I

X =1=

Figure 7. Schematic of First and Last Few Positions of Processing Unit Storage Containing the Control Field

(12)

He can use this area for any purpose. He may store the initial running address here as a reference to the be- ginning of the message block.

The next three positions of the control word contain the polling-list address, which indicates the terminal- and-component address to be sent out on the next poll- ing cycle. The stored program initially sets the polling- list address to the high-order position of the polling list for the particular line. A polling list is a sequence of addresses for terminals on a multipoint channel.

The scan operation causes this address to be read and updated, if the line is in the polling status (RE- CEIVE-CONTROL status), and if a polling cycle is re- quested by the 1448. When the status for that line becomes end-of-polling-list (RECEIVE-CONTROL-END- OF-BLOCK) status the program must reset the polling- list address to the beginning of the polling list.

The next position of the control word (following the polling-list address) is the status character for the next transmission line. The control word continues in this sequence through the last transmission line.

A group-mark with a word-mark in the status- character position that follows the last line in the con-

trol word designates the end of a scan operation. For example, if 20 transmission lines are on the system, this group-mark with a word-mark is in the position of the 21st status character. When more lines are added to the system, the program is changed to add the control fields and move the terminating status character.

Execution of Scan on Control Field

As a result of the scan instruction, the IBM 1447 Trans- mission Control Unit, in synchronism with the process- ing unit, sequentially scans its line-status characters and its buffers, beginning with the first status charac- ter, while the processing unit progresses sequentially through the control field.

The scan operation can take one of three different sequences on each transmission line, depending on the status of the line. The flowchart in Figure 8 shows the scan operation sequences.

1. The status sequence of scan occurs on the control field for a line, when no data is to be transferred between the processing unit and 1448, and when the line is not to be polled.

Scan Operation is Read Out And System is Set Up For Execution

Modify Control Fie Id Address by 10 to Get Next Status Character

Take Update Cycle

Figure 8. Flow Chart of Scan Operation

End Scan Operation Next Instruction of Main Routine

Modify Control Field Address by :3 to Get Next Status Char'Jcter

* Scan Instruction Provides First Status Charactf;lr 1 or 2 Characters can be TransfE,rred from a Line during a Scan Operation fc)r 1050 or 1060 and 1 to 6 Characters for 1030.

Two Characters are Transfered to a Line.

(13)

The status sequence is composed of two cycles: a status cycle when the processing unit status charac- ter is transferred to the 1448 for comparison, and an update cycle when the scan jumps to the status character for the next line.

2. The data sequence of scan occurs on the control field for a line, when the line is in either RECEIVE or

TRANSMIT status and data is to be transferred be- tween the 1448 and the processing unit's message- assembly or distribution area.

The data sequence is composed of at least five cycles:, the first of which is the status cycle. The next three cycles take in the reading of the running address (to be used in data transfer). A modified running address is regenerated into the control field.

The modifier (from the 1448) depends on the num- ber of characters to be transferred during the subse- quent data cycles which complete the data sequence.

The number of these remaining cycles depends on the transmission speed.

3. Polling sequence of scan occurs on the control field for a line, when the line is in poll (HECEIVE-CON- TROL) status, and the 1448 requires a polling address from the polling list to send out on the line.

The polling sequence takes six or seven cycles, de- pending on the polling address. The first cycle is the status cycle.

The second is an update cycle when the scan jumps to the polling-list address. The next three cycles take in the reading of the polling-list address.

A modified polling-list address is regenerated into the control field. The remaining cycles take in the reading and transfer of the polling address to the 1448.

The three sequences can occur in r~ndom combina- tions in a scan operation. Figure 9 shows a possible combination.

Message-Assembly and Distribution Areas

The processing unit controls its message-assembly and distribution areas, which are variable in length and location. The running addresses in the control field specify the location of these areas. Data is transferred between the 1448 and these areas of the processing

Status Update Line 1 Stcltus Sequence

Line 2 Data Sequence

Figure 9. Possible Combinations of Scan Cycles

unit in high-order to low-order position sequence (left- to-right scan).

The message-assembly and distribution areas can start in any storage location, but must not cross ~

4,000-character boundary in processing unit storage.

Assembly-Area Format. The initial running address defines the high-order position of the area, while the program ends the area with a group-mark with a word- mark. The input data must not extend beyond this area.

The processing unit accepts characters in the assem- bly area until it receives an end-of-block signal (record mark) from the 1448, or until it senses a group-mark with a word-mark in processing unit storage.

If a group-mark with a word-mark is sensed first, it causes an END-OF-STORAGE-AREA status in the 1448 status character for that line. The 1448 continues to accept characters from the line until it receives the END-OF- BLOCK. These characters (following the group-mark with a word-mark) are nO't transferred to the process- ing unit. At the END-OF-BLOCK, the processing unit's status character for that line will be RECEIVE-END-OF- BLOCK-END-OF-STORAGE-AREA indicating the long-length record.

Figure 10 shows an example of the assembly area and control field.

Distribution-Area Format. The initial running ad- dress defines the high-order pO'sition of the area, and the program ends the area with a group-mark with a word-mark. Output data should always be terminated by a record mark.

Characters are transferred from the processing unit to the 1448 for transmission until a record mark or a group-mark with a word-mark is detected in the distri- bution area.

If a group-mark with a word-mark in the distribu- tion area is sensed, the processing unit status is set to

TRANSMIT-END-OF-BLOCK -END-OF-STORAGE-AREA status, and no more data is transferred from that distribution area until the status is changed by the program.

Polling

The' polling list, stored in the processing unit, is a se- quence of addresses for terminals on a multipoint

Line 3 Polling Sequence Line 4

13

(14)

Receive Initial

Control Running Initializing Status Address Address

Polling Address Initial Control Field - - - -

Storage Position 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918

* 7]

14-Character Assembly Area Before Assembly

Receive Final

End Of Running Initializing Block Address Address

Polling Address

1. Record Within Assembly Area Length

Control Fie Id After Assemb I y - - - . - L..---JL...-....L...--I,_....L...-l_....L...-lL...-....L...--I_0 ]

If More Than 14 Characters In Record (In This Case 16 Characters)' ,

Receive-End Of Final

Block-End Of Running Initializing Polling Storage Area Address Address Address 2. Long-Length Record Control Field After Assembly

, I

~ 9 11 1 5 9 1 0

I

0 71 0

I

0

Figure 10. Scan Operation and Control Field During Assembly

channel. The number, location, and length of these lists are variable and under control of the stored pro- gram. The polling-list address in the control field des- ignates the high -order position of the next terminal polling address to be transmitted, when that line is in the poll (BECEIVE-CONTROL) status. Polling proceeds in a left-to-right scan. The polling list should not cross a 4,OOO-character boundary in processing unit storage.

Unlike the message-assembly and distribution areas, the same polling list can be shared by more than one line.

Polling-List Format. Figure 11 shows the effect of the scan operation on the polling list.

The stored program initially sets the polling-list ad- dress to the high-order position of the polling list for the particular line. The length of the polling list is defined by a group-mark with a word-mark in the low- order position of the list.

14 1448 Transmission Control Unit

When a communication line is in polling (RECEIVE- CONTROL) status, terminal polling addresses are trans- ferred from the polling list to the 1448 under control of the polling-list address in the control field. A subse- quent scan operation continues the polling until it de- tects a terminal that is trying to transmit, or until it detects a group-mark with a word-mark at the end of the polling list. The group-mark with a word-mark causes the line status to be set at the end-of-polling-list

(RECEIVE-CONTROL-END-OF-BLOCK) and polling ends.

The END-OF-BLOCK indicates to the processing unit that the end of the poll list has been reached. The program must reinitialize the polling-list address in the control field and must return the line status to poll

(RECEIVE-CONTROL) so that polling can be resumed on that line.

Point-to-Point Channels. When the program puts a point-to-point (one-terminal without component poll-

(15)

Polling List For Lines "N" and "M"

Storage Position

Before Scan

Scan Operation Transfers Terminal-Address B 1 to 1448 For Transmission

After Scan

CC)'ltrol Field For Line "M"

Before Scan

Scan operation detects GM-WM in polling list. Polling is ended and status is changed to End-of-Poll ing-List (Receive-·Control-End-of-Block) 0 Interrupt Request is Initiated.

After Scan

{ ~Llolo161olo1711141

Figure 11. Scan Operation and Control Field During Polling ing) channel in poll status, the operation differs from the multi-point channel polling in three ways:

1. The polling list consists of only one terminal-and- component address.

2. The polling-list address in the control field is not modified during the scan operation. Therefore, the same address is repeated each polling sequence.

3. Because the polling-list address does not change, the line status does not go to end-of-polling-list (RE- CEIVE-CONTROL-END-OF-BLOCK). Therefore, the pro- gram need not reinitialize the polling-list address or change the line status"

Polling a point-to-point line eliminates the conten- tion problems, which exist even on pojnt-to-point lines.

Polling provides program control of the inputs for each terminal.

Interrup't

Any of these conditions in the 1448 makes the 1448 request an interrupt of the processing unit's main pro- gram.

1. Any buffer-full condition on the receiving lines.

2. Any buffer-empty condition on the transmitting lines.

3. Any status condition with an EOB (end-of-block) bit.

4. The 1448 requests the next polling address.

5. An answer

CD

or

@

to a received message has been sent.

The interrupt routine contains the necessary pre- paratory operations and the scan operation. The actual interruption of the main program takes place when an instruction is being read, but before the execution of that instruction (14 time). Only unchained operations can be interrupted. Figure 12 is a list of interruptible operations.

The interrupt causes a program skip to address 182 in the processing unit where the first instruction of the interrupt routine is located.

An interlock prevents interrupting while the system is in the interrupt routine. The ENABLE INTERRUPT AND BRANCH instruction resets the interlock at the end of the interrupt subroutine.

The interrupt routine must include:

1. Store B-address register contents. The address in the B-address register must be decreased by four to establish the position of the interrupted main-pro- gram instruction. This new address is placed in the

EN ABLE INTERRUPT AND BRANCH instruction.

15

(16)

Description Interruptible Ops Non-Interruptible Ops Op Code Length Op Code

Add A 7 A

Branch B 5, 8 B

Branch if Bit Equal W 8 W

Branch if Word Mark or Zone V 8 V

Compare C 7 C

Control Carriage F 5 F

Control Unit U

Clear / 7 /

Clear Word Mark I:l 7 tl

Divide % 7 %

Edit E 7 E

Expand Compressed Tape X 7 X

Halt 5, 7

I/o Operations All

Load (Excl udi ng I/O) L 7 L

Modify Address # 7 #

Move (Excluding I/O) M 7 M

Move Digit D 7 D

Move Record P 7, 8 P

Move and Suppress Zeros Z 7 Z

Move Zone Y 7 Y

Multiply @ 7 @

No Operation N 5, 7, 8 N

Scan 0

Select Stacker K 5 K

Set Word Mark , 7 ,

Store A-Reg ister Q 7 Q

Store B-Reg ister H 7 H

Subtract S 7 S

Translate T 7, 8 T

Zero and Add ? 7 ?

Zero and Subtract 1 7 1

Figure 12. Interruptible Instructions

2. Saving program conditions (arithmetic overflow, high-low-equal compare and index locations), if they might be lost during the interrupt subroutine.

After the interrupt subroutine, the program must restore these conditions.

Enable Interrupt Op code

K

d-C haracter

>

The ENABLE-INTERRUPT instruction is made up of K for the operation code and a bit configuration of 8-4-2 for the d-character. The interrupt routine interlock is reset, and the program continues with the next sequen- tial instruction.

Enable Interrupt and Branch Op code I -address

K xxx

d-Character

>

The ENABLE-INTERRUPT-AND-BRANCH instruction, which is used to re-enter tlt ~ main program, is made up of K

Length 1, 4 1, 4 1, 4 1, 4 1, 4 2 5 1,4 1,4 4 4 1, 4 1,2,4 All 1,4 1, 4 1,4 1,4 1, 4 4 1,4 4 1, 2, 4 4 2 1,4 1, 4 1, 4 1, 4 1, 4 1, 4 1, 4

as the operation code, a 3-character I -address rep- resenting the contents of the B-address register minus four at the time of interrupt, and the d-character with the bit configuration 8-4-2. The interrupt routine inter- lock resets, and the program branches to the instruc- tion address.

Disable Interrupt Op code

K

d-C haracter

<

The DISABLE-INTERRUPT instruction consists of

K

for the operation code and a bit configuration of B-A-8-4-2 for the d-character. This instruction, by setting the in- terrupt interlock, prevents the processing unit from honoring any interrupt requests. The interrupt inter- lock is reset by the ENABLE-INTERRUPT instructions.

Disable Interrupt and Branch Op code I -address

K

xxx

d-C haracter

<

(17)

The DISABLE-INTERRUPT-AND-HRANCH instruction is made up of K as the operation code, a 3-character I -address representing the next instruction, and a bit configura- tion of B-A-8-4-2 as the d-character. This instruction is the same as DISABLE INTERRUPT except that the next address is specified by the branch address.

Example of Interrupt Subroutine

Assume that the main program is interrupted at ad- dress 494.

Instruction

Address Instruction Remarks 182 H 370 Store the B-address register 186

B

700 Unconditional branch

700

6

900 Scan 1448

704 "# 380 370 Modify address by minus four (a80 contains the constant 19F, the 16,000's complement of 4)

711 M 370 721 Move the address to the EN- ABLE AND BRANCH operation 718 K 490

>

Enable INTERRUPT, and return

to the main routine

1448 Interrupt Timing

The interrupt precedes a possible 1448 buffer overflow by at least the number of milliseconds in time A of Figure 13. It follows a scan operation no sooner than time B of Figure 13. The minimum time between a scan operation and a possible 1448 buffer overflow is time C of Figure 13.

The maximum time for non interruptible operations in the main program, immediately following a scan op- m'ation, is 132.5 ms (14.8 cps) minus the time taken by the intenupt routine. Assuming that the time from

INTERRUPT to the execution of the scan operation is 4.0 ms for 1440 or 2 ms for 1460, the maximum length of a noninterruptible operation in the main program is about 128.5 ms (time D for 14.8 cps) for 1440 or 130.5 ms for 1460.

With a mixed system (more than one type of termi- nal) the shorter time applies.

Scan Operation Execution Time

The formula for the scan-operation execution time (T) for the 1440-1448 is:

Character Rate---C= Characters Per Second

of Terminal ~14.8 60

] ]

7.5 ms 26 ms

59 ms 59 ms

132.5 ms 90.2 ms

128.5 ms 86.2 ms

~---

Time A Time B Time C Time 0

Figure 1.3. Interrupt Timing

T = (I+2+2N+5M+6P+7R) 11.1 microseconds.

(For 1460-1448, substitute 6 microseconds wherever 11.1 microseconds appears.)

I = The number of characters in instruction (4).

N = The number of idle lines or receiving lines with empty line buffers, and/ or the number of transmitting lines with one or more characters in the line buffers at the beginning of the scan operation, and/ or the number of polling lines that do not need a new polling address.

M = The number of receiving lines with one character in the line buffers at the beginning of the scan operatIon.

P

=

The number of receiving lines with two characters in the line buffers, and/or the number of transmitting lines with empty line buffers at the start of the scan operation.

R = The number of lines in RECEIVE-CONTROL status that are transferring 2-character polling addresses' from the processing unit to the 1448.

Minimal execution time:

T = (1+2+2L) 11.1 microseconds.

L = The number of lines.

Maximum execution time:

T = (I+2+7L) 11.1 microseconds.

Branch on End of Block Op code

B

I-address xxx

d-C haracter

>

The BRANCH-ON-END-OF-BLOCK instruction is made up of

12.

as the operation code, an I -address, and the d- character

>

with a bit configuration of 8-4-2.

When a processing unit status character contains an end-of-block bit, the end-of-block indicator turns ON.

If it is ON when the BRANCH-ON-END-OF-BLOCK instruc- tion is executed, the next instruction is taken from that branch address. If the indicator is OFF, the program continues to the next sequential instruction.

The indicator is reset at the start of each scan operation.

Branch on Early Warning

When the application of the system calls :for allocation of data in variable lengths as opposed to message- blocking, use this early-warning technique.

The early-warning indicator comes on when a group mark (without word mark) is detected in the assembly area of processing unit storage during a scan operation data cycle. The group mark indicates penetration into the early-warning zone and, depending on the size of the early-warning field, that the end of the assembly area is about to be reached.

Op code B

I-address xxx

d-Character

<

The BRANCH-ON-EARLY-WARNING instruction is made up of

.!!

as the operation code, an I-address, and the d- character

<

with a bit configuration of B-A-8-4-2.

17

(18)

When the early-warning indicator is on, this instruc- tion turns it off and causes a branch to the I-address (address of the chaining subroutine). There the pro- gram may first locate lines that require more assembly area, then provide new assembly blocks and add a link address to the previous blocks. When this type of stor- age allocation is used, the program issues this branch instruction after every scan operation.

The low-order positions of the storage block should contain at least the number of consecutive group marks that equals the maximum number of characters that can be transferred during a single scan operation for that line. The last group mark of the series can be followed by three positions for the link address pro- vided by the chaining subroutine.

All group marks turn on the early-warning indicator.

The first group mark provides the initial warning. Sub- sequent group marks are also used in one or more of these ways:

1. Locating the assembly block requiring chaining (by testing for absence of group marks).

2. Timing the buffers to allow for the actual delay in locating and chaining to the block in an early- warning condition.

3. Determining the penetration of data into the early- warning area (group-mark area).

Before Early Warning

At Time Of Early Warning

Figure 14.

Receive Initial

Control Running Initio lizing Polling - List Status Address Address Address

Control Field

900 901 902 903 904 905 906 907 908 909 Storage

Position

Assembly Block

Receive Running Status Address

Control Fie Id

Link Address Positions

Initial Polling - List Address Address

900 901 902 903 904 905 906 907 908 909

Assembly Block Link Address Positions Control Field and Assembly Block During Early- Warning

The example in Figure 14 shows the effect of the early- warning on the assembly area. The message is "Acct

#38 ... etc." The line status in the control field first shows that the line is in RECEIVE-CONTROL (U) status and polling. The initial-running address and ini- tializing address show that the first assembly block of storage assigned to this line begins in location 900. The line automatically goes to RECEIVE (b) status when a terminal designates that it is ready to transmit. During subsequent scan operations, characters move to the as- sembly position specified by the running address.

When a character moves to the first group-mark po- sition (location 904) the group mark is detected and the early-warning indicator comes on. The character replaces the group mark. After the execution of the scan operation the BRANCH-ON-EARLY-WARNING instruc- tion is issued (as after every scan operation). Because the indicator is on, the program branches to the chain- ing subroutine. This occurs for any scan operation dur- ing which a group mark without a word mark is de- tected in the assembly area or the distribution area.

When the line is in TRANSMIT status, the same early warning occurs. The group mark is sent to the 1448 and is replaced in the processor by a C-bit only (blank). The 1448 converts the group mark to an idle character, which is sent on line to the terminal.

Direct Data Channel Interrupt

Direct-data-channel interrupt is standard with the transmission-control··unit (1448) attachment. It is not available on the direct-data-channel without the at- tachment.

With the direct-data-channel interrupt, an interrupt request in computer A (1440 with 1448) is made when computer B (host computer) indicates that it is re- questing to read from computer A, or indicates that it is requesting to move data to computer A.

The main program is interrupted when an instruc- tion is being read, but before the actual execution of that instruction. Only unchained instructions can be interrupted.

An interrupt request by the direct-data-channel causes the 1440 to start checking the instruction read- outs for an interruptible point. This is accomplished by interrogating the fifth instruction (actually 14) read- out cycle for no B-register word mark.

The actual interrupt causes a program skip to ad- dress 182 where the first instruction of the interrupt routine should start. The 1448 interrupt routine should contain a test for direct-data-channel interrupt.

(19)

The direct-data-channel interrupt request is reset when it actually causes the interrupt. If the 1448 inter- rupt request causes an interrupt first, the direct-data- channel interrupt request is not reset, and a subse- quent interrupt will occur after the enable interrupt or enable interrupt and branch in the 1448 interrupt routine.

The following listing indicates the maximum num- ber of characters that can safely be transferred over the direct-data-channel after a successful connection has been established:

Machines Connected 1441.-1441 1441-1461 1461.-1461

Line Control

Line Modes

Nominal Transfer Rate 80KC 90KC 148KC

Maximum Characters 80,000 90,000 148,000

Time on the communication line is divided into two modes, LINE CONTHOL mode and TEXT mode. The coded characters have a different meaning in each of the two modes.

Line-Control Mode

In the LINE-CONTROL mode, the characters are inter- preted as line-control signals, polling signals, and ad- dressing signals. In this mode, signals control the trans- mission line, and are not read by the data processing components. Figure 15 is a list of processing unit line- control characters.

When a terminal receives an EOT (end-of-trans- action) signal from the 1448, the terminal goes to, or

Processor Bit Processor

~scription Symbol Configuration Character End of Trans.action (EOT) © C-8-4-2-1 -.J (tape mark)

Address Select (Control) ® C-A-8-2-1 , (comma)

End of Address (EOA) © 8-2-1

*

(pound sign)

Negative RElsponse (Control) (8)

-

(hyphen)

Positive Response (Control) 6) B-A-8-2-1 (period)

Negative Response (Text) @

-

(hyphen)

Positive Response (Text)

0

B-A-8-2-1 (period)

Positive Response (Inquiry) @ 8-2-1 # (pound sign)

End of Block (EOB) ® A-8-2 :1= (record mark)

Figure IS. Processing Unit Line-Control Characters

remains in, the LINE-CONTROL mode. If the terminal is in selected status, it goes to a nons elected status.

Text Mode

In the TEXT mode, the characters are interpreted the same as those that make up messages in the inter- change between the 1448 and the terminal components.

They consist of graphic characters, interstation control characters (such as upper-case and line-feed) and checking characters.

Transmission Procedure

The transmission procedure varies, depending on the terminal.

IBM 1060 to IBM 1448, Half-Duplex, Multipoint

This section illustrates a general, centralized, multi- point, half-duplex transmission from the IBM 1060 Data Communication System to the 1448.

Initially the 1448 and the 1060 are in the TEXT mode.

The program of the processing unit:

1. Initializes the control-field running address to an assembly area.

2. Initializes the polling-list address to the beginning of the appropriate polling list.

3. Sets the line status to RECEIVE-CONTROL.

4. Executes a scan operation.

The 1448:

1. Changes its status to RECEIVE-CONTROL.

2. Receives a polling-address from the processing unit via a scan operation.

3. Automatically generates an EOT character

@

onto

the line when it is changed to the CONTROL mode from the TEXT mode. This puts all receiving termi- nals into the CONTROL mode.

4. Transmits the first polling address. This might be A5.

5. Waits for an answerback from the polled terminal.

When the 1448 receives a negative response

0,

it

obtains the next polling address from the processing unit during the next scan operation, and resumes poll- ing. If the 1448 receives no response within a limited time (time out) of 540 ms, it generates an EOT char- acter

®

to the line. It obtains the next polling ad- dress from the processing unit during the next scan operation and resumes polling.

(20)

Any response other than negative

®

or affirmative

®

causes the 1448 to change to RECEIVE-CHECK status and to end polling. The processing unit status changes to RECEIVE and does not get the check condition until an EOB condition occurs. The line goes to CONTROL- CHECK Eon status on normal text time-out if no text characters are received. The affirmative

0

response is the EOA (end-of-address) character, which changes 1448 status to RECEIVE. The EOA character

0

results

if an execute key at the terminal is pressed before the terminal is polled. The EOA puts the terminal into the

TEXT mode. Text characters follow the EOA.

Figure 16 shows that the first terminal and compo- nent polled responds with

@'

or that it is not ready to send. The 1448 requests an interrupt. After the in- terrupt and scan operation, it continues to poll, using the next terminal-and-component address, B5, pro- vided by the processing unit's polling list. Terminal B responds with a

®

to indicate that it is ready to transmit.

The 1448 goes to RECEIVE status, it stops polling, and receives transmission from terminal B.

During the next scan operation, the 1448 changes the processing unit status to RECEIVE. During subse- quent scan operations, data is transferred to the proc- essing unit assembly area specified by the running address in the control field. The terminal eventually sends an EOB (B) character to indicate the end of a unit or block of data, but not necessarily the end of the

complete transmission. The terminal then sends an LRC (longitudinal redundancy check) character to be compared with the 1448 LRC character. At this point the terminal is locked out until verification of its last transmission.

After the LRC comparison, the 1448 changes its status and the processing unit's status during the next scan operation to RECEIVE-Eon. Or, if a VRC (vertical redundancy check) parity error or LRC error is de- tected, it changes its status and the processing unit's status to RECEIVE-CHECK-Eon. In either status, the EOB indicator is set in the processing unit and the 1448 makes an interrupt request. The processing unit's pro- gram, upon detecting the RECEIVE-Eon or the RECEIVE -CHECK-Eon, releases the answerback to the terminal by changing line status to either RECEIVE-IDLE or RE- CEIVE-IDLE-CHECK.

The program can either release the answerback im- mediately on the basis of the VRC or LRC check, or it can wait and include the results of a programmed format or field check.

If the program change line status to RECEIVE-IDLE,

the 1448 generates a positive

®

answerback to the terminal. This indicates that the previous block was correct, and the program changes the status to RECEIVE -CONTROL, or CONTROL, and a

@

is sent by the 1448.

If the program changes the status to TRANSMIT, the program sends the

@.

Processor Status 1448 Transmission 1060 Transmission

Control (CTRl) © Control Mode

A5 } Polling

®} '.'P

0" ' "

B5

©

to Polling

REC-CTRl

REC

I

TEXT

EOB

!

lRC REC-EOB

0}

Answer to text REC-IDlE ~

~

REC-CTRl ©A5

~ ©

REC

TEXT EOB

!

REC-CHECK-EOB

\

lRC

® }

Answer to text

© B5 REC-IDlE-CHECK

l

REC-CTRl

l

Figure 16. General Multipoint, Half-Duplex Operation (1060 to Processing Unit-1448)

Referenzen

ÄHNLICHE DOKUMENTE

Code-reuse attacks require the target program to contain memory corruption vulnerabilities such as buffer overflows that the adversary can exploit to hijack the control flow

A relatively new approach to ascertaining informed, thoughtful, and representative public views on complex issues, Deliberative Polling in its modern form has proven effective as

The control words buffered in 2703 storage con- tain fields that define such areas as: assembly/dis- assembly, character address (within the data word), character shift

operation is performed on the line in question and the receive operation on the lowest line address.. In this \vay, a complete check is made of the common controls

1. Data is not read from cards when a normal write and skip to channell command is given. A maximum of thirty columns of data can be read into the buffer by properly wiring the

a. Last card has been stacked by the preceding command.. The last card's read data has been sent to the channel by a preceding read command. Blank- data codes can be sent for

If an error code appears in the upper left corner of the display after you press these keys, press the Reset key and repeat Step 3.4. Setup Display Configuration 19..

Instructions which reference double-precision operands must produce even effective addresses (after all indirection and indexing). An odd effective address will cause the