VLSI Implementations of Communication PR PDF
VLSI Implementations of Communication PR PDF
SEPTEMBER 1989
Abstract-Rapid advances in transmission technology and network- hardware system, typically a VLSI chip or a chip set,
.
ing have resulted in development of hardware implementationsof sev- which implements the functions of one or more protocol
eral communication protocols, called protocol controllers. Such con-
trollers have been developed for several standard protocols such as
layers. It is programmable if it can be programmed to
X.25 and LAPD. Controllers for some transport layer protocols are implement different protocols or variations of the same
also under development. Several controllers for the IEEE 802 local area protocol.
networks have been developed. In this paper, these controllers are sur- Protocol controllers come in many flavors-from mi-
veyed and some characteristics for classifying them are given. Some croprocessor-based implementations to single-chip VLSI
case studies from these controllers are given as illustrations. In addi-
tion, two new developments-the Protocol Engine and the Program-
circuits. Our focus in this paper will be on VLSI imple-
mable Protocol Engine-are also described. The Protocol Engine, cur- mentations. Most of the activity in this area, especially
rently under development, will implement a new protocol called XTP the use of VLSI techniques, has been recent. We will not
which performs the functions of both the network and transport lay- survey implementations which use programs on a micro-
ers. The Programmable Protocol Engine will be able to implement sev- or a minicomputer. A good survey of such implementa-
eral connection-orientedprotocols by changing contents of a program-
mable RAM.
tions is given in [ l].
The physical layer protocols such as RS-232 have al-
I. INTRODUCTION ways been implemented in hardware and will not be cov-
ered here. Several implementations of data link protocols
R ECENT advances in fiber optics have resulted in an
increase of several orders of magnitude in transmis-
sion bandwidth. In addition, the trend towards new net-
(layer 2) are in hardware. Several chips perform only some
front-end functions such as bit stuffing, bit destuffing, and
flag insertion [2]. Some recent chips implement the com-
works such as the broadband integrated services digital
plete link level protocols [3]. Occasionally we find hard-
network (ISDN) requires handling of high-speed traffic
ware implementations of network layer protocols also [4].
sources. Such trends indicate that communication pro-
There are some current efforts to implement transport layer
cessing has to be done faster than at any time in the past.
protocols in VLSI circuits [ 5 ] . Several attempts have been
Such high speeds can be achieved by the use of special-
made to simplify protocols which can help in easy imple-
ized VLSI circuits. In the past, transmission links used to
mentation in hardware [6]-[8]. There are no hardware im-
operate at rates of several kilobits per second (kbits/s).
plementations of the session layer and the higher layers.
New fiber links can operate at speeds of several gigabits
Thus, we will focus on controllers for the following lay-
per second (Gbits/s). Their speeds are faster than even
ers-data link, network, and transport.
that of the internal buses of mainframe computers. We
For most of the standard local area networks (LAN’s),
should not expect that the communication processing for
several chips have been developed to perform the medium
such links can be done using software on general purpose
access protocol and the front-end functions of their link
computers.
level protocols, such as bit stuffing, bit destuffing, and
If communication processing consumes a significant
flag insertion [9]-[2 13.
part of processing power of a large host computer, then it
Some of the criteria for comparing these VLSI control-
is very expensive. If it can be performed by a relatively
lers are throughput, programmability, interface with the
inexpensive VLSI circuit, then the overall system cost will
host, and ease of use. The throughput is typically mea-
be lower. One of the potential problems of implementing
sured in terms of number of messages processed per unit
protocols in hardware is the difficulty in changing its de-
of time. In some cases, the communication processing
sign when the underlying protocol is changed. Most of
performed by the controller can be altered by changing a
the new VLSI circuits for communication processing are
program or a microprogram. This level of programmabil-
at least partially programmable.
ity can vary. In some cases, only minor changes can be
In this paper, we provide a survey of protocol control-
made in these programs. In other cases, major changes
lers, which are defined next. A protocol controller is a
can be made, i.e., many different protocols can be exe-
cuted. Ease of changing these programs is also very im-
Manuscript received May 15, 1988; revised March IO, 1989.
The authors are with AT&T Bell Laboratories, Murray Hill, NJ 07974. portant. There are several levels of abstractions between
IEEE Log Number 8929692. the protocol specifications and the VLSI designs. If the
P L ~
Receive &
Transmit
Machines
Register
file &
ALU
FIFO DMA +
Interface - 51
1084 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 7. NO. 7. SEPTEMBER 1989
TABLE I
CLASSIFICATION DESCRIBED
OF THE CONTROLLERS I N THE PAPER
‘ *
data in a common area (typically, the host computer’s munication processing. The host computer interacts with
-.
.
memory) instead of storing them locally in the protocol these processors using high-level commands and does not
controller(s). To move data to and from the host’s mem- concern itself with the details of the protocol operation.
ory we need a DMA interface. In addition, the protocol The future trends are exemplified by the Protocol Engine
controller should have a simple method for storing, re- [5], [23] and the Programmable Protocol VLSI Engine
trieving, and referring to these buffers. This buffer man- [24]. The Protocol Engine implements a new protocol
agement operation is a significant data management func- called XTP [25] which performs the €unctions of both net-
tion. A protocol controller which incorporates this as a work layer and transport layer. The Programmable Pro-
part of its implementation is more useful than the one tocol VLSI Engine (PROVE) can be programmed to im-
which does not. This fact has been recognized, and most plement different protocols. The major Characteristics of
VLSI protocol controllers [22] incorporate DMA and some of these controllers are given in Table I. All con-
buffer management capabilities in their design. Several trollers listed in Table I are described later as case studies.
experts believe that these capabilities are the major bot- There are many VLSI implementations of protocols
tlenecks in speeding up any controller. from the X.25 recommendation. Some of them implement
the link layer protocol only [3]. MC68605, a controller
F. Complexity from this group, is described later in Section 111-A. Some
It is desirable to rank the complexity of protocols im- others implement both the link layer and packet layer pro-
d
plemented by various controllers. There is no quantitative tocols [4]. The NTT X.25 controller, which implements
way of measuring protocol complexity. Such a measure both of these layers, is described later in Section 111-B.
should capture the amount of processing required for han- There are also some VLSI implementations for the ISDN
dling each packet. Some work should be done in the future Link Access Procedure on the D-channel (LAPD) [26],
on this quantification. [27]. Many VLSI protocol controllers for local area net-
In the next section, we will present some examples and works (LAN’s) have also been developed. This is a nat-
classify them based on the characteristics described here. ural outcome of the higher speeds at which LAN’s operate
The examples have been chosen so as to sample all major compared to the wide-area networks. Most of the con-
types of protocol controllers. trollers are designed for the Token Bus, the Ethernet, or
the Token Ring protocols. A few other access protocols
111. CASESTUDIES have also been implemented 191, [ 1I], [ 121. Descriptions
Early protocol implementations started as software im- of some Token Bus controllers can be found in [ 131-[ 163.
plementations due to many reasons-among them the low The MC68824 controller from this class of controllers is
speed of communication channels, the lack of widely ac- described in Section 111-C. There are many controllers for
cepted standards for protocol, and the complexity and cost the widely used Ethernet [171-[20]. Such a controller from
of hardware implementations. The emergence of various intel is described in Section 111-D. A controller for the
protocol standards and VLSI technology has changed the Token Ring LAN described in [ 101 is summarized in Sec-
rules of the game. Further impetus is provided by the need tion 111-E. The major standard next-generation-LAN is the
for executing these standard protocols at high speeds to Fiber Distributed Data Interface (FDDI) network operat-
utilize the high bandwidth provided by fiber-optic links. ing at 100 Mbits/s. Some controllers have been devel-
Another important area where protocol controllers can oped for FDDI [2 11.
make an impact is that of protocol conversion and inter- Seven case studies are presented next which illustrate
networking. Programmable protocol controllers are par- the spectrum of protocol controllers which have been de-
ticularly suitable for this purpose. veloped or are under development. A summary of their
Current state-of-the-art is exemplified by chips such as characteristics is given in Table I.
the MC68605 X.25 protocol controller and the MC68824
Token Bus controller from Motorola, the VLSI imple- A. MC68605 X . 25 Protocol Controller
mentation of layers 2 and 3 of X.25 from Nippon Tele- The MC68605 X.25 Protocol Controller (XPC) is a
phone and Telegraph Company (NTT), and the Ethernet VLSI chip that implements the X.25 data link layer pro-
controller chips from Intel and AMD. These chips act as tocol (LAPB) [3]. It implements the complete protocol
coprocessors which relieve the host computer of com- including the retransmission procedure, and relieves the
KRISHNAKUMAR A N D SABNANI: VLSI IMPLEMENTATIONS OF COMMUNICATION PROTOCOLS 1085
plexed operation of the X.25 packet layer, many logical control the modem which connects the controller to
channels operate over a single physical channel. Each one the physical line.
of these logical channels has context information such as
The host controls the MC68824 controller by issuing ap-
receive sequence numbers and transmit sequence num-
propriate commands and does not intervene during normal
bers. Processing of the incoming packets on a particular
transmission and reception of frames. To support high-
logical channel is based on its context information. When
speed bulk data transfers between the host and the net-
a packet on a multiplexed link is processed, the appropri-
'~ work, a shared memory with linked data buffer structures
ate context information has to be brought into the con-
is used. The reader is referred to [14] for further details
troller. Since this happens frequently and represents an
on various modes of operation.
overhead, a fast context-switch mechanism is needed. It
A useful feature of this controller is the provision of
is not clear from [4], [28], and [29] whether this control-
. ler provides a fast context-switching mechanism. Based
monitoring and diagnostic aids. Information about inter-
esting quantities such as number of tokens passed and
on this description, we can conclude that this controller
number of FIFO overruns can be measured by the
is an example hardware implementation which exploits
MC68824 controller. If these numbers exceed a host-pro-
the parallelism in protocol operations to achieve high pro-
grammed threshold, the controller generates an interrupt
cessing speeds.
for the host. These statistics can be used to monitor net-
C. The MC68824 Token Bus Controller work usage and traffic; this information can be used to
configure the network efficiently. The diagnostic aids pro-
The MC68824 token bus controller from Motorola [ 141
vided consist of the following tests-a host-interface test,
implements the IEEE 802.4 media access control (MAC)
a full-duplex loopback test, a transmitter test, and a re-
layer functions. These functions cover the access control
ceiver test.
procedure and a major portion of the data link layer.
This controller has a good design matched to the re-
The architecture of the MC68824 controller is shown
quirements of the protocol being implemented. Since it is
in Fig. 1. The controller consists of the receive and trans-
intended to be a token bus controller only, the host can
mit state machines, an arithmetic logic unit (ALU) and
program only some parameters. However, its architecture
register file, a FIFO buffer, DMA, and a bus interface to
is general enough to be adapted to other protocols.
the host processor. These units are controlled by a micro-
i coded controller. The use of microcoded control enabled D. The Intel 82586 Communications Controller
the designers to adapt quickly to the changes in the evolv-
As the Ethernet LAN is used widely, there are many
ing protocol. This suggests that it might be advantageous
controllers from different manufacturers available at pre-
to have this facility not only during development but even
sent. For a comprehensive list, the reader is referred to
afterwards, i.e., provide a certain degree of programma-
[30]. We will describe one such controller, the Intel 82586
bility to adapt the hardware to variations of the access
communication controller [3 11. This controller imple-
protocol. An extension of this idea leads to the program-
ments the complete access procedure used in Ethernet in-
mable protocol controllers discussed later in Section
cluding automatic retries after collision and random back-
111-G. To handle the 10 Mbit/s data rate without overruns
off generation. It provides the host processor with high-
on reception or underruns on transmission, a 40-byte FIFO
level commands.
buffer is used in this design. The receive and transmit ma-
The 82586 communication controller has the following
chines perform CRC computation, and serial-to-parallal
features.
and parallel-to-serial conversion. The ALU is used to
Collision sense, multiple access with collision detect
generate program addresses for microprogram routines, to
(CSMA/CD) method, the access protocol for Ethernet, is
compare incoming address with the station address, and
performed by this controller.
to collect statistics.
It performs direct transfer of frames to/from the host
The MC68824 controller provides to the host processor
memory using four on-chip DMA channels.
high-level commands matched to the token bus commu-
Commands from the host processor are read from a
nication protocol. These commands can be used to:
command list in an external shared memory.
load parameters from the initialization table in shared
It provides the host with automatic status reports on
memory into the 68824 controller (initialize the control-
received and transmitted frames, including error condi-
ler), tions.
choose different options and modes to configure the
It provides diagnostic commands for testing the con-
controller for one of many different token bus networks
troller and for monitoring network status.
(set operation mode),
transmit data frames, It also can perform 16- or 32-bit CRC generation and
set and read values of parameters which are not di- checking. Its data bus can be configured for either 8- or
rectly accessible to the host, 16-bit operation. It can handle data rates up to 10 Mbits/s.
test the controller, The internal architecture of the 82586 controller, shown
notify the controller of events such as completion of in Fig. 3, consists of two major blocks: the parallel pro-
an interrupt routine, and cessor and the serial channel. These blocks communicate
KRISHNAKUMAR A N D SABNANI: VLSI IMPLEMENTATIONS OF COMMUNICATION PROTOCOLS 1087
1 ALU
to the host, on-chip DMA and buffer management, and
execution of all protocol functions.
Interface
Logic
I
Processor
. I
r ' " L V L Y ' Address
II I I
Engine Loqlc
Control
Logic - 1 SMemory
tate Vector
, I
MESSAGE MESSAGE
PARSER ASSEMBLER
t f t f + tv+ f +
ALU SEQ 1 SEQ 2 SEQ n
8
REGISTER
FILES
I
ARB H
I
ARB 4
I
ARB ]
Proc. IEEE 1986 Custom Integrated Circuits Con$, 1986, pp. 426- 1281 H. Ichikawa, M. Aoki, and T. Uchiyama, “High-speed packet
430. switching systems for multimedia communications,” IEEE J. Select.
1171 EDLC Ethernet Durulink Controller, SEEQ Technology, San Jose, Areas Commun., pp. 1336-1345, Oct. 1987.
CA, June 1983. [29] H. Ichikawa et a l . , “Protocol control VLSI for broadband packet
[ 181 The AM 7990 Family IEEE-802.3/Etherner Node, Advanced Micro communications,” in Proc. GLOBECOM, Nov. 1988.
Devices, Sunnyvale, CA 1984. [30] R. E. Shotwell, Ed., Ethernet Sourcebook. New York: North-Hol-
[ 191 LAN Components User’s Manual, Intel Corporation, Santa Clara, CA, land, 1985.
1984. [31] M. Stark, A. Kornhauser, and D. Van-Mierop, “A high functionality
1201 A. G. Bell and G. Borriello, “A single chip NMOS Ethernet con- VLSI LAN controller for C S M A K D network,” in Proc. IEEE
‘: troller,” in Proc. IEEE Int. Solid-State Circuits Con$, Feb. 1983, Compcon Spring, Feb. 28-Mar. 3, 1983, pp. 510-517.
pp. 70-7 1.
I211 B. E. Cole, “LAN chips makers grapple in a turbulent market,”
Electron., vol. 61, no. 8, pp. 87-95, Apr. 14, 1988.
[22] R. W. Dobinson and M. D. Szpak, “Interfacing to Ethernet using
. VLSl protocol chips,” Interfaces in Computing, vol. 3, no. 3-4, El-
sevier Sequoia, Netherlands, Sept.-Dec. 1985, pp. 173-187. A. S. Krishnakumar received the B.Tech. degree from the Indian Institute
I231 G. Chesson and L. Green, “XTP-Protocol Engine VLSl for real-time of Technology, Madras, in 1979, the M.S. degree from Northwestern Uni-
LANs,” in Proc. EFOC/88, Amsterdam, July I , 1988. versity, Evanston, IL, in 1980, and the Ph.D. degree from Stanford Uni-
[24] A. S. Krishnakumar, B. Krishnamurthy, and K. K. Sabnani, “Trans- versity, Stanford, CA, in 1984, all in electrical engineering.
lation of formal protocol specifications into VLSI designs,” in Pro- He has been with the Computing Systems Research Laboratory, AT&T
tocol Specification, Testing, and Verification, VII, Elsevier Science Bell Laboratories, Murray Hill, NJ, since 1984. His research interests in-
Publishers B. V., North-Holland, May 1987, pp. 375-390. clude special-purpose architectures, parallel algorithms, and CAD.
[25] G. Chesson et al., “XTP protocol definition,” in Protocol Engines,
1421 State Street, Santa Barbara, Ca 93101.
[26] G. Geiger and L. Lerach, “ISDN-oriented modular VLSI chip set for
central-office and PABX applications,” IEEE J. Select. Areas Com-
mun., vol. SAC-4, no. 8, pp. 1268-1274, Nov. 1986.
1271 R. Kun, “A VLSI approach to supporting LAPD in an ISDN ex- Krishan Sabnani (M’M-SM’89). for a photograph and biography, see
change termination,” in Proc. ICC, 1986, pp. 760-765. this issue, p. 1019.