Top Banner
A MICROPROGRAMMED DISKETTE CONTROL UNIT Darmawan
110

A microprogrammed diskette control unit.

Apr 28, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A microprogrammed diskette control unit.

A MICROPROGRAMMED DISKETTE CONTROL UNIT

Darmawan

Page 2: A microprogrammed diskette control unit.

DUDLEY KNOX LIBRARY

NAVAL K1STGRADUATE SCHOOL

Page 3: A microprogrammed diskette control unit.

NAVAL POSTGRADUATE SCHOO

Monterey, California

THESISA Microprogrammed Diskette Control Unit

by

Darmavan

September 1974

Thesis Advisor: V. Michael Powers

Approve! for public release; distribution unlimited.

7 /C>3-S 1/

Page 4: A microprogrammed diskette control unit.
Page 5: A microprogrammed diskette control unit.

SECURITY Cl. ASSIFIC ATION Of THIS PAGE (Who,, f)«c« Entered)

REPORT DOCUMENTATION PAGE READ INSTRUCTIONSBEFORE COMPLETING FORM

1. REPORT NUMBER 2. GOVT ACCESSION NO. 3. RECIPIENT'S CAT ALOG NUMBER

«. TITLE fond Subtitle)

A Microprogrammed Diskette Control Unit

S. TYPE OF REPORT ft PERIOD COVE RED

Master ' s Thesis; September1974

C. PERFORMING ORG. REPORT NUMBER

7. author^;

Darmawan

B. CONTRACT OH GRANT NUMBERfo;

9. PERFORMING ORGANIZATION NAME AND ADDRESS

Naval Postgraduate SchoolMonterey, California 93940

10. PROGRAM ELEMENT. PROJCCT, TASKAREA 4 WORK UNIT NUMBERS

II. CONTROLLING OFFICE NAME AND ADDRESS

Naval Postgraduate SchoolMonterey, California 93940

12. REPORT DATE

September 197413. NUMCER OF PAGES

U. MONITORING AGENCY NAME 4 ADDRESSfU dlIterant from Controlling Ottlce)

Naval Postgraduate SchoolMonterey, California 93940

15. SECURITY CLASS, (ol thte report)

Unclassified1Sn. DECLASSIFI CATION/ DOWN GRADING

SCHEDULE

16. DISTRIBUTION STATEMENT (ol (Ms Report)

Approved for public release; distribution unlimited.

17. DISTRIBUTION STATEMENT (ol the cbatrr.ct entered In Block 20, II tillteront trom Report)

IB SUPPLEMENTARY NOTES

19. KEY WORDS (Continue on reverse tide It necceavry r.-.d identity by block number)

Microprogrammed disk controllerDisk controllerDisketteFloppy disk

20. ABSTRACT (Continue on refer** tide It neceiemry end Identity by block number)

Considerations an the design of microprogrammed disk controllers are

presented. First, the concept of microprogramming and the characteristicsof diskette storage drives are discussed. The use of disk storage in da»;.i

base management systems is also discussed. Finally, the functions, progl

and structure of a microprogrammed disk controller for personnel file man-

agement are presented.

DD ,^:M/3 1473

(Page l,

EDITION OF I NOV SS IS OBSOLETES/N 0102-014- 61

SECURITY CLASSIFICATION OF THIS TAGC fiHien Omlm. Ttnfrtu)

Page 6: A microprogrammed diskette control unit.
Page 7: A microprogrammed diskette control unit.

CfeCUHlTY CLASSIFICATION OF Till'. PAGtfH7i.fi f)«l. tr.1,,-,.'

DD Form 1473 (BACK). 1 Jan 7?

S/N 0102-014-6601 SECUBITY CLASSIFICATION OF THIS PAGEPWlM O.f. Ent$»d)

Page 8: A microprogrammed diskette control unit.
Page 9: A microprogrammed diskette control unit.

A Microprogrammed Diskette Control Unit

by

DarmawanMajor, Indonesian Navy

Submitted in partial fulfillment of therequirements for the degree of

NASTER OF SCIENCE IN ELECTRICAL ENGINEERING

from the

NAVAL POSTGRADUATE SCHOOLSeptember T q 7A

Page 10: A microprogrammed diskette control unit.

lit

Page 11: A microprogrammed diskette control unit.

DUDLEY KNOX LIBRARY

IMAVAL POSTGRADUATE SCHOOLMONTEREY, CALIFORNIA 93940

ABSTRACT

Considerations in the design of microprogrammed disk controllers are

presented. First, the concept of microprogramming and the characteristics

of diskette storage drives are discussed. The use of disk storage in data

base management systems is also discussed. Finally, the functions, programs

and structure of a microprogrammed disk controller for personnel file man-

agement are presented.

Page 12: A microprogrammed diskette control unit.
Page 13: A microprogrammed diskette control unit.

TABLE OF CONTENTS

I. INTRODUCTION 7

II. MICROPROGRAMMING 8

III. A. HISTORY 8

B. CONCEPT OF MICROPROGRAMMING 10

III. DATA MANAGEMENT SYSTEM 15

A. COMPUTER FILE 15

B. FILE ORGANIZATION AND PROCESSING 16

C. FILE MANAGEMENT 20

IV. DIRECT ACCESS STORAGE DEVICE 21

A. GENERAL 21

B. DISK CONTROL UNIT 22

V. DISK CONTROL UNIT FOR PERSONNEL MANAGEMENT 28

A. PROBLEM IN PERSONNEL MANAGEMENT 28

B. THE DISKETTE 31

C. FUNCTION 33

D. SYSTEM IMPLEMENTATION 34

VI. CONCLUSIONS 41

APPENDIX A: MICROPROGRAM FIELDS A3

APPENDIX B: EXAMPLE MICROPROGRAMS 46

LIST OF REFERENCES 51

INITIAL DISTRIBUTION LIST 52

Page 14: A microprogrammed diskette control unit.
Page 15: A microprogrammed diskette control unit.

LIST OF ILLUSTRATIONS

1. Fig. TI-B-1. Hypothetical Computer Control 12

2. Fig. III-B-1. Simple List — 19

3. Fig. III-B-2. Fully Inverted File — 19

4. Fig. III-B-3. Ring Structure 19

5. Fig. IV-B-1. Control Unit 24

6. Fig. IV-B-2. Data Processing Unit 24

7. Fig. IV-B-3. Seek Data Flow - 25

8. Fig. IV-B-4. Microprogrammed Controller 27

9. Fig. V-A-l. First Sector Data Format 30

10. Fig. V-D-l. Microprogrammed Control Unit 35

Page 16: A microprogrammed diskette control unit.
Page 17: A microprogrammed diskette control unit.

I. INTRODUCTION

The development of microprogramming and its various uses have received

wide international interest. The advantages of systems which use micro-

programming are more and more interesting. Its application is not limited

to the control section of a computer system but also is appropriate for the

control section of a peripheral device control unit. The diskette is a low

cost device, with ease of handling small jobs as well as big jobs. Data

can be written to or read from the diskette at high speed, which is very

useful in record (file) processing. Data management systems with various

kinds of file organisation- and processing are presented to ease the decision

of which system is the most suitable for a typical data base management

operation. Maintenance of a personnel file requires a large amount of data

shuffling operations.

Finally, a simplified design of a microprogrammed diskette controller

together with example microprograms for implementation of the functions in

personnel file management are presented as one example of a real applica-

tion of the microprogrammed peripheral control unit.

Page 18: A microprogrammed diskette control unit.
Page 19: A microprogrammed diskette control unit.

II. MICROPROGRAMMING

A. HISTORY

The original concept of a programmed control stored in nondestructive

read only memory was proposed in 1951 by M. V. Wilkes of Cambridge University

Mathcimtical. Laboratory in a speech prepared for the Manchester University

Computer Conference and entitled, "The Best Way to Design an Automatic Cal-

culating Machine."

"Wilkes and his colleagues were clearly concerned with the ad hoc and

nonsystematic approach that was applied to design the computer control'.' * • '

They sought a means for rearranging the computer components into a system-

