317
MacVEE Control of VME Electronic Equipment B.G. T A Y L O R CERN European Organizationfor Nuclear Research, 1211 Geneva 23, Switzerland
MacVEE provides direct memory-mapped access from the Apple Macintosh computer family to multi-crate VMEbus and CAMAC systems. This marriage of a mass-produced personal computer with versatile professional instrumentation systems allows the extensive range of Macintosh tools and resident programming languages to be applied to a wide variety of tasks in development laboratories and experiment control rooms.
Keywords: CAMAC, Macintosh, MacVEE, Personal Computer, VMEbus.
Dr. Taylor is a senior engineer with CERN, the European Organization for Nuclear Research at Geneva, Switzerland. He has contributed to the development of modern physics data acquisition systems, and pioneered the introduction of general-purpose microcomputers for the control and monitoring of large high-energy physics experiments. In recent years he has been concerned with the application of personal computers to CAMAC and VMEbus laboratory instrumentation systems. Dr Taylor received a PhD from the University of Edinburgh in 1968. He is an lEE Fellow.
North-Holland Computer Standards & Interfaces 6 (1987) 317-327
1. Introduction
Since Henry Ford, the gulf between the "bargains" available in mass-produced products and the cost of things that cannot be produced in volume has grown steadily. Since the introduction of digital integrated circuits, cost-effective systems design has been based on a philosophy of "adapting bargain components to specific needs" [1]. Now that popular third-generation personal computers are manufactured by mass-production methods in highly automated plant, they have become one of the "bargain components" of today's electronic system designer. By adapting these inexpensive, but powerful, machines to the computing tasks we meet in professional VMEbus and CAMAC environments, we can realise major savings in numerous control, monitoring, data acquisition and equipment development applications. Mass-produced hardware is only one aspect of the personal computer "bargain component". It is widely recognised that the development of efficient, reliable and well-documented software requires an investment which may exceed that of the hardware. When this investment is spread over the vast user-base of a popular personal computer, the software can be made available at a very attractive cost per system, and it receives the large exposure necessary for thorough debugging. A resident Fortran-77 system for the Macintosh, for example, comprises a full-screen editor, compiler, resource compiler, source-level debugger, subroutine library, suite of program examples, user's guide, reference manuals and microdisk media. It is available for $169, which is less than the average cost of writing and testing a mere 50 lines of code for a custom compiler. This paper describes how the Apple Macintosh or Macintosh Plus can be adapted to perform as a versatile and cost-effective controller for multiple VMEbus and CAMAC crates. The system is called MacVEE (Microcomputer Applied to the Control of VME Electronic Equipment). MacVEE systems
0920-5489/87/$3.50 © 1987, Elsevier Science Publishers B.V. (North-Holland)
318
B.G. Taylor / MacVEE Control of VME Electronic Equipment
are today used quite extensively at CERN and other organizations, and a few application examples are described.
M68000 microprocessor clocked at 7.8336 MHz. The microprocessor has access to a ROM of 64 Kbytes in Macintosh (128 Kbytes in Macintosh Plus) containing a kernel of the operating system and a user interface toolbox with over 400 entry points. The microprocessor can write to RAM of various capacities, and the RAM can be read from by the microprocessor, by the video shift register, by an analog signal generator, and by a sound pulse-width modulation counter. In the current "Closed Macintosh" architec-
2. M a c P l i n t h
The technical aspects of MacVEE are detailed elsewhere [2], and will be outlined here only briefly. Fig. 1 shows a block diagram of the present Macintosh architecture, which is based on an
DATA CTL ADDR
I EXTDISKPORT~
I
:
1.
I
MICRODISKI--I T I CTLR I:iI:] UNIT l - - l I .... I
i ': :: SPD
(P1ACPLUSONLY) ImI~III. I SCSIPORTH ~10-1 I: I
r I
q
~
Y
I.l
i
n
1 ~'~
I
eLK
I
z8 KBYT[
TESIII1 I
Fig.1. MacintoshPlusblockdiagram.
! M68000
I
512RAM KBYTESI I MBYTE/ 4 MBYTES
I R
B.G. Taylor / MacVEE Control of VME Electronic Equipment
Fig. 2. Macintosh Plus equipped with MacPlinth.
tures, only a few program-controlled I / O channels are provided for the connection of external devices. Macintosh Plus has an 8-bit parallel SCSI port, while all machines have two serial ports. There are several candidates for these ports, such as hard disks, imagewriter or laserwriter printers, a modem, a digitizer, or the Appletalk local area network. To implement a high-performance interface to VME and CAMAC, MacVEE makes direct connection to the internal bus of the microcomputer, which allows selected VME and CAMAC crates simply to appear within the Macintosh M68000 address space. This adaptation of the Macintosh is achieved by an electronics plinth called MacPlinth, which attaches to the computer and becomes an integral part of it (see Fig. 2). A block diagram of MacPlinth is shown in Fig. 3. MacPlinth incorporates a memory mapper which allows it to access an external address space exceeding 100 Mbytes, in up to 8 VME crates or up to 7 VME crates and up to 8 CAMAC crates. The mapping is controlled by a Schottky "emmental" PROM, which stores a 4-bit descriptor for each of the 256 64 Kbyte segments of the 16 Mbyte Macintosh address space. The emmental PROM maps the free address spaces, and those occupied by the incomplete address decoding of Macintosh internal hardware
319
facilities, to VMEbus "cheese", while assigning "holes" to the addresses actually referenced by the system software. Any group of segments can be mapped as common area, and code in such an area has access to resources in any of the VMEbus crates. A typical memory map is shown in Fig. 4. MacPlinth has a control register at address $14, the unused most-significant byte of the zero-divide exception vector and, as secondary features, it generates a composite video signal for external remote video monitors and accommodates up to 128 Kbytes of EPROM for permanent library enhancements. It provides a single-level abort, internal/external reset switches, a watchdog timer and a LED array which indicates the VME crates being accessed. In future " O p e n Macintosh" architectures, the functions of MacPlinth will be implemented by an interface card which can be accommodated in an I / O slot. This card will be compatible with existing MacVEE VMEbus master modules and MacCC CAMAC crate controllers, and will allow up to 128 Mbytes of external system space to be accessed directly. As with the present systems implemented by adaptation of the "Closed Macs", VME-resident software will have direct access to all the resources of the personal computers, such as the bit-mapped graphics display, ROM toolbox and disk drives.
3. MacVEE VMEbus master
VME crate access in MacVEE systems is provided by a VMEbus master module (Fig. 5) incorporating an ROR requester, SGL arbiter, and global crate data-transfer time-out. The module can be one of several masters in a VME multiprocessor configuration, and it can perform as a system controller. A 3-level interrupt handler is incorporated, which operates in conjunction with logic on MacPlinth. Macintosh internal interrupt codes are decoded, merged with external interrupt sources, and re-encoded before application to the M68000. During a Macintosh lACK bus cycle, MacPlinth decodes the interrupt level being acknowledged from the LS bits of the address bus. If the level is one which has been assigned to VMEbus UV interrupters, the assertion of VPA* by the Mac interrupt circuitry is inhibited, and a vector num-
B.G. Taylor / MacVEE Control of VME Electronic Equipment
320
ADDR
DATA CTL MACPLINTH BUS TRANSCEIVERS
DIFFERENTIAL
CONTL REG MAP DISPLAY
PLINTHEPROM 32-128 KBYTES INT LEVEL DECODE EXT VIDEO
ABORT RST
T
I RST I
~"
T
CONTL MERGER
INTERRUPT MERGER
.........
BERR,DTACK, AS
ROE
t M68000
I ROMS MAC
I
MACINTOSH PLUS Fig. 3. MacPlinth block diagram.
ber is fetched from the VME interrupter via the MacVEE VMEbus master module in the appropriate crate. All Macintosh internal interrupts are auto-vectored, and the RAM locations $100-$3FF, which would normally be allocated to user interrupt vectors, are employed by Macintosh system software for global variables. On MacPlinth, the vector numbers acquired from VME are masked and
offset such that the M68000 fetches the user vectors from the range $CO-$FF, which is not referenced by Macintosh software.
4. Mac-CC
Mac-CC (see Fig. 6) is a memory-mapped dedicated CAMAC crate controller with address as-
B.G. Taylor / Macl/EE Control of I/ME Electronic Equipment
321
MBcVEEYMEbus MASTERSTATUS REGISTERS 1FFFFF
5FFFFF
3FFFFF
7FFFFF
BFFFFF
DFFFFF~ FFFFFF .I
iii!i!i!!!!!!~i!iiii!l
iiiiiiiiiiiiii i
;CC READ $CC WRT tWM-DISKIIIIIIIIIIIIIIIIUllII
iiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiHH~!!!!Hi!i!iiiiiiiiiiiiiiii!ii
::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::!!!Hi:::;:;:;;;~;~:l~.:::::::::::::::::::1 ...................
::::::::::::::::::::::
...........................................
iiiiiiiiiiiii!! ; !
:iiiiiiiiiiiiiiiiiiiii iiiiiiii~ii!iiiiiiiiii iiiiiiiiiiiiiiiiiiiiiil:: iiiiiii!iiiiiiiiiill
iiiiiiiiiiiiiii:::::::j
iii!iiii~ii~iiii iiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiili::::;:~:i
iiiiHH~H~iHi
iiiiiiiiiiiiiliiiiiiiiiiiiiiiiiiiiiiiiiiiii
~iiiigiiiiiiiiiiiiii
:.......................................... iiiiiiiiiiiiiiiiiiiiiiil
!!!!!iiiiiiiiiiii~i~:: ~i!iiiiiiiiiii~ii~
SCS
. . . . . . . . . . .
INITZ
iiiiiiiiiiiiiiii!iiiiii
" i~iHH~!!!!!!!!!!i! HH~H!]!iE!:::;:::: :::::::::::::::::::::: :::::::::::::::::::::: iiiiii~H!!!!!!!!!!! !!:.!!H!H~ih::::;;
!~!!!!!!!!!!H::::::: !!!!!H!!EHi::::~;:
iiiiiiiiiiiiiiiiiii~
~H!I!!!!!H~HHiiii :::::::::::::::::::::
iiiiiiiiiiiiiiiiiiiiiii
iH~iHiHiiiiiiiiiU
iiiiiiiiiiiiiiiiiiiiiii
iliiiiiiiiiiiiiiiiiiii iiiiiiiiiiRiiiiiiiiii ::::::::::::::::::::::
!!!!!!i!i!i!iiiiiiiii
iisoooooi
i.99.909.0.! •FFFFF
. . . . . . . . . . . . . . . .
ii.t?.9.99.gg!!
CRATE"77 IilAFFFFFiliiiCFFFFF iiil VIA CK
6
~-(2=
.uJ
•
[iiiiiiiiiiiiiiiiiiiii iiiiii!iiiii!iii!iiiiiil iliiiiiiiiii!iiiiiil iiiiiiiiii!iiiiiiiiiii!iiiiiilH~H~i~i~iiliii!iiiiiiiiiiiiiiii ::::::::::::::::::::
,.~.~ =&
ii~i~i~!i~!~!
~iii!i! ............ -~,
::::::::::::::::::::
}iiiiiiiiiiiiiiiii}iiiiiiiiiiiiiiiiiiiiiiiiiil
z
>r~
iiiiiiiiiiiiiiiiiiiiii iiiiiiiiii~ili~iiiiil
::::::::::::::::::::
iiiiiiiiiiiiiiiii~iill
iiiiiiiiiii~i~iiiii
9 ::::::::::::::::::::::
i~i~ii!::::............ I iiiiiiiiiiiiiiiii~i~i :::::::::::::::::::::: ::::::::::::::::::::::::
::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: :::::::::::::::::::::
::::::::::::::::::::
iiiiiiiiii~E!!!!!
iiiiiiiiiiiiiiiiiiii i:iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiil i::Fi:t iiii~iil!ig~i~i~!iii .'. EPROM:: iiiiiiiiiiiiiiiii~i~i ~i~iimii~::......... I •-"-"'"-'-"
~ ......................
CAVIAR 2 iiiiiiiiiiiiiiiiiiiii::
iiiiiiiiiiiiRiiHi}ilil
i!i!!igiiiiiiiiii~il
::::::::::::::::::::::
iiiiiiiiiiiiiiiiiiiii
CAVIAR
::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: :::::::::::::::::::::
MAC-CC4
I :,iiiiiiiiiiiiii~iii~i! :::::::::::::::::::::::
i~UiiHiiiiiUiiU~
MAC-CC2
128KR0~
MAC-CC1
400000
~/////'/////~!iiiiiiiiiiiiiiiiiiiiiiJ •
600000
iiiiiiiiiiiiii;i;;;iii
MAC-CCE
i'I AC-CC3 MAC-CC'i
li;iiiiii;iiiiiiiiiii ~
ii~
t":l~ ATG'
,
::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: ::::::::::::::::::::: :::::::::::::::::::::
200000
i!!iiii ................ ::::::; ................
:: i: :~: :i:i: :i: :i:i: :i: :i:i: :i: :i:i: iiiiiiiii
:::::::::::::::::::::: :::::::::::::::::::::: :::::::::::::::::::::: :::::::::::::::::::::: :::::::::::::::::::::: :::::::::::::::::::::: :::::::::::::::::::::: :::::::::::::::::::::: :::::::::::::::::::::: :::::::::::::::::::::: :::::::::::::::::::::
000000
::::::~ ................ ::::::; ................
~!~!!E!!!!!iiiiiiii
iiiHi . . . . . . . . . . . . . . . .
UEiiiiiiiiU~H!!
ii!iiiiiiiiiiiiiiiii
!iiiiiiiiiiiiiiiiiiiil:iiiiiiiiiiiiiiiiiiii MAC-CC( iiiiiiiiiiiiiiiiiiiiii MAC-CC5
800000
AOOOOO
Standard
external addresses
RiiRiiiiiiiiiiiiiii!!iii!iiiiiiiiiiiiiii~ COO000
EO0000
Short external addresses
Fig. 4. MacVEE Plus address map - typical allocations.
signments in accordance with C E R N recommendations [3]. Additional functions have been chosen to be as compatible as possible with V M E C A M A C branch drivers and Type A2 crate controllers, as appropriate. Each C A M A C crate occupies only 64 Kbytes of the Macintosh address space, and all Mac-CCs are accommodated within
map 8. The addresses which they occupy remain free for VMEbus use in maps 1-7. Mac-CCs allow C A M A C crates to be accessed without an intermediate VME crate and branch driver in pure C A M A C ( C A V I A R replacement) environments. In this case the C A M A C library subroutines can be accommodated in MacPlinth
B.G. Taylor / MacVEE Control of VME Electronic Equipment
322
DATA CTL ADDR
UTL ARB INT DTB
\
L
ENABLES
.! FUNT,ON I 1 CODE I
'2
I CRA!E
DTB MASTER
I
TIMER
I
NI .I SYSRESET "1 VME BUS
MACPLINTH BUS Fig. 5. MacVEE VMEbus master module.
EPROM. The MacVEE bus uses RS485 differential transmission, and permits greater ranges than a 4600 branch. Mac-CC is equipped with an EUR6500 auxiliary controller bus, supporting multiple controllers in a CAMAC crate with either R / G arbitration or ACL. It is compatible with CERN standard LAM graders.
5. Software
MacVEE provides direct multi-crate VMEbus and CAMAC access to any resident Macintosh language capable of reading and writing at known absolute addresses. Good resident software development systems for the Macintosh were extremely slow to appear
B.G. Taylor / MacVEE Control of VME Electronic Equipment
C A M
D A T A W
A C
323
A Y
CONTROL STATION
NORMAL STATION w
I I
CTL
STAT
N
A
F
L
I
READ REGISTER INH IN
I
L AUX CTL BUS
LAM GRADER
GL[[---] I
DATAWAY CONTL & TIMING
PRIORITY ARBITER
RO ACL
l
GRANT OUT
-! c -! z
I DATA
CTL
ADDR
MACPLINTH BUS
Fig. 6. Mac-CC block diagram.
during 1984. The earliest products tended to be implementations of the kind of system which is readily portable but quite inefficient. During 1985, a number of much more satisfactory native machine code compilers became available, and the Lisa computer was withdrawn as the recommended cross development tool for the Macintosh. At CERN, extensive use was made of the Macintosh M68000 development system (MDS),
which allows MacVEE applications in assembly language to be written, run and debugged entirely on the Macintosh. The UA1 team has developed a complete resident development system [4] integrating real-time Fortran [5] with an assembler, editor, tinker, and data communication utilities. Other users have successfully exploited the Macintosh Fortran compiler from Absoft, later marketed by Microsoft. Fortran libraries [6] have been written which include subroutines for such
324
B.G. Taylor / MacVEE Control of I/ME Electronic Equipment
Commands
Histograms
lln~),L~..=Hists
Run Status .... .......... RUN . . . . . . . . . .
~iiiiii~iii~
DATE
~
:
~
21. 3. 1986
TIME:
EVENT run s t o
STATUS
ID= TOT MAX
2 [21/ 3/86 = 0.56E+00 = O.50E'~ . OFLOW= O.50E -I [ ]
r~_
/ |
II
I~_AiC°n~ii";
Hists
Hists
Histsl I
E d i t ~ ~ ~ ~ _ ~ e
...........Dia iog-ue r .......
file name:
MocUEE
log--
I
2 3 : 2 0 : 7] MEAN = 0.61E+OO
I
U
I
I~
ID= TOT MAX
random =
1 [21/ 3/86 ~ ] 4835. MEAN =
=
64.
i 1.COFL0.-- 0
10T
Hists
R.M.S.=
VFLDW=
.50
.29 0
.00
~_
--~
'.00
' so
'
o0
Fig. 7. MacVEE histogramming example in Fortran-77.
functions as the creation and management of pull-down menus and windows, the handling of mouse inputs, and the dynamic linking of external libraries. A comprehensive histogram package has been created (see Fig. 7), and CAMAC libraries have been written for Microsoft Fortran, real-time Fortran and various Basics. 1986 has proved an extremely active year, with the introduction of several new resident development systems and compilers for modern high-level languages such as Object Pascal and Modula-2. Some 40 software houses have now generated resident systems for 68000 Assembler, Basic, BCPL, C, Cobol, Forth, Fortran-77, Lisp, Logo, Modula2, Neon, Pascal, Prolog, Scheme, Simula-67 and Smalltalk-80. There are at least 10 compilers for C, and 8 for Pascal, available for the Macintosh today. One of the most significant recent releases is the comprehensive Macintosh Programmer's Workshop (MPW) from Apple Computer. The MPW incorporates a shell/editor with Unix-like features, a macro-assembler, linker debugger, resource maker/disassembler/editor, utility package
and compilers for Green Hills C and Object Pascal. There are currently 7 object-oriented languages available for the Macintosh in full or pre-release state, and the announcement of a new and muchenhanced version of Smalltalk is expected shortly. In less than 3 years the Macintosh has evolved from a machine with mediocre language support to the preferred vehicle for some of the latest developments in software engineering. One of the most interesting initial applications of object-oriented programming for the Macintosh is with MacApp, an expandable application framework for the computer. MacApp implements the Macintosh user interface in skeleton form, and provides hooks for custom objects. To create a Macintosh application using MacApp, one designs the objects required for the specific tasks and installs them into the framework. Programming by customizing MacApp can reduce the amount of code to be written by a factor of 4 to 5, with a corresponding decrease in the required development time.
B.G. Taylor / MacVEE Control of VME Electronic Equipment
dynamic RAM in VME, the rolling in and out of code, and tools for the editing of data in VME.
6. Utilities A wide range of Macintosh utilities has been created by software developers in educational and research environments, placed in the public domain, and distributed internationally by electronic mail networks. In addition, a number of CERNwritten utilities are of particular value in a MacVEE environment. For example, AMERICA (A MacVEE External Ramdisk Install and Configure Application) [7] allows a user to install up to 12 ramdisks simultaneously in any configuration of VME crates, and to work at very much higher speed than from a hard disk. The application has an excellent implementation of the Macintosh user interface for the automatic scanning of VME crates, and the mounting and unmounting of VMEdisks, as they are called. A set of VME Utilities of general application has been written as a desk accessory, which allows them to be accessed concurrently with a MacVEE application. They provide facilities for common operations such as the initialization and testing of
I~ RUH
325
7. Applications MacVEE systems are manufactured by European industry, and they are used for many different applications at CERN, at other research laboratories, and by industry. In a modern large experiment, multiple MacVEE systems are used in the control room for the control and monitoring of the different subsystems of the experimental apparatus. In these times it is still possible to do useful physics with an experiment of modest size, however, and in one experiment which has been successfully completed at the CERN p~ collider the only data acquisition computer used was a MacVEE system with CAMAC. MacVEE systems are also employed as software development workstations for VME multiprocessor systems, while in the development laboratory they are used for the testing and debugging of new VME and CAMAC equipment. In
~,~IIEIDIIIIIIiIII CONTROL PHONES 1766g. 851111 cl ick hist
Debug-Hist
I po
-
ZlO394
II ' l l l i l I ' t l l l ~ l
HELP -
EXIT
ZF1041
B~ZB
II]lII~i[iI~lllI! I
~E-IO00
TRIGGER BITS
[]
Debug-Hist,
I
I~flUCHON ET I
q tg ~
HaX 1
~
HaX ! 5343 N
.......
ZO 40 50 BO
I
~
ZO 30 40 50 BO
x
10Z03040505070
100
Fig. 8. MacVEE experiment-monitoring application.
tO
ZO
]0
I0
ZO
30
J-P Porte
326
B.G. Taylor / MacVEE Control of VME Electronic Equipment
this case the software can be run entirely in the Macintosh, so that its integrity is safeguarded from problems with modules being debugged on the VMEbus. The largest control room apphcation of MacVEE is at the UA1 experiment at CERN, where multiple MacVEE systems have been installed to provide an interactive interface to the experiment. The data acquisition at UA1 is performed by a distributed hierarchy of microprocessors, and these are programmed, controlled and monitored by the MacVEEs. One MacVEE is dedicated to perform as the data acquisition console, and it also automatically records commands and statistics in the manner of the traditional experimenter's log book. Other MacVEE systems are used for the control and monitoring of the 168/E trigger processors, the central detector and subsystem read-outs. VMEbus interfaces have been developed for the 3081/E emulators and the CERN data communications network Cernet. These allow MacVEE to upload large software packages, such as the Isajet program, from the central computers over Cernet and to control their execution by the emulators. An example from a MacVEE monitoring program is shown in Fig. 8. When the program detects any abnormality in the statistics, it highlights the corresponding histogram and outputs a speech message. To obtain more detailed information, it is only necessary to click on a chosen histogram with the mouse, when an enlarged display is presented with additional diagnostic information. It proves considerably easier for non-specialist physicists on shift to master this type of user interface than to remember the cryptic keyboard sequences of a conventional command language.
8. HP 9000 adaptation In July 1985, CERN granted an authorisation to Hewlett-Packard Btiblingen to develop an adaptation of MacVEE to HP 9000 Series 200/300 computers. This product [8] became available in the spring of 1986. It has a number of technical limitations relative to the Macintosh implementation, but represents a first step into VME by one of the major instrumentation manufacturers. Only a single VME crate can be connected to the HP interface cable bus, which must be quite
short, and the VMEmodule has no system controller capability, accesses VME through a movable 64 Kbyte window, and uses a software bus arbitration mechanism. Drivers are available for Basic, Pascal and HP-UX operating systems. There is no CAMAC interface.
9. Past and future This 1986 Seminar marks the 25th anniversary of the ESONE Committee. In the context of personal computing, it is interesting to glance back a quarter of a century, and also to try to glimpse what the future may bring over the same time span. In 1961, CERN was operating the Ferranti Mercury computer. This was a large and magnificent piece of hardware, but the computing power offered was less than that of today's Macintosh, which is about the same size as its paper tape reader. The CERN computer centre had also installed an IBM 709, the first of a long series of big number-crunchers to follow. Once again, however, the CPU of that machine is outclassed by the present M68000 microprocessor chip. These examples remind us that one of the most striking advances made in the last 25 years has been in the area of miniaturisation, and there are indications that this may continue during the next 25. One of these indications comes from Japan, where the government is preparing to launch a massive R& D program called "Human Frontiers". An important aspect of the Human Frontiers project is the development of electronic circuits based on protein molecules. Molecular electronics researchers are seeking to create molecular components which will participate in their own assembly, rather like the DNA molecule. Initial applications of such self-assembling biochips might be in mass storage devices, because of the very high data density potential - some 4 orders of magnitude greater than with present optical recording techniques. But the fabrication of a full molecular computer could be envisaged, and such a biochip could be very much smaller and very much more powerful than any silicon chip. Indeed, biochips would be so tiny that one could imagine their being embedded in the human brain, perhaps as a coprocessor. It is an intriguing thought that, 25
B.G. Taylor / MacVEE Control of VME Electronic Equipment
years from now, that just might be the ultimate personal computer.
Acknowledgements The development of MacVEE was funded and supported by C. Rubbia. The author is indebted to K. Bos, S. Cittolin, A. Contin, M. Demoulin, P. Giacomelli, W. Haynes, W. Jank, P. Petta, J.-P. Porte, D. Samyn, G. Walzel and other members of the UA1 collaboration, to G. Cabras, A. Marchioro and W. von Riiden of ALEPH, and to H. von der Schmitt of OPAL, for their valuable assistance.
References [1] T.R. Blakeslee, Digital Design with Standard MSI and LSI - Design Techniques for the Microcomputer Age, Wiley, New York, 1979, pp. 1-13.
327
[2] B.G. Taylor, The MacVEE Hardware User Manual, CERN Rep., 1986 (Organisation Europ6enne pour la Recherche Nucl6aire). [3] E.M. Rimmer, CERN Implementation Recommendations for M68000-based CAMAC Port Controllers, Version 1, CERN Rep., 1983 (Organisation Europ6enne pour la Recherche Nucl6aire). [4] The M68K-VME UA1 Macintosh-based Development System, CERN Rep., 1986 (Organisation Europ6enne pour la Recherche Nucl6aire). [5] H. vonder Schmitt, RTF/68K: Real-time Fortran-77 for 68K Processors - Manual of Compiler and Run-time Library, Heidelberg Univ. Rep., 1986. [6] A. Contin, Fortran Data Acquisition Software for Macintosh, CERN Rep., 1986 (Organisation Europ6enne pour la Recherche Nucl6aire). [7] P. Petta, AMERICA: A MacVEE External Ramdisk Install and Configure Application, UA1 Technical Note 86-23, 1986 (Organisation Europ6enne pour la Recherche Nucl6aire). [8] HP 98646A Technical Data, Hewlett Packard Publication 5953-4388, 1986.