JPRS ID: 9845 USSR REPORT LIFE SCIENCES BIOMEDICAL AND BEHAVIORAL SCIENCES
Document Type:
Collection:
Document Number (FOIA) /ESDN (CREST):
CIA-RDP82-00850R000400070026-2
Release Decision:
RIF
Original Classification:
U
Document Page Count:
105
Document Creation Date:
November 1, 2016
Sequence Number:
26
Case Number:
Content Type:
REPORTS
File:
Attachment | Size |
---|---|
CIA-RDP82-00850R000400070026-2.pdf | 5.8 MB |
Body:
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
FOR OFFICIAL USE ONLY
JPRS L/10111
10 NovAmber 1981
Translation
COMPUTING SYSTEl~AS AND SYNCHRONOUS ARITHMETIC
- BY
M.A. Kartsed and V.A. Brik
FBiS F~REICf~ BROADCAST INFORMATION SERVICE
FOR OFFICIAL USE ONtY
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
NOTE
JPRS publications contain information primarily from foreign
~,ewspapers, periodicals and books, but also from news agency
transmissions and broadcasts. Materials from foreign-Language
sources are translated; those from English-language sources
ar~ transcribed or reprinted, with the original phrasing and
other characteristics retained.
Headlines, editorial reports, and material enclosed in brackets
[J are supplied by JPRS. Processing indicators such as [Text]
or [Excerpt] in the first line of each item, or following the
- last line of a brief, indicate how the original information was
processed. Where no processing indicator is given, the infor-
mation was summarized or extracted.
~ Unfamiliar names rendered phonetically or transliterated are
enclosed in parentheses. Words or names preceded by a ques-
tion mark and enclosed in parentheses were not clear in the
original but have been supplied as appropriate in context.
= Other unattributed parenthetical notss within the body of an
- item originate with the saurce. Times within items are as
given by source.
The contents of this publication in no way represent the poli-
cies, views or at.titudes of the U.S. Government.
COPYRIGHT LAWS AND REGULATIONS GOVERNING OWNERSHIP OF
MAT~RIALS REPRODUCED HEREIN REQUIRE THAT DISSEMINATION
OF THIS PUBLICATION BE RESTRICT'ED FOR OFFICIAL USE ONLY.
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
FOR OFFICIAL USE ONLY
JPRS L/10111
10 November 1981
COMPUTING SYSTEMS AND SY~~CHRONOUS ARITNME~YC
Moscow VYCHISLITEL'NYYE SISTEMY I SINKHRONNAYA ARIFMETIKA in Russian
1981 (signed to press 26 Mar 8I) pp 2-5, 162-275, 348-359
[Annc~tation, table of contents, preface, ch~:~.uters 4 and 5, bibliography
and index from book "Computing Systems and Synchronous Arithmetic", by
Mikhail Aleksandrovich Kartsev and Vladimir Arkad'yevich Brik,
Izdatel'stvo "Radio i svyaz 10,000 copies, 360 pages, UDC 681.32]
' . CONTENTS
Annotation ~ i
Preface
4. High-Speed Synchronous Multir,liers .
4.1. Decreasing the Time For Adding Fartial Products 3
4.2. Preliminary Formation of Multiples of Multiplicand 5
4.3. Use of Negative Partial Products ~
4.3.1. Method of Multiplication by Group of q Bits of Multiplier
with Decoding of q+l Bits of Multiplier ~
4.3.2. Method of Multiplication from Low-0rder Bi~s of Multiplier 9
4.4. Analysis and Technique of Building Simultaneous Multipliera 13
4.4.1. Classif ication of Simultaneous Multipliers 13
4.4.2. Analysis of Processea of Adding Partial Products in
Homogeneous Simultaneous Array Multipliers
4.4.3. Analyais of Processes of "Decay" in Hamogeneous
Simultaneous Array Multipliers 25
4.4.4. Multilayer Simultaneoua Array Multipliers 27
5. High-SPeed Synchronous Dividers
5.1. Methods of Short Restoring Division 47
5.2. Stefanelly's Methods 48
5.3. Performing Division by Multiplication 49
5.4. Short Nonrestoring Division 52
5.4.1. General Description of Nonrestoring Divis~on 52
5.4.2. Classical Methad of Division 56
5.4.3. Graphic-Analytic Method of Analysis of Processes of Division 62
5.4.4. Division Using Symmetrical Set of Integers Including Zero 65
5.4.5. Generalized Method of Nonrestoring Division and
Investigation of It 70
5.4.6. Example of Implementation of Generalized Method of
~ Nonrestoring Division 83
_ g- jI - USSR - N FOUO]
- FOR OFFI~CIAL USE ONLY
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPROVED F~R RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
FOR OFFICiAL USE ONLY
Bibliography ~8
S ubject Index 96
Table of Contents 99
- b -
FOR OFFICIAL USE ONLY
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00854R400404070026-2
FOR OFFICIAL USF ONLY
. .
[Text] Annotation
The authors investigate, on the one hand, the organization of structures of
multimachine, multiprocessor axzd conveyor computing systems and the organization
of computations in them, and one the other hand, the ma~oritq of lmowa methods
fur building high-speed synchronaua adders, multipliers and devices for division
_ used in computing systems and machines.
- Preface ~
' When we starzed on this book, we realized there is currently no shortage of material
on computing systems. On the contrary, the flow of books and articles on this sub-
ject is essentially outstripping the development of technology and methods of
applying computing systems. The number of titles of ~ust monographs on this sub~ect
probably exceeds t:ie number of computing systems that have been imp~emented and are.
operating in the world. Meanwhile, there are still tao many points not yet clear '
in this f ield.
Even the termi.nology has not stabilizQd. In this book,Iby the phrase "computing
- system," used in the title, we mean computing resources designed to execute para11e1
computations; a precise definition of this concept is in section 1.1.1.
But the question least analyzed, in our view, is throughput of computing systems.
Too often the data given on the throughput of a computing system in design or pro-
duction are obtained by simply adding the throughput of the individual resources
that make up the system. Meanwhile, the situations users of the actual computing
system encounter may be considerably different;~ accordingly, the data on system
throughput that he needs are also different.
If the system is used within a major computer center, where a large number of users
solve their relatively small problems, total system throughput is of little interest
to each individual user. It is important to him only to the extent that it affects
- 1
~ FOR OFFICIAL USE ONLY
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPR~VED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
FOR OFFICIAL USE ONLY
the ti~~w hc ~ets tur up~ruCinb iu tt~e interactive mode or the jobs accept~d trum
him for processing in the batch mode.
We deal with a very similar situationv as a rule, in using a computing systeJn with-
in an automated production manageinent system (on the scale of an enterpr~.se, sector
and the national economy as a whole) and in various information retrieval sysCems.
Here too there is usually a number of small ~abs with few links to each other, but
operating with a common data bank. But the designer of an ASU [automated manage-
ment syste~nJ or.information retriev~l system must, of course, be interested in
, the total throughput of computir~g resourc.es since the specific set of jobs in his
system must be executed within specific time intervals (somet3mes within several
. hours, or several days or several weeks).
We encounter a fundamentally different situation in automated process control sys-
tems, in solving major scieneific problems and in other cases. High throughput ~f
~ compyting resources is needed in this case to obtain within a brief time a solution
to one, but rather massive, problem. It seeins to us in many cases neither the com-
puter system designers, nor those expecting to use the systems for the purposes in-
dicated cl=arly understand that the same computer system cannot achieve identical
throughput in solving major problems of different classes and that there has to be
a specific correspondence between the specific problem properties and the computing
- system structure for computing system capabilities to be used reasonably effi-
cieiitly.
In this book, when we speak of high-throughput computing systems, basically we have
in mind precisely the latter situation (precise definitions ot actual user through-
put and user efficiency of a computing system are given in section 1.Y.2.).
Chapters 1 and 2 are devoted to a detailed consideration of precisely these points.
Singled out as a result is the type of synchronous computing systems wnich poten-
tially can achieve the maximum in actual user throughput. Naturally, this through-
put can be implemented when a cerrtain class of problems is run (i.e. problems
- having certain properties), but th3s class is rather broad and includes rather
najor problems.
Chapters 3-6 are devoted to an examination of the most compleac technical questions
that arise in building these systems--development of synchronous methods of execu-
ting arithmetic and logic operations, i.e. methods tt?at provide for minimal time
in executing an operation irrespective of the operands on which it is executed.
The importance of these chapters is considerably broader than could be deduced from
the precedin~,, sin~e the use of synchronous methods for executing operations is
necessary even when building conventional (aingle-procesaor) control machines de-
sig*_~ed to operate in real time. In many cases, these synchronous methods of execu-
ting operations achieve higher speed than the well known asynchronous methods, and
it is expedient to apply them in developing any high-speed digital computer in
general,
Chapter 7 is intended for the reader who needs more background and who would like
to understand fully the content of the whole book. He should start reading the
book precisely from this chapter which contai~s elementary information an the
principles of computer teehnology.
2
FOR UFFICIAL US~ ONLY
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00854R400404070026-2
~c)R l1FFICTAL l?S~ QNI~Y
Chapters 1 and 2 of ~this book were written by M. A. Kartsev and chapters 3-7 by
V. A. Brik.
The authors will be grateful to readers for comments made on the book's content.
' V. A. Brik, M. A. Kartsev
- 4. High-Speed Synchronous Multipliers
Multiplication has to be performed to solve the ma~ority of computing problem~.
Problems that include division can often be solved by using multiplication, addition
and subtraction. Division can be performed, for example, by using multiplication
and tables of inverse values stored in memory. There are many m~thods �or '~getting
azound" division, i.e. accomplishing it without special-purpose devices designed
for this.
Multiplication cannot be "avoided." The only way to avoid direct calculation of a
product is to use multiplication tables. However, employing this method in ma-
chines with parallel operation requires a large amount of storage. ,Any software
method of multiplication requires repeated addition which cannot be perfcrmed as
quickly as multip~ication is performed by uaing higli-apeed hardware methods.~ There-
fore, the rapid hardware method for performing multiplication is a very common
approach in designing the arithmetic unit.
~ All known synchronc~us methods for speeding up multiplicarion reduce essentfally to
th~ separate or complex use of the followi~ng three methods:
1. Reducing the time needed for performing addition of partial pioducfis~ i.~e. the .
products of the nultiplicand by the individual digits or groups of digits of the
multiplier.
2. Reducing the number of partial products by using multiplicand multiples formed
in advance.
3. Using subtraction in multiplication which permits reducing the number of
additional adders needed to form multiples of the multiplicand.
This classification is based on logical and mathanatical ideas, the implementation
of which leads to raising speed. Each of these directions is anbodied in the group
of inethods for sp~eding up multiplication, the hardware solutions of which can
differ considerably from each other.
In this chapter, the basic synchronous methods for speeding up execution of multi-
plication are discussed.
4.1. Decreasing the Time for Adding Partial Products
The time for ~dding all the partial products can be reduc~d by three methods:
speeding up the procedure.for adding the next partial product to the sum of the
preceding par~ial products; starting the addition of the following partial product
prior to completion of the addition of the preceding partial product; and fina3~ly,
building circuits that add the running sum of partial products at once to several
successive partial products.
_ 3
FOR OFFICIAL USE ONLY
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
FOR OFFICIAL USE ONLY
The main implementation of the first method is the use of a fast adder for adding
the next partial product to the sum of the preceding. If onQ deaires, this group
of inethods may also include the use of the well known multiplying circuits that
ov~rlap addition with a shift of the multiplicand (fig. 7.7.1, b and d[not repro-
ducedJ).
The second method is implemented in the method of multiplying in which the so-called
carry save adder is used (1 and section 4.3.2.]. The idea of this method consists
in fox~ing the running sum of the next partial product with the sum of the preceding
partial products in the form of a two-digit code, i.e. i~i the form of two numbers.
In the extreme case, one of these two numb~rs is formed from the step-by-step sums
s, and the other from the s*.ep-by-step carries e. The principle of operation o�
this de~ice is illustrated by the simplified structural diagram shown in fig. 4.1.1.
KeY; � ~S)
1. Rgl register 1 1 t P~z
2. Rg2 register 2
3. Rg3 register 3 ~M
4. Rg4 register 4 ~ s
5. P-- next partial product
6. Sm coincidence-type adder t3 P'4 ~
7. e step-by-step carries
8. s-- step-by-step sums Fig. 4.1.1
nr (5)
ICey : Pt i ~ Pz 2 ,
1. Rgl register 1
2. Rg2 register 2 cn~.
3. Rg3 register 3 7 e s ~(g)
4. Rg4 register 4
5. P1 partial prodact 1 ~y~
6, Sml adder 1 S 8
7. e-- step-by-step carries PrJ ~ oza ~
8. s step-by-step sums
9. P2 partial product 2 . ~"~s 11
~
10. Sm2 adder 2
11. Sm3 adder 3 5~8~
Fig. 4.1.2
During each cycle, the next partial product P is added to the sum of the preceding
partial products in the coincidence-type adder Sm. At the end of the cycle, the
values of the signals e and s are stored in registers Rg3 and Rg4, and at the start
of the next cycle are sent to registers Rgl and Rg2. A gain in speed is achieved
_ because there is no carry propagation procesa in the adder Sm; its ope~at3ng time in
this case is reduced, obviously, to the operating time of one one-dtgit adder.
With more economical (but also slower) versions, the entire adder is subdivided not
into individual digits, but into relatively quick q-digit (1 ~ q~ n) adders. In
doing so, the first of the two indicated numbers is formed from the outputs of the
sums of these adders, and the second number, containing q-fold fewer significant
digits, from the carry signals generated in the q-dig3t adders (by one signal for
each such adder).
4
FOR OFFICIAL USE ONLY
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
FOR OFFICIAL USE ONLY
In any of these versions, after the two-digit code of the final product is obtained,
the two-digit code is translated into one-digit, i.e. conventional addition. This
may be done in a conventional parallel, or eten better--in a fast parallel, adder.
In the device shown in fig. 4.1.1, final addition may be performed in the adder Sm~
which must in this case, after running through al]. tk?e cycles of addition with the
partial products, be "retuned" from the mode for translating three-digit code (i.e.
three numbers) into two-digit--to the mode fdr translating t~ao-digit code into
one-digit. Instead of this, final addition may be performed in a separate adder,
which should be installed after registers Rg3 and Rg4. This ver.sion of the device
will be shown in fig. 4.1.2.
_ The third method for speeding up the process of add~,ng partial products assumes the
introduction of additional adders into the arithmeti~c unit. The number m of partial
- products that are simultaneously added to the running sum of partial products may
vary. A multiplication operation, in the process~ consists oF a ser.ies of cycles,
during each of which m new partial products are added. In doing so, the carry
storage method is also usually used and this speeds up the process further. In fig.
4.1.2, as an example, it is shown how another two (m = 2) partial products P1 and P2
can be added in each cycle to the running sum of partial products and with that the
sum formed in the f.orn? of two-digit code. Final addition in this scheme is done by
adder Sm3 wh~ch it is advisable to make fast.
- In the ultimate version, the multiplier composes at once all partial products.
Multiplication in this case is performed 3n one cycle. Multipliers of this type are
called simultaneous (array, synchronous, pyramidb of adders etc.). An analysis and
description of these devices are given in sections 4.4. and 6.3.
4.2. Preliminary Formation of Multiples of the 'riultiplicand
In this method of multiplication, the multiplier is subdivided into groups of q
digits each and may have yet another group containing less than q digits. Each
group of digits is decoded independently of the others as a conventional binary num-
ber. Considering by convention that the point is located at the right of the group,
in decoding there is generated one of the numbers (signals)
_ 0, 1, 2, 3, , 2q - 1
and used as the next partial product ~.:3 respectively one of the 2q multiples of the
multiplicand C, shifted the necessary way relative to the running sum of partial
products:
_ 0, 1C, 2C, 3C, (2q - 1)C.
The rule for decoding one group for the case q= 3 is shown in table 4.2.1.
Table 4.2.1.
Digits I Digits Digits Digits
of group Multiple~ of group Multiple o~ gr.~up rIultiple of group Multiple
I
000 0 O10 2C 100 4C 110 6C
J
- 001 1C O11 3C 101 SC 111 7C
5
FOR OFFZr,IAL USE ONLY
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
FOR OFFICIAL USE ONLY
Thus, the individual digits of the group when decoded correspond to the natural
weight s : . - - -
Q digits �
^ 1
X X ' ' � / \
2y_~ 2a_:2y_� 2~ 2�
Let us designate the number of groups into which the multiplier is subdivided (or,
" which is the same, the number of partial producta) by m. The relationship between
n, q and m has the following form:
~ m= ] Q f (4.2.1) .
~
]d[ is the smallest integer not less than d.
Extreme cases of subdividing of the mul~tiplier into groups are the case when all
groups are "full" : ~ - - - - -
~
~ Q
-
X ~
I _ n~ - 1 m
(lengths of the groups are indicated at the top, their numbers at the bottom)~ and
the case when a group not full contains only one digit:
~ Q~ i~~
X. .X . X.. ~ ~
~ �
_ (the group not full is shown at the~left, but it can be in any other position of the
mu~tiplier). The remaining cases are intera~ediate between these two. What has been
said is illustrated by the double tnequality
(m-1) 9-}-1 3 M(n)-T , if
n~T~~~~n (T-1, 2, This means that the quantity of layers of simultaneous
multipliers when any n~3 can be determined, after selecting from the series of
numbers n~~~, n~l~, the two ad~acent numbers n~T~l~ and n~T~ that satisfy the
given inequality. Then M(n)=T. We will often use this technique later. If there
is known the time taui of operation of any i-th layer and if taul tau2= =tauM
tau, then the value of M defines the time of operation of the entire device from
the moment the n=n~ initial numbers (partial products) are fed to the inputs of the
first layer to the result of the two-digit code of the product; this time equals
M tau.
Corollary 9. If ni_1 n~T~, then ni n~T-1~. In fact, since in this case ni numbers
are contracted T-1 layers, then owing to corollary 8
ncT-s~~ n{ >,
If it would turn out that it{R ~ then when all no>n n,
would equal X, and M would equal some constant maximal value M(i.e. corollary 5
would not exist). ~ M
In the process~ n~"~ would equal infinity~ and n~ when M>1~l
would not exist (i.e. corollary 6 also would not exist).
30
. ,
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400074026-2
FOR OFFICIAL USE ONLY
Using corollary 8~ one can write the following system of inequalities:
rc~"'-~~ > ~M=2~ i=1, 2,..., M. ~4.4.2)
31
FOR OFFT~IAL USE ONLY
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
FOR OFFICIAL USE ONLY
.
n~
4 f~'f
t i.-r
^ ,
_ 0 Y 4 n~_~
a) n~T~=2, 4, 8, 1G, 32, 64 ~j') n~T~=2~ 8, 4, 6, 9. 13
~ C) n~T>=2, 3, 7, 15, 35, 80 d�) n~T~=2, 3, 7, 22, 78, 288
r '
t1
k+1 ~..,f
.
:
.���1k+1
e) n~T~-2, 3, 7, 127,2~s~-1 n~r>=2, 3, 5, 9, 17, 32 (;~en
2,~a~_~ - I k=8)
r3~
. J?.....�.../
~ .
...~..il .
N 1N
8) ntr~~2, 8, 32, 128, 512, 2048
(wheii N=8)
Fig. 4.4.16. Type assembly: a) and b)--counters (3~ 2); c)--counter (7,3);
d)--counter (15, 4); e)--counter (k, m); f)--k-bit adder;
g)---translator N-~2. T= 0~ 1~ 2, 3, 4, 5.
32
, ,
APPROVED FOR RELEASE: 2007/02/09: CIA-RDP82-00850R000400070026-2
APPROVED FOR RELEASE: 2007/42/09: CIA-RDP82-00850R000400070026-2
FOR OFFICIAL USE ONLY
The sum of the two numbers obtained at the autputs of the last, M-th layer, as
stated earlier, equals the product of AC.
It can also be seen from (4.4.1) that with the given ni the maximal value of ~i~l
_ -
is 2ni. Therefore, from corolldry 9 .
ncT)=2n~T->> (T~1, 2,
Since n~~~=2, then n~1~=4, n~2~=8, i.e.
` n~M~=2M+i ~M=p, 1, (4.4.3)
The first six numbers of n~T~ are given in fig. 4.4.16, a.
Since for any n there is such T, that
- ncT-i)=2T