atic order, easy to implement and maintain. They were more interested in

simplifying the design task than in any hardware saving that could be

realized

.

The execution of a computer instruction involves a sequence of transfers

of information between registers in the processors; some of these transfers

take place directly and some through an adder or other logical circuit. The

execution of these individual steps can be implemented as a program instead

of as hard wired connections. This program which actually performs only

one machine language instruction is called a microprogram.

The term microprogramming had also been used prior to 1950 to describe

a system in which individual bits in an instruction control direi Icer-

tain gates in the processor. Work by van der Pool at the Lincoln

Laboratory falls into this category. Such a scheme give:; the programmer

a larger repertoire of instruction than he would normally have. The Will

scheme was first implemented in the control system built at the University

of Cambridge and known as EDSAC.

8

Page 20: A microprogrammed diskette control unit.
Page 21: A microprogrammed diskette control unit.

In 1955 Billing and llopmann published a paper in which they

discussed general principles of programming and their practical applica-

(Ref. 7) (Ref. 8)tion. In 1956 and 1957 two papers by Glantz and Mercer

were published in which the stored logic concept was presented as a means

(Ref 9)for altering the microprogram. In 1958 Dlnecn and 2 years later

Kampe^ ve' ' described a simple computer based on the Wilkes model.

The years 1961 to 1964 were the peak years of international interest

in microprogramming, not only in the US and England, but also in Italy,

Japan, Russia, Australia and France. There were two Italian papers: Gerace

described a microprogrammed processor built in Pisa, which was based on the

use of ferrite core read only memory; Graseelli was concerned with the prob-

lem of how to construct a stored logic computer without using a very fast

read-write memory. The Japanese paper by Hagiwara ^ei* **' described the

use of a diode matrix with a diode in each intersection instead of onJy at

selected intersections. Each diode was connected in series with a photo

transistor and could be switched in or out of the circuit by illuminating

or darkening the transistors. Light was allowed to fall, through a perfor-

ated card, on only those transistors that were required to be conducting.

Thus the microprogram in use could be replaced by another one by changing

the perforated card. The Russian paper by Emelyanov Yaroslawsky was a re-

capitulation of the principles of microprogramming and its possibilities.

Australia came in with a description of CIRCUS, a microprogrammed computer

with quite an elaborate instruction set and interrupt scheme. The French

paper was on the evolution of the microprogramming concept. In February

1964 the issue of Datamation contained a number of articles describing

specific stored logic systems designed to extend the computing capability

of a small machine.

Page 22: A microprogrammed diskette control unit.
Page 23: A microprogrammed diskette control unit.

The first microprogrammed application by any major computer manufacturer

was made by IBM. The microprogramming of the IBM 7950 was presented in

several papers at the 1961 ACM Conference.

In 1964 the IBM System 360 series had microprogramming based on a read

only memory. In the following year, a paper appeared describing the micro-

programmed RCA Spectra 70 series model 45.

In 1964 a complete discussion by Tucker of the microprogramming tech-

nique adopted in the design of the IBM system 360 was published. The

advantages of microprogramming may be summarized as:

1. It provides economical means whereby the smaller machines of a

series can have a large instruction set compatible with those of the larger

one.

2. Maintenance aids can be provided. For example, the read only memory

can have a parity bit, and special diagnostic niicroroutines can be provided

for the use of maintenance engineers.

3. Emulation is possible.

4. Flexibility exists to provide new features in the future.

B. CONCEPT OF MICROPROGRAMMING

Microprogramming was originally conceived and proposed as an orderly,

alternative design procedure to the ad hoc procedure applied to conventional

ad hoc hardware. It eventually became an alternative design and implementa-

tion tool for the control section, where hardware control is replaced by

a stored logic section or a microprogram control section stored in a high

speed nondestructive read only memory.

Basically, microprogrammed control consists of two pari;;: control store

and control decode * ' '. The hardware for both is centrally located,

rather than distributed as in (.lie case of conventional control. The control

10

Page 24: A microprogrammed diskette control unit.
Page 25: A microprogrammed diskette control unit.

store may be a read only memory (ROM) or it may be a writeablc control store.

Stored in this memory, either permanently or semipermanently, are the

microprograms. For the most part, the microprograms are dedicated to

the execution of the machine instructions; however, some microprograms

perform other functions.

To illustrate the concept of microprogramming, it is best to look at

the hardware that is to be controlled, and at how the logic can be con-

trolled by a microprogram. Fig. II-B-1 is a hypothetical computer data

flow.

As an example, consider the steps to add the content of a memory loca-

tion to the content of the A Register - to execute the ADD instruction.

Assume that the ADD instruction has been fetched from memory. The first step

is to ask memory to fetch the address operand.

1. Operand address in MD is read out to the B, bus and

2. Stored in M Reg.; also

3. A command is sent to memory to read the content of the addressedlocation.

The second step is to bring the operand from the memory into the central

processor unit.

4. Read the register content out to the B bus.

5. Store from the B bus into the B Register.

The third step is to add the two operands and deposit the result: in the

A Register.

6. Read out the content of the A Register to ft- bus.

7. Read out the content of B Register to B.. bus.

8. Send an add command to the adder.

9. Store the result from the C bus into the A Register.

11

Page 26: A microprogrammed diskette control unit.
Page 27: A microprogrammed diskette control unit.

B1

Bus

Memoi'y

Location

M D

MEMORY

CPU

Clock

Address

J,

ROM

ROMTR

' V V > t \w \ 1T1 1 1 1 1

iiDccodcr i

iiii' 1

Fij',. II-B-I. HypothcLir.nl computer controls

12

Page 28: A microprogrammed diskette control unit.
Page 29: A microprogrammed diskette control unit.

These actions can be grouped into:

1. Read something onto B bus (actions 1, 4 and 7).

2. Read something onto B~ bus (action 6).

3. Command the adder to do a specific function (i.e., ADD) (action 8).

A. Store something into a register (actions 2, 5 and 9).

5. Cause special function (i.e., read from memory) (action 3).

Each of these is decoded from the ROM Instruction Register (ROMIR)

.

Thus the ROMIR will be decoded into five separate fields. Combinations of

several bits in the field permit the selection of a specific number of

sources, destinations, or functions. There is one more important field

which we do not use in the example; that is, Skip (SK) field.

The number of bits in each field depends on how many gates and functions

are to be controlled. The number of gates also depends on how many instruc-

tions the computer has.

Since the B, bus and Store field are used three separate times, there

will have to be a minimum of three microinstruction words. Thus the micro-

program ADD consists of three storable microinstruction words which occupy

location 0101, 0102, 0103 of the ROM. To execute the ADD instruction, it

is only necessary to read the three words in succession into the ROMIR. This

is done by applying the starting address of 0101 (which is derived from the

ADD instruction code) to the ROM address Register (ROMAR) and then permit-

ting the clock to increment the ROMAR three times. After this the ROMAR is

normally forced to address 0000, rather than proceeding to 010*'*.

In one memory cycle, the ROM cycle can cause several microinstructions

to be executed. Timing of the ROM is very important, since its operation

is very closely related to the memory cycle of the computer program memory.

Memory read usually starts at the beginning of the memory cycle, and memory

13

Page 30: A microprogrammed diskette control unit.
Page 31: A microprogrammed diskette control unit.

write in the middle. Thus, data will he available after the read cycle

(when reading from memory) and must be loaded into MD at the end of read

cycle. Memory instructions cannot always be executed in every consecutive

ROM cycle because the microprogram must be delayed at certain points to

synchronize with the memory or I/O cycle.

14

Page 32: A microprogrammed diskette control unit.
Page 33: A microprogrammed diskette control unit.

III. DATA MANAGEMENT SYSTEM

A. COMPUTER FILE

A record is composed of related data items, also termed fields. A col-

lection of records is known as a file. A file is kept for a variety of

purposes. Four main types are usually identified.

1. Master file, a relatively permanent record containing statisticalidentification, and historical information which is used as a source of ref-

erence. Examples of this type of record are: Accounts receivable file,personnel file, and inventory file.

2. Transaction file, also called detail file, is a collection of

records from the processing transaction. Sales invoice file and purchasesfile are examples of this file.

3. A report file, a collection of records extracted from data in the

master file in order to prepare a report. Example: Report file for taxeswithheld, report file for analysis of employee skills.

4. A sort file, is a working file of records to be sequenced. Thismay be the original or a copy of a transaction file, a master file or a re-port file.

Each record in a file is identified by an identification field. This

identification field, used as a basis for sequencing and searching the

file, is frequently called the record key. This key can be numeric such

as a social security number, or alphabetic, such as a name. There can be

more than one key, and a record may therefore be sequenced as one key in

one file and another key in a second file.

Some records may be divided into two parts: a master portion, contain-

ing relatively permanent data and a detailed trailer position. For ex-

ample, an accounts receivable system which keeps track of individual

invoices might have a master record portion containing fairly permanent

customer data such as name, address, etc., plus several trailer records,

each containing an unpaid invoice.

15

Page 34: A microprogrammed diskette control unit.
Page 35: A microprogrammed diskette control unit.

A record, as defined by record layout, may not be identical with the

physical record on the file storage medium. The record layout defines a

logical record, whereas storage is done in terms of physical records. A data

item or field may vary in length, for example, a name. The storage require-

ment will vary because the names vary in length. This leads to two possi-

bilities: fixed field size and variable field size. A variable length field

is specified either by a length subfield at the beginning of the field or

by a special symbol at the end.

The number of items in a record can also be fixed or variable. In the

variable approach, there must be some method of identifying the items that

are present. In the fixed number method all fields are present and if there

is no data, the field is filled with spaces or some other fill character.

The fixed item size and fixed number of items are easier to handle for pro-

gramming and execution but require more storage.

B. FILE ORGANISATION AND PROCESSING

1 . Sequential File Organisation

Sequential file organisation is the most common because it makes

effective use of the least expensive file medium, like magnetic tape, and

because sequential processing at periodic intervals using a batch of trans-

actions is very efficient. In a sequential file the logical order of

records in the file and the physical order of records on the recording

medium are the same. Ordering can be in ascending or descending order by

a key field which may be numeric or alphabetic. Since the record:; arc phys-

ically ordered by the field, there is no storage location identification.

The identification is by the key, not by the fact tint the record is in the

n-th on the storage medium.

16

Page 36: A microprogrammed diskette control unit.
Page 37: A microprogrammed diskette control unit.

The advantage of sequential organisation is fast access per relation-

ship during retrieval. Since the record is ordered sequentially, a binary

search is possible. The data is sampled in the middle, eliminating half

the cases in one comparison; the remaining half is then sampled in its

middle and the process is repeated until a sequential search of a small por-

tion of the file is possible and it is established that the record is or is

,. __ „». (Ref. 3)not present x

The advantage becomes a disadvantage where a file is to be inserted or

deleted. The insertion process requires the already stored record be pushed

apart to make room for a new record, resulting in copying of the entire file,

The converse is true for deleting records, in which case existing records

are pushed together.

2 . Random Organisation

In random data organisation, records are stored and retrieved on

the basis of a predictable relationship between the key of the record and

the direct address of the location where the record is stored. In direct

access processing, a major problem is identifying the address where a rec-

ord to be accessed is stored. The address can be obtained in several dif-

ferent ways.

1. Identification name as address.

2. Address supplied as separate input field.

3. Address derived by calculation on the record key.

4. Address located from an index.

Random organisation allows for rapid access to a record. However it re-

quires extra processing time to obtain the address. If the records are of

a uniform length, individual records can be stored, retrieved and updated

without affecting other records on the storage medium.

17

Page 38: A microprogrammed diskette control unit.
Page 39: A microprogrammed diskette control unit.

3. List Organisation

In the sequential organisation, the next logical record is also the

next physical records. In a list organisation pointers are used to connect

logical records so that the logical organisation is divorced from the physi-

cal organisation on the medium. A poinLer in the record consists of a data

item which gives the address of another record. If the file is on a disk,

the pointer to a record is the disk address of the record. There are three

main types of list organisation: simple list, inverted list and ring.

Fig. 1II-B-1 is an example of a simple list which is stored in a logically

sequential order. They are not, however, in the same physical order.

Records can be placed anywhere within a list by changing the pointer

of the record preceding the new record and inserting a new pointer in the

record just inserted. For example, if a record is to be inserted between

the "DEP" and the "XYZ" record in Fig. III-B-1, the pointer in the DEF rec-

order would be set to the new record address and the new record pointer

would be given the value 100, which points to the XYZ record. The deletion

of a record from a list requires changing the pointer in the preceding rec-

ord to point to the record following the one being deleted.

A fully inverted file is one in which all data items are in an index.

Each data item in the index has a list of pointers to records which use

that characteristic. The records themselves do not have pointers and do

not need to have data fields because these are found in the index (see

Fig. III-B-2). Since the fully inverted file makes every data item avail-

able as a key for information retrieval, it is excellent for data retrieval

especially in cases where data retrieval requirements cannot be specified

in advance. Usually fully inverted files will be excesr.ivel y large. Easy

retrieval, storing and updatJ more difficult because of the

maintenance of a large index.

18

Page 40: A microprogrammed diskette control unit.
Page 41: A microprogrammed diskette control unit.

100

Fig. III-B-1. Simple List

INDEX

key pointer

student 1,3,14 1 Jones

clerical 2,7,10 2 Betty

born '40 1,2 3 Johnson

born '30 3,30 4 Henry

male 1,3,10 etc.

female 2,7

etc.

Fig. III-B-2. Fully Inverted Fil

Fig. III-B-3. Ring Structure

19

Page 42: A microprogrammed diskette control unit.
Page 43: A microprogrammed diskette control unit.

C. FILE MANAGEMENT

The collection of all activities relating to the creation, updating and

use of files is called file management.

Creation of the file is the activity of creating a new file or convert-

ing a file which already exists into a computer file medium. The conversion

includes not only from a non-computer file, but also from one computer system

to another.

Updating a file can be classified as file maintenance. Its activities

include inserting a new record, changing existing records by adding, alter-

ing or deleting data, and deleting records.

Copying of selected records for analysis, report, etc., are examples of

the uses of a file.

20

Page 44: A microprogrammed diskette control unit.
Page 45: A microprogrammed diskette control unit.

IV . DIRECT ACCESS STORACE DEVICES

A. GENERAL

Direct access storage enables record retrieval without sequentially

searching through a file. Thus, when only some of the records of a given

run are active a direct access storage device provides significantly better

throughput than a device that handles each record sequentially. Direct

access storage also enables random inquiries during record processing.

A direct access scheme can also process records sequentially. Therefore,

with direct access storage devices, records can be stored for retrieval

sequentially or randomly.

There are three types of direct access storage devices (DASD's): disk

storage, drum storage and data cell storage. Data cell storage usually is

used for batch, sequential, high volume activity. The drum storage provides

large capacity storage and extremely fast access and the disk storage features

the needs of general data processing applications.

All activities in the direct access storage devices are controlled by

a storage control unit. Such a control unit can perform the following

functions:

1. Interpret and execute commands from the channel attached to the

central processing unit (CPU)

.

2. Provide a path for data between the standard computer interfaceand attached storage device.

3. Translate data appropriately as it is transferred between storagedevice and standard interface.

4. Furnish operational status information to the channel.

5. Check the accuracy of data transfer.

21

Page 46: A microprogrammed diskette control unit.
Page 47: A microprogrammed diskette control unit.

The disk storage device consists of drive mechanism, read and/or write

head, track position mechanism and associated electronics. The medium for

storing the data is the disk itself; it can be disk pack or a diskette.

The disk pack contains a number of disks; these disks are divided into

cylinders that consist of a number of tracks. The beginning of a track is

identified by an index mark, which is usually coincident with the leading

edge of the physical index. A track can be divided into sectors. These

sectors can be soft or hard sectors. Hard sector means that there are physi-

cal holes or notches or physical volume write protect. A soft sector does

not have physical holes or notches or volume write protect; the sector is

identified by an identification address mark. Soft sectoring allows greater

flexibility with the use of variable length records. The track format is

different for different disks and different controllers. Each field on a

track is separated from adjacent fields by a number of bytes containing no

data bits. These areas are referred to as gaps, which also provide time

for control functions.

B. DISK CONTROL UNIT

1. Conventional Disk Control Unit

. (Ref. A) .

A block diagram of a conventional control unit is shown

in Fig. IV-B-1. It consistsof channel interface, controller logic, data

processing unit and device interface. The channel interface is a device

which communicates with the channel and the device interface communicates

with the direct access storage device. The data processing unit converts

the signals from the device (DASD) into data usable by the channel and

vice versa. The controller logic controls the activities of the data pro-

cessing unit, channel interface and device interface.

22

Page 48: A microprogrammed diskette control unit.
Page 49: A microprogrammed diskette control unit.

Information is transferred between channel and control unit one byte

at a time and one bit at a time between attached storage device and control

unit. The basic functions are: seek, rend and write. The seek command

moves the access mechanism to the desired track (cylinder) . The read com-

mand transfers information from the attached direct access storage device

to the channel. The write command transfers data from CPU storage to a speci-

fied storage device. The data processing unit has three major components

(Fig. lV-B-2)(Ref

-4)

.

1. General register (GR) which holds intermediate results.

2. Serializer/Deserializer (SERDES) , which converts a byte of infor-mation from serial to parallel format or vice versa. SERDES also performs:index and address mark detection, clock pulses for writing, cyclic redun-dancy check (CRC) generation and detection.

3. Arithmatic logic unit (ALU) performs arithmetic and logic functions.

In seek, first obtain the contpnt of track address register (TAR)^- 18' l"-B-3j

.

this content is then compared with the seek address (track to find) and the

calculation is made to determine the number of tracks of travel required to

reach the desired track. This quantity is sent to the track step counter

(TSC) and the direction flip flop is set to indicate the direction of travel

.

Now the read /write head can travel to the desired track. Each time the head

passes over a track, the content of the track step counter is decremented,

and no further travel occurs if the content is zero.

Write begins when the R/W head is properly positioned. SERDES will

convert parallel data into serial and modulate these data with the writing

clock to give the proper recording format. Read is almost the same as

write only the function of SERDES is reversed. All other function) are

accomplished by using combinations of the three basic functions.

23

Page 50: A microprogrammed diskette control unit.
Page 51: A microprogrammed diskette control unit.

Channel

Channel

Winterface

ControllerLogic

Data<£rr^| Processing

Unit

<^?

De

vice 1^:;

Interface

DASD

Fig. IV-B-1. Control Unit

ChannelInterface

DeviceInterface

Fig. IV-B-2. Data Processing Unit

24

Page 52: A microprogrammed diskette control unit.
Page 53: A microprogrammed diskette control unit.

Fig. IV-B-3. Seek Data Flow

25

Page 54: A microprogrammed diskette control unit.
Page 55: A microprogrammed diskette control unit.

2 . Microprogrammed Control Unit

The block diagram of the microprogrammed control unit is the same

as the conventional one, the basic difference being only in the structure

of the controller. The controller logic is now replaced by a micropro-

grammed controller. The microprogrammed controller (Fig. IV-B-4) consists

of read only memory (ROM), where each word describes an action or sets up

activities to be performed with the control unit. The configuration of

bits in the ROM word describes which gates are to be used, what position

the gate is in and hence the flow of information within the control unit

(Ref. 4). Control words are brought into the ROM instruction register

(ROMIR), and these words are decoded by the field decoder to form control

and data signals. The ROM address register (ROMAR) points to the word in

ROM which will control the next activity. The address is incremented after

execution of each instruction, or if a microprogram jump is received (foi

example, a JSB) , the JSB signal sets the JSB flip flop. This inhibits the

save register from further copying of ROMAR contents; thus the return

address for the subroutine is saved <Ref '2 >. The signals that come out

from the field decoder control all activites in the control unit.

The microprogrammed controller has advantages compared to the conven-

tional controller. The most important is its flexibility in instruction

set. Since the instruction set is microprogrammed in ROM, any changes in

instruction mean only changes in the ROM. This does not redesign the unit

at all. Microprogramming is a more orderly approach to control design,

therefore errors are fewer and easier to correct. Also the cost is less,

since it requires fewer components and consists of mainly the relatively

inexpensive ROM.

26

Page 56: A microprogrammed diskette control unit.
Page 57: A microprogrammed diskette control unit.

Instruction Reg.

Save Reg

JSB FF

MAPPER

ROMAR

'

ROM

ROMIR

:'

FIELD Decoder

t

to DPU and other control

Fig. IV-B-4. Microprogrammed Controller

27

Page 58: A microprogrammed diskette control unit.
Page 59: A microprogrammed diskette control unit.

V. DISK CONTROL UNIT FOR PERSONNEL MANAGEMENT

A. PROBLEM IN PERSONNEL FILE MANAGEMENT

A record for a personnel file consists of fixed data and data that

changes periodically or non-periodically. In addition, the length of the

data items can be fixed or variable length, depending upon the type of

the data. Each person has some data that are constant for him, such as

his birthday and social security number (serial number) and some data that

can change: number in family, rank, education, etc.

Let us take an example of a personnel file which has several data ele-

ments as follows:

1

.

Name

2. Birthday

3. Serial number

4

.

Rank

5. Year entering service

6. Family: wife and children

7. Education

8. Duty, etc.

For the purpose of a computer file, we must make a decision as to which

data can be implemented with fixed length and which cannot. Obviously ele-

ments 1 to 6 above can be fixed length data, while elements 7 and 8 cannot.

Also, elements 1, 2 and 3 are fixed data. The above elements can be

grouped as follows:

1. Name as field or data item number 1

2. Birthday as field or data item number 2

28

Page 60: A microprogrammed diskette control unit.
Page 61: A microprogrammed diskette control unit.

3. Serial number as field or data item number 3

4. Data as field or data item number 4

Where the first item in the data is rank, second is year entering ser-

vice. Fields number 1, 2 and 3 can be considered as fixed length fields.

Thus, the logical record may look like:

Field name Bytes required

Name 30

Birthday 6

Serial number 6

Data 350

Thus, for this particular case, each record needs about 400 bytes.

If we use a diskette as the storing medium and apply the track format

which will be discussed in the next section, each record will occupy four

sectors. The best data format that will be used depends upon the kind of

file maintenance and uses. Basic file maintenance operations are:

1. Insert new record.

2. Update record.

3. Delete record.

Uses of file might be as follows:

4. Copy data for selected personnel.

5. List names of personnel which have rank of Lieutenant.

The question arises, which are the most frequent, because this will lead

to the decision of which data item should have pointers. Let us consider

that activities such as number 5 are the most frequent. A list organisa-

tion witb two pairs of pointers is the most suitable to carry out all

29

Page 62: A microprogrammed diskette control unit.
Page 63: A microprogrammed diskette control unit.

the activities mentioned above. For flexibility is the future the field

data will be put on the second, third, and fourth sectors. The track data

format for the first sector will contain forward and backward pointers for

the record; forward and backward pointers for birthday; name; birthday and

serial number (Fig. V-A-l).

DATA

AMBP FP BP FP NAME BIRTHDAY SERIAL NUMBER

Fig. V-A-l. First Sector Data Format

30

Page 64: A microprogrammed diskette control unit.
Page 65: A microprogrammed diskette control unit.

B. THE DISKETTE STORAGE DRIVES

1 . Functional Characteristic s

The diskette is a device for recording or storing data, consisting

of a flexible disk permanently enclosed in a protective plastic package.

This disk is used in a diskette storage drive such as the SA 900 (Ref • ->\

which provides storage for 3.1 million bits of data with a data rate of

250 K bits/sec.

The diskette storage device consists of read/write and control elec-

tronics, drive mechanism, read/write head, track positioning mechanism,

and the removable diskette. These components perform the following func-

tions:

1. Interpret and generate control signals

2. Move read/write head to the selected track

3. Read and write data.

2. Electrical Interface

The interface of the diskette drive can be divided into two categories:

signal and power. The signal interface consists of the lines required to

control the diskette storage drive and transfer data to and from the unit.

There are seven input signal lines to the diskette storage drive.

1. Direction select. This interface defines the direction of motion

of the R/W head when the step line is pulsed. The logical one level de-

fines the direction as out, and logical zero level as in.

2. Step. This interface is a control signal which causes the R/W

head to move with the direction of motion defined by the direction select

line.

3. Load head. This interface line is a control signal to an actuator

that allows the disk to be moved into contact with the R/W head.

31

Page 66: A microprogrammed diskette control unit.
Page 67: A microprogrammed diskette control unit.

A logical one level deactivates the head load, and a logical zero activates

the head load actuator.

4. File inoperable reset. This interface line provides a direct reset

to the "file inoperable" latch. File inoperable is reset with a logical

zero level.

5. V/rite gate. This interface controls the writing of data on the

disk.. A logical zero on this line enables the write current source and

current sink, and disables the stepping circuitry.

6. Write data. This interface line provides the data to be written

on the disk.

7. Erase gate. Controls the DC current through the erase element to

provide straddle erase which erases the outside fringe of information while

writing on the disk. A logical zeroturns on the current and logical one

inhibits DC erase current.

There are five output signal lines from the disk storage drive.

1. Track 00. A logical zero signal on this interface line indicates

that the R/W head is positioned at track zero.

2. File inoperable is the output of the data safety circuitry.

3. Index. This interface signal is provided by the disk drive once

each revolution (166.67 ms) to indicate the beginning of the track.

4. Separated data is the interface line over which data is sent from

the diskette.

5. Separated clock provides the using system the clock bits recorded

on the disk.

3 . Data Format

The basic unit of data in the rest of this report will be a byte.

Each byte contains eight binary bits. A single byte can represent one

alphameric character (EBDIC) or ASCII).

32

Page 68: A microprogrammed diskette control unit.
Page 69: A microprogrammed diskette control unit.

The logical data formal is the data format the system and system user

interact with. We will assume for the purpose of this report that the data

format for the diskette is comprised of an index track format, data track

format , alternate track and spare track. There are 73 data tracks available

in the logical format of the diskette. These tracks are numbered 01 to 73.

Each track is logically divided into fixed sectors, and the maximum logical

length of a sector will be 128 characters.

The physical data format is the format the controller circuitry must

interface with. The elements of physical data format are the physical

index hole, index mark, sector address mark, sector header and data sectors.

The index mark and sector address mark are recorded with unique clock

patterns. The purpose is for their detection by the control unit. One

sector of physical data format consists of an identification record, data

field and gaps. The identification record consists of an identification

address mark, track address, zeros, sector address and cyclic redundancy

check (CRC). This CRC and the CRC generated in the SERDES are compared to

detect the error.

C . FUNCTIONS

In personnel file management there are some functions to be performed.

Such functions are:

1. Insert record

2. Update record

3. Delete record

4. Copy record

5. List name with specified data.

To perform all the above functions the controller has a variety of com-

mands or internal functions. These Internal functions are:

33

Page 70: A microprogrammed diskette control unit.
Page 71: A microprogrammed diskette control unit.

1. Read track and sector

2

.

Seek

3. Search sector

4

.

Search field

5. Search field low

6. Write field

7. Write record

8. Read field

9. Read record

10. Write data/delete data.

Read track and sector: Read track and sector and store in Track Address

Register (TAR) and Sector Address Register (SAR)

.

Seek: Move the R/W head to the desired track and sector.

Search field: Search the field which is specified by the start byte, length

of the field (in bytes), sector number and the field itself. Also store

address (track and sector) and pointers (forward and backward) of the cur-

rent record searched.

Search field low: Search for the next lower field.

Write field: Write the data on the disk with specified starting byte, length

of field and sector number.

Write record: Write the whole record.

Read field: Read data from the disk with specified starting byte, length

and sector number. Also store the current address and pointers of the field,

Read record: Read the whole record.

D. SYSTKM IMPLEMENTATION

A block diagram of a microprogrammed diskette controller is shown in

Fig. V-D-l. A single line indicates a transfer of a bit at a i Lme or a

3/4

Page 72: A microprogrammed diskette control unit.
Page 73: A microprogrammed diskette control unit.

01

o<0

o U-l

u U•H 01

> AJo cQ M

(Xo X0) 0)

H •o0) c(0 •H

4J

o>

c w•h 01

• uBJ a. 0) •n aH o rH • rt a)

•H c •rH p. o>U-l •H U-l o J2 iH

^5OOrHo

0) 01

*J 01 to •

•H -U cd exH « u OJ

3 60 a) U)

p.01

0)

01

W 0)

•H 4J

3 M

rtw1

Pi -A§y

Mi

JeJl

w CQ> CO [n< >-> fnto

35

Page 74: A microprogrammed diskette control unit.
Page 75: A microprogrammed diskette control unit.

pulse, while a double line indicates the transfer of data as several bits

in parallel. The data link with the computer is via the eight bit channel

bus (CH bus). The path of data and information inside the controller is

via the internal bus (I-bus). The components of the controller are as

follows

:

IR: Instruction Register. Receives instruction from CPU. Holds instruc-

tion throughout its execution for decoding.

MAPPER: Decodes the instruction word to form an eight bit ROM address.

ROMAR (ROM Address Register): Holds the addressed microinstruction cur-

rently being executed. The address is incremented every clock cycle, or

forced to another value according to the current instruction.

ROM (Read Only Memory): Contains microprogram of the basic instruction

set.

ROMIR (ROM Instruction Register): Contains the microinstruction from the

ROM location addressed by ROMAR.

Field Decoder: Decodes the five fields of the microinstruction in the

ROMIR to form control and data signals.

Skip Logic: Logic necessary for testing the skip condition and changing

the ROM address accordingly.

Save Register and JSB FF: The save register provides a means for return-

ing from a microprogram subroutine. It is controlled by the JSB FF.

DB (Data Buffer): Intermediate register, for temporarily storing data be-

tween CPU and FDR.

ST (Status Register): Contains Ready/Busy bit, Success/Fail bit and ON/

OFF bit.

CR, CR1 : Ceneral purpose eight bit registers.

A (A Register): General purpose register used in conjunction with ALU.

36

Page 76: A microprogrammed diskette control unit.
Page 77: A microprogrammed diskette control unit.

ALU (Arithmatic Logic Unit): Performs arithmetic and logic functions.

S2: A two bit register used to monitor or detect bits, 6 and 7 of a sec-

tor address.

PR (Pointer Register): Consists of four 16 bit registers; it receives

pointers while reading on each record. Its content can be loaded into the

I bus (eight bits each) to indicate track and sector. (FPU, FP12, BP11,

BP12, FP21, FP22, BP21, BP22)

.

SBC, LBC (Starting and Length Byte counters): THeir contents decrease each

time the byte comes from SERDES.

TSC (Track Step Counter): Its content decreases every time a pulse arrives

from the step circuit.

SC (Step Circuit): Produces necesary pulse forms to move R/W head.

DFF (Direction FF) : Content depends on the sign of A.

IX FF: Index FF.

TAR, SAR (Track and Sector Address Registers) : Store the track and sector

of the current reading.

WID, WOD, WAM (Wait for ID, Zero and AM address/mark FF's): Set by ID,

zero and AM detect, reset by controller.

FDR (File Data Register) : Temporarily store the data that has been read

from the disk.

SERDES, ID-AM DET, WRITE CL: Logic that performs the functions mentioned

in the last chapter.

HL (Head Load gate): Controls the head load actuator.,

The write gate is inside the SERDES.

The five fields in the field decoder (Appendix A) are as follows: I-bus:

controls the internal bus for routing the content of specified registers.

S-R field: Sot Reset, cause a pulse to be transferred to the appropriate

37

Page 78: A microprogrammed diskette control unit.
Page 79: A microprogrammed diskette control unit.

register or flip flop. F field: Function field, handles data manipulation

and changes the normal addressing. Store field: Stores the content of the

I-hus into the specified register or flip flop. Skip field: Causes pro-

gram to skip next instruction if condition specified is met. A 24 hit

word is needed to accommodate the five fields already mentioned, but no work

was done in coding the entire orders into specific bit patterns.

The microprograms in the ROM are listed in Appendix B.

An example use of the internal functions for implementing the file oper-

ations can be shown as follows: To delete a record, then the program would

be as follows:

DELETE RECORD (NAME)

CALL SEARCH FIELD (SB, LB, S2, NAME)

CR BP11

CALL SEEK (CR)

SB

LB 2

CALL WRITE FIELD (SB, LB, BP1)

CR FPU

CALL SEEK (CR)

CR FP12

CALL SEARCH SECTOR (CR)

SB 2

LB 2

CALL WRITE FIELD (SB, LB, FP1)

CR FP21

CALL SEEK (CR)

CR BP22

38

Page 80: A microprogrammed diskette control unit.
Page 81: A microprogrammed diskette control unit.

CALL SEARCH SECTOR (CR)

SB 4

LB 2

CALL WRITE FIELD (SB, LB, BP2)

CR FP21

CALL SEEK (CR)

CR FP22

CALL SEARCH SECTOR (CR)

SB 6

LB 2

CALL WRITE (SB, LB, FP2)

CR T

CALL SEEK (CR)

CR S

CALL SEARCH SECTOR (CR)

WRITE FIELD DATA

END

To update a record with fixed length:

UPDATE RECORD (NAME)

CALL SEARCH FIELD (SB, LB, S2, NAME)

CALL WRITE DATA (SB, LB, S2, CATA)

END

The functions mentioned in Section B of this chapter only deal with

fixed-length data. The controller unit can also be used for updating vari-

able-length data. In this case a large eight bit parallel shift register

is needed. This shift register is for temporarily storing the data which

is located after the data which will be updated. After the updated data

39

Page 82: A microprogrammed diskette control unit.
Page 83: A microprogrammed diskette control unit.

is written on the disk the temporarily stored data can be written back to

the disk. With this capability the control unit is not only appropriate

for personnel file management but also for such problems as inventory of

equipment in a warehouse or store.

'0

Page 84: A microprogrammed diskette control unit.
Page 85: A microprogrammed diskette control unit.

VI. CONCLUSIONS

In a conventional controller, all activities are carried out by main

computer memory, CPU, control unit, channel and the device drive (disk

drive). In the case of personnel file management operation, there are

large amounts of data shuffling operations; i.e, transferring data from

the disk to the main memory, modifying and transferring the data back to

the disk again. This repetitive work takes a lot of CPU time. If the

microprogrammed controller is used instead of a conventional one, this

repetitive work is carried out by the controller. This can save the CPU

from doing the busy repetitive work, and make that time available for other

operations.

In a conventional controller, the cost of the total system depends on

the cost of the basic logic blocks, on the complexity of the cycle, and

the number of cycles. Increasing the machine capability by increasing

the complexity of the system will increase the total amount of hardware,

thus increasing the cost. This increasing of the cost is proportional to

the increase of the machine's capability.

The cost of a microprogrammed controller is determined by the cost of

the ROM array, address register and decoder, ROM instruction register, field

decoder and sense amplifiers. Increasing the machine capability does not

mean increasing all the above components. The only possible change would

be in the ROM address register (need more bits) and the associated decoding

system.

This control unit does not have to be attached to the large central

computer; it can be attached to a mini- or microcomputer. Thus the system

will be cheap, easy to expand, and flexible.

41

Page 86: A microprogrammed diskette control unit.
Page 87: A microprogrammed diskette control unit.

In this report, principles of microprogramming and data management

systems were presented. Next the conventional and microprogrammed control

units were presented and compared. Personnel file management is an example

of a computer file management activity which requires a large amount of

data shuffling operations. The simplified design of a microprogrammed

diskette controller and a microprogram for personnel file operation were

developed. The programs for implementation of some of the personnel file

maintenance activities demonstrate the flexibility of a microprogrammed

system. These and other advantages of the microprogrammed controller lead

to the conclusion that microprogrammed controller applied to a direct

access peripheral device for data base management would be an effective

solution to some processing jobs.

42

Page 88: A microprogrammed diskette control unit.
Page 89: A microprogrammed diskette control unit.

APPENDIX A

MICROPROGRAM FIELDS

I - BUS

TAR track address register

SAR Sector address register

A A register

TSC track step counter

DB data buffer

FDR file data register

SBC start byte counter

LBC length byte counter

WID wait for ID FF

WOD wait for zero FF

WAM wait for AM FF

CR constant register

CR1 constant register

CH channel

CPU CPU data register

SR sign bit of A Reg. (bit 7)

S2 bits 6 and 7 register

SARZ bits 6 and 7 of SAR

BP1 bits 0-7 of backward pointer (BP) register

BP2 bits 8-15 of BP

PP1 bits 0-7 of forward pointer (FP) register

43

Page 90: A microprogrammed diskette control unit.
Page 91: A microprogrammed diskette control unit.

FP2 bits 8-15 of FP

all zeros on I bus

1 all ones on I bus

S_ - R FIELD

SBC set start byte counter

LBC set length byte counter

HL head load control gate

WG write gate control

WID reset WID FF

WOD reset WOD FF

WAM reset WAM FF

PR set PR

SC set step counter

FUNCTION FIELD

SUB content of I bus subtracted from A Reg. and store the result in A Reg.

JMP Uses the 'STORE' and 'SKIP' field contents as the next value for ROMAR

JSB same as JMP, with return address transferred to save register

RPT next instruction to be repeated until conditions in skip field arc met

RSB next instruction address is that in save register

STORE FIELD

A A reg.

TSC track step counter

TAR track address reg.

SAR sector address re,",.

44

Page 92: A microprogrammed diskette control unit.
Page 93: A microprogrammed diskette control unit.

S2 bits 6 and 7 reg.

DF direction FF

CR constant register

ST1 status register bit 1

DB data buffer

SBC start byte counter

LBC length byte counter

SKIP FIELD

AZR skip next instruction if A~0

NEG skip next instruction if A

ODD skip next instruction if A=l

UNC skip next instruction unconditionally

EOP reset busy bit in Status Register

45

Page 94: A microprogrammed diskette control unit.
Page 95: A microprogrammed diskette control unit.

• <ucu X)XIO iB

4-1

4J n)

rt cu

0) a.a cu

cu M• u

4J 4-1 4-1

O 4-1 o cu

0J cu cu CO4-) CO 4_> •

01 CU #* CU

-o

1X)

o 3CO

c•H4J

M H ^o

3O

>> o s^ 4-> u.O 4-1 rO rO

• C 3cu 4-1 c 4-> cu CO

o 0) cu cu Xo CO rC CO 4J gE 4-1 o

00 rH rH XI UH 4-> -H X> •H c "4-1

S3 cd 4-1 C 4-) (0

w cu c cd C c*r* D. 3 3 CO V4S a) CO 3 9O n 4-) 3 4J J3 4->

u •H .o •H CU4-1 m M Cd M >M

CU & &co O O «\

•* 4-1 »« 4-1 rJ#> Pm pM C PC

00 J pm •rH [H •HCU

*5 a H a Pi 4Jcc CO m Q o Q cdo 4-i 13 Pm s Pi >o cd •r-l

Pi > 4-1 CU 4-1 0) 4->

Pm •H 0) >-i <U >i OO 4-1 CO o CO o COPi CJ cu 4J CU 4-1 CUCJ cd u CO d CO X3n£wJa. Pm p- o Pu Q Pm Pm2u (-< o a o P O O*£ « 53 o S3 O S3 S3X 00w

.. wP3 pi Pi Pi

%Pmo o < <S < OX H S3 H CO z

1-1 00

gpjPmPi • H p- H Pm Pm co-< o Pm o Ph o O co

ss Pi S3 Pi S3 S3 PinPi

Q Pi a PmPi J M O p O J

1 n £5 S3 •-^ S3 X00

PioH 00CJ :=> Ph Pi- Pi Q H PMw P3 o rn a O Q oCO 1M s-. 3 Pi lz Pm S3

g< o rH CM cn «tf cnX o o O o O ocj rH F-l F-l rH rH rH

2 '/.

o o o o o OH 10

0)p. 00

HPi

•a< §

60CU

Pi

c•H

PiOcu

rJ

O4->

CO

pJwCO

orHrHo

wCO

00H§CU

C•H4->

3orJ

,03CO

o4-)

P<e3

rHO

4JrH3to

CU

U

cu

4J

cu

uo

XI

Bor4MH

CJ

cd

H4J

rQ3CO

Pia

c•H

pdCO

l»H

o

a00

cu

r4

O4JCO

cu

XIoe

cd

cu

a.cu

u4-1

cu

CO

XIccd

CJCOH

c•H

CU

Ho4->

CO

o

ou<u

N

CO

•H

a;CO

CO

cu

09

uCOHCU

o

cu

c•rl

4J

3o

3CO

sor4mey>

34J

CU

u

PM Pm Pm Pm Pi Pmo O O O Z-Z OS3

^-^

S3 S3 S3 < S3

Pm< CO <d Pm CO < O

H a H S3

g" ^_^

Pm CQ PQ Pm H Pm WO CO P O Pm O COS3 >-) CO S3 Pi S3 Pi

Pm Pm Pm Pm Pm PmO O O O O U OS3 S3 S3

w

S3 S3 CO S3

P5PmO S3 pe- <!

PmO

U S3 H co S3

r-(

o

46

Page 96: A microprogrammed diskette control unit.
Page 97: A microprogrammed diskette control unit.

ex0)4Jw

. 4-1

<OJ

o c4-1

c ex•H

.XCD CO

Mo *4J <gg

ec •H01x (1)

4-1 4-1 uc • oo CO T3 4J •

fj H C CO 0)B Q TO c5 Pi ^ 1-1

ua)

to

3< 4-1

3c X e O•H o u4J M M X3 <4-l 3O o • • CO

P 4-1 Pi o PJXI c < >-i CO e3 •H CO 01 w Oco

Pi 4-1

N CO<*-l

o o O co o4-1

0)

CO

u•H 4J c

CX M 4-) < (X 3e o X e 4J

3 4-> 3 >4-l 3 <ui-> co CO •H •r-i M

pH Pi Pi PiUi o CM Om Z < z

-/-*.

- -^\

-

w CO W Pi£ H <: < CO oo §

wCO

z(fl"" x^' - - v-' "-

# pa Ch pq Pi P3( CO o ED

sCO

S3 -> z CO Pi

r

pi CX, PU P-. Pi PiI o o o o oM z z z z Z

Ifl

DH p-t Pi Pi Pii o Pi < o oH

oio

z u CO z z

H r-. 00 CTi o i-H

CJ .—

1

r-i --H CM CMu: >H >H r-t iH rHw o o o o O

nBO 35tl oM Ci w—

iCO~ UJ

*- CO CO

opaCO

o4-1

3

Piu0)

uo

s

Pi

cm

opaeJ

o4-1

C

Piu0)

?1

o

COH

01

PS

3OUX3CO

CX

3

XIoi4-1

tfl

<u

CX01

u4-1

OJ

CO

J«OJ4JCO

>•rl4-J

UCO

4-1

0)CO

oOJ4-1

OJ

TJ

I

X

0)

en

ex0)

OJ

c

ex•HA!CO

PiPM

01

DO

4J <Cc3

CO

r--

PnPi

CO

01

3H0)

O

•H

ex0)

4-)

X0)

3

ex•H.XCO

4-1

0)

CO

s

o

TJ3

ou0)

CO N

U CO

4-1

0) mCO -H

*33

o

OJ

CO N

C_> CO

PQ -H

4J0) CMco «H

mCM cm CM

r-H

oCM CM

coCM

Pi

s

aoCI

a3

ex0)

X0)

3

ex•rl

CO

pqn

aOJ

X

to

3X

3HPin

OJ

o

ONCM

0)

c•H4J

3OHX3CO

BoM4-1

3U34J

0)

JS

CO

>

CJ

CO

0)

C) c_> Pi Q Pi Pi C5 Pipq pq o Q CM M z oCO .-)

CO

z O < < » z

Pi pi H Pi PiO o

§o <; < < pq oz z z Q z

^Pi Pi pq H H Pi P-, Pi pqo o CO Pi Pi o O O COz z >n Pi Pi z z z Pi

- - - - pipi

- - -

Pi pi Pi pi u CJ Pio o O hJ o pq pq o -Jz z z PC z CO iJ z 35

Pj Pi§

U c_> Pi Pipi pi o o pq pq Q Oc_> u z y. I—* CO J Pi Z

oCO

47

Page 98: A microprogrammed diskette control unit.
Page 99: A microprogrammed diskette control unit.

t3Pmcj

01

Mo4-1

CO

ca)

x)CCO

33CJ

c•H

PQQCJ

uo

Pm

PmM tD« PhLO CJ

- -

Wu. Ph Pho o PiH 53 QCO 3- - v—

'

,

u Ph PhssED

oss l

Ph

- - -

Ph PhP- o O

1 55 ISCO

„. .. _CO 33:=> upq » Ph

i pq o• M Q S3

•J

c - •- •-

urH CM

q co COa i-( rH:.-. O oH Cf,

1* CO

c_ U En-' XI oL- x> 2r.< < J

PQQ

C•H

C0)

x;uXJ

8

33cj

o4-J

c

E=>

Phcj

0)

Uo

co

CO

o4-1

c•H

pqQ0)

Pi

O

SOCO

pqQO4->

a

•aact!

33c_>

a•H

PhCJ

<D

rH

o

CJpqJo4-1

C

PQQ0)

Pi

O

PQno

c

a

X)ccd

S3CJ

o»->

C

PmCJ

CD

Pi

O4-1

CO

CNCO

o4J

pqo0)

rH

o

COH9

crH4-1

oM

CO

o4->

e

o4-1

P)

CNCO

a)

j-i

o4-1

CO

g14-1

3

sCO

X)cCt)

CO

PI

•H

Q)

PtO4-1

CO

CN

CO

P,

I•n

0)

X)oS

cd

CO

Cm(1)

(-1

4-1

OJ

CO

rJw0)4-1

cd

>•rl

4-J

acfl

COCO CO

o

Pm PmO COCO rJ

Ho

CMPhCO

C-l

St

COPmCOJ

COo-

sf<t

o0J4Ja)

XI

jq

4J

<u

CO

•rl

4J

c3

cd

IS

x)Ccd

co

0)

u

in vosi- st

o o

PhPh

co

<

a)

uo

X)Ccd

CJPQco

0)

CO

P4 P. O P4 PH Ph 0^ Pi P-. a Dio o Pm o o O O ts] O n CNz

CJ

s

CJ

IS S3

CO

B <

CN

S3

Pm

o <:

PQ PQ pq PQ PQ CM H < < Pm O < <!Q CO O rJ Q CO CO

1-4

S3

Pm Pm Pm Pm . Pm Pm PQ Pm pq Pm H H Pmo O O O O O CO O P 8

Pm Pm Oz !S Z Z rS 53 ^ rS CO Pm Pm 5S

PmPm

Ph Pm Pm Pm Pm Pm Pm Pm Pm Pm

1O O O O O O O O O o rJ CJ53 Z Z z Z rS 3 Z S3 S3 i3 CS PQ

CO

SC 33 ECCJ CJ CJn A »» Pm CN Pm Pm !^I CJ

t~J pq p pq S=> PQ O CM9

O o gw

Pm Q Pm O Pm Q z CO J3 rS CO

U CJ CJ CO

st

48

Page 100: A microprogrammed diskette control unit.
Page 101: A microprogrammed diskette control unit.

ouCDN

X<D

c

(XHX.CO

uuo

CCO

uwJ

T3Cooc3

(XCD

Xac

o.

CO

•acc8

4-> O

aPh

CD

ho

Ph><

o4J

aE3

QOi->

c•H

C0)

X.

CCO

5CCJ

C•H

!=>

Phocu

o

§

4-1

CJ

CO

MuX>3CO

c0)

T3CCO

CO

3X

O4-1

c

eqQCD

l-l

O

mPhCO.-J

p.

I3

Phto

P.

g3

60CD

CCO

•H

CM

a.CD

wCO

4J

XCD

c

CO

6ou

O

CD

N

CJ

CO

>-i

uX3CO

ouCD

N

vO OPh 4-1

CO CJ -H

C•H

R.E3

PhPQ

CD

UO4JCO

CXa)

XCD

C

Pi-

th:

CO

Bo

Ct-4

oVhCD

N

4JCJ

CO

U4-1

rQ3CO

cOac3

P.CD

XCD

a

CO

Picj

Ph

cu

no

z

63

wwCO

cu

C

3o

3CO

Pue3

PiUo4-1

C•H

CNI

P-l

CD

5-1

O4-1

CO

uo4-t

oCD

CO

o

CO

<D

CO

CD

C

3Oux>3CO

E3

PhCO-J

rxE3

CO

CO

PhOz

Pitsj

owz

p-i

oZ

Pi

<

to <t< < CQ < Ph u*

Cu Q CO COP hJ kJ

- - v-' - - *-~^

Php. Ph Ph PL. CQ Ph

1oZ OZ ^oz

:=>

C/3 s CO

vOPhCOJ

Ph PhOZ

CJZ£3

piCJ

Phoz

Pioz

z*

pjwCO

PiCJ

PJCOPJCO

PhCOkJ

S—

'

^ - ^^ ^

8pqCO•-3

Phoz

pqCO

Ph

ft CJ Ph O, Ph Ph Ph Ph Ph Ph Ph Ph Ph Ph Ph Ph Ph Ph1 C3 o o O O o o o o O o o O o o O CJCO J z 2; Z Z z z z z z z z z z z z Z

u XC3 CJpq CJ Pi Ph •* Ph Ph Ph .H H Ph Ph CN Ph P<

i m Q o 3 CQ o O O Ph Ph o o Ph O OH j Ph z Ph

CJO z z o Z Ph o Ph z z W z z

oini-HO

CN COin

mPhCO-J

m m 00 OSm in

o o

o CN ro

o o

49

Page 102: A microprogrammed diskette control unit.
Page 103: A microprogrammed diskette control unit.

ou

N

Coo

oJw

(0•H

<"O

IH e •

' H oo •a

O. c rH01 3 0)4-> •Hw a.

at

MM

4-1 4-1 oX w c0) ^-^

c 4J. ^-s

o. 01 60 XIn •H c 0) rH4-1 r* • • P- 0)

c tn a m H •Hu

^•H ww

COW

to

3M-l

f < to CO CO 4-> to

id 0) •

u e M OJ • 0) 4-1 >N P-• o Pi c PJ 3 to \^ O< M

UMu

4Ju •H

4J o HP>J

O o 3 o 3 4-) CO •*

4-> o 4-1 O 4J O • 3£c u c 1-4 3 U m •H a

•H 0) •H • 40 H 43 Pi- •HN h 3 3 co o <u

rH rH 55 V) CM in j r-l a) 4-)

Pm 4-> Cm PM 0) 3 rt

Pm o Pm O o Pm O o N o >« 4J 4J 4J 4-1 •H

0) 1-1 0) 0) 0) a) 4-1

1-1 4-1 1- P- CX l-i a a P- u ao XJ o e g O E E o o to4-1 3 4-> 3 3 4-> 3 3 4J u 0)

to w to •r~1 n W •r-l 1~J w tn T3

r..

H P- a; CJ Pm CJ Pm p-

M o N 53 O 53 O Otfl S3 < 5=> 53 33 53 W

- - -y^N s~\ r**N

- -

:^

P6 •-N P*! W en rH rH PmO < < Pi w PC CO Pi- H H oH u Pm w c_> w CO CO CO 53CO 53 CO CO r-l

- ~ - » *>

t N-^ - ^_x Nv_^ - - -

1 PM CQ PM P- PQ Cm pq Ph P- Pm PMSB o 33 O

^CO O CO

SO o O

3J S3 CO S3 •-> 53 >-> 53 53 53u.

P4 p- p- P- P- P- Pm Pm Pm Pm P-1 o o O O O O o O O O rJCO 53 S3 53 53 53 53 53 53 53 53 W

DO&pq rH rH Hi P- CM Pm Pm P-

i Pu o Pi O o Pm O O O rH On to fi- 53 53 Pm 53 53 53

V? in ve r^ 00 On O rH f» ro <*•

vO \D vO vD vf> vO r^ r^- r-~ r^- r^rH rH rH rH rH rH rH rH rH rH rHo O O o O O o O o O o

U vO"E*— to Pi- Pm

•4J -J 53 P

50

Page 104: A microprogrammed diskette control unit.
Page 105: A microprogrammed diskette control unit.

LIST OF REFERENCES

1. Husson, Samir S., Microprogramming Principles and Practices , PrenticeHall, Inc., Englewood Cliff, N.J., 1970.

2. Hewlett Packard Co., Microprogramming Guide for Model 2100 Computer,

November 1971.

3. George G. Dodd , "Elements of Data Management Systems," Computing Surveys,

Vol. I, No. 2, July 1969.

4. Ivan Flores, Peripheral Devices , Prentice Hall, Inc., Englewood Cliff,N.J., 1973.

5. Shugart Associates, SA 900/901 Diskette Storage Drive .

6. Billing, II. , and Hopmann, W. , "Mikropgoramm Steuerwerk," ElektronischeRundshau, V9, 1955, p. 349.

7. Glantz, H.T., "A Note on Microprogramming, " JACM, 3, 1956, p. 77.

G. Mercer, R.J., "Microprogramming," JACM , 4, 1957, p. 157.

9. Dineen, G.P., and others, "The Logical Design of CG24," Proc. EJCC,

December 1958, p. 91.

10. Kampe, T.W., "The design of a General Purpose Microprogram ControlledComputer with Elementary Structure," IRE Trans. EC-9 , 1960, p. 208.

11. Gerace, G.B., "Microprogram Control for Computing System," IRE Trans .

EC-12 , 1963, p. 733.

12. Hagiware, II. and others, "The KT Pilot Computer-A MicroprogrammedComputer with a Photo Transistor Fixed Memory," Proc. IFIP Congress

62, 1963, p. 684.

13. van der Poel, W.L. , "Zebra, a Simple Binary Computer, IPPICIP, Unosco ,

1959 London: Butterworth, 1960, p. 361.

51

Page 106: A microprogrammed diskette control unit.
Page 107: A microprogrammed diskette control unit.

INITIAL DISTRIBUTION LIST

No. Copies1. Defense Documentation Center 2

Cameron StationAlexandria, Virginia 22314

2. Library, Code 0212 2

Naval Postgraduate SchoolMonterey, California 93940

3. Department Chairman, Code 52 1

Department of Electrical EngineeringNaval Postgraduate SchoolMonterey, California 93940

4. Asst. Prof. V. M. Powers, Code 52Pw 1

Department of Electrical EngineeringNaval Postgraduate SchoolMonterey, California 93940

5

.

MAJ Darmawan 1

L'SDLG Defense Liaison Group DjakartaAPO San Francisco 93956

52

Page 108: A microprogrammed diskette control unit.
Page 109: A microprogrammed diskette control unit.

•J7SEP 797 7 1

25024

15308;ThesisD1616 Da rmawan

c.l A microprogrammeddiskette control unit

;

11 SEP 79 2502 U

Thesi s

D1616153082

Da rmawan

A microDroqrammeddiskette control unit.

Page 110: A microprogrammed diskette control unit.

thosD1616

A microprogrammed diskette control unit.

3 2768 001 02307DUDLEY KNOX LIBRARY