home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / sys / misc / 1022 < prev    next >
Encoding:
Internet Message Format  |  1992-12-22  |  17.6 KB

  1. Xref: sparky comp.sys.misc:1022 de.comm.misc:2656 de.comp.sys.misc:287 comp.unix.pc-clone.32bit:875
  2. Path: sparky!uunet!pipex!bnr.co.uk!uknet!mcsun!Germany.EU.net!atmkn!macher
  3. From: macher@atmkn.UUCP (K.Eimermacher)
  4. Newsgroups: comp.sys.misc,de.comm.misc,de.comp.sys.misc,comp.unix.pc-clone.32bit
  5. Subject: New concepts on Multibus II
  6. Keywords: Multibus II,Transport performance,new enhancements,Realtime UNIX
  7. Message-ID: <3441@atmkn.UUCP>
  8. Date: 22 Dec 92 12:03:03 GMT
  9. Followup-To: poster
  10. Lines: 373
  11.  
  12.  
  13. New concepts on Multibus II
  14.  
  15. Klaus Eimermacher, ATM Computer GmbH
  16.  
  17. 1. Introduction
  18.  
  19. Approximately 10 years ago INTEL introduced a complete new bus concept -
  20. the MULTIBUS II system. It consists of 4 different bus systems, which can
  21. be implemented in one environment:
  22.  
  23. - local bus extension (LBX II)
  24. - parallel system bus (PSB II)
  25. - serial system bus   (SSB)
  26. - single board extension (SBX)
  27.  
  28. The most commonly used bus of Multibus II is the parallel system bus
  29. (PSB II). This bus is optimized for communication between intelligent
  30. bus agents and has numerous LAN - like features.
  31.  
  32. This backplane-LAN is commonly called a "LAN in a box".
  33.  
  34. Today, boards are usually connected to Multibus II using the Message
  35. Passing Coprocessor (MPC), which is available from INTEL and VLSI.
  36. This ensures that boards from different vendors have the same hardware-
  37. and firmware - interface to the bus. Therefore, no compatibility problems
  38. arise when connecting to Multibus II. The Message Passing Coprocessor needs
  39. a DMA controller for Multibus II-transfers. The DMA controller moves data
  40. from memory to MPC or vice versa (see ff).
  41.  
  42. Currently the Multibus Manufacturers Group (MMG) is extending the Multibus II
  43. specification from 40 MBytes to provide a bus bandwidth of 80 Mbyte/sec and
  44. "hot board insertion". These new features have already been shown in demo
  45. systems. The work on these new technologies has shown that new concepts are
  46. needed in the future in order to take advantage of these new Multibus II
  47. features.
  48.  
  49. One reason for this is that the currently available DMA controllers have
  50. reached their performance limits, thus limiting board performance. Another
  51. disadvantage of current board designs is the high percentage of CPU
  52. performance needed to use the on-board I/O.
  53.  
  54. ATM Computer GmbH now has solved both of these problems on the new MBS/433-ST 
  55. board by using additional new RISC processors on a 486 single board computer.
  56. The result is a design which achieves higher I/O-rates and higher Multibus II
  57. data rates than can be achieved by standard CPU/DMA designs.
  58.  
  59. 2. Message Passing on Multibus II
  60.  
  61. Multibus II supports, besides the standard address ranges "memory" and "I/O",
  62. 2 other address ranges, which are not utilised in traditional bus systems:
  63.  
  64. 1) the geographic addressing of agents and of configuration registers on
  65. these agents, the so called interconnect address range.
  66.  
  67. The interconnect address range consists of up to 512 control- or configuration
  68. registers per bus agent.  These registers can be defined to be accessible
  69. "globally" - that is, they can be accessed by any busagent - or "locally".
  70. The definition of the interconnect registers and of valid values can be found
  71. in Intel's "interconnect specification". It is accepted world-wide as a
  72. defacto Multibus II standard.  The registers allow self recognition of system
  73. configurations by software and - by reprogramming the interconnect registers
  74. with different parameters - other configurations can very easily be programmed
  75. into a board.
  76.  
  77. 2) the Message address range.
  78.  
  79. The message address range" supports 2 different types of messages:
  80.  
  81. - the unexpected or unsolicited message, and
  82. - the expected or solicited message.
  83.  
  84. The unsolicited message is used as a high speed interrupt message and used
  85. to transport small amounts of data. The unsolicited message is also used for
  86. negotiation of a long data transfer - the solicited message. The solicited
  87. message supports data transfers of up to 16 Mbytes of data. The data is packed
  88. and unpacked using a special "packet protocol". This is all done by the MPC
  89. during send or receive operations.
  90.  
  91. A message consists of a header, which has to be compliant with the Multibus II
  92. "Message Transport Protocol", and of user data.
  93.  
  94. Error conditions, such as parity error or timeout, are automatically handled
  95. by the MPC without involving the CPU.
  96.  
  97. 2.1. "Traditional" board designs
  98.  
  99. Most of the available Multibus II boards are designed as follows:
  100.  
  101.      +---------+      +---------+  +-----------+
  102.      | Memory  |      |   CPU   |  | (A)DMA-   |
  103.      +----+----+      +----+----+  | Controller|
  104.           |                |       +-----+-----+
  105.           |                |             |
  106.        -------+----------------+-------------+--------------
  107.               local CPU bus
  108.        --------+--------------------------------------------
  109.            |
  110.     +------+------+        +---------------+
  111.     | Message -   |        | Interconnect- |
  112.     | Passing -   +--------+ Controller    |
  113.     | Coprocessor |        | 87xx          |
  114.     +------+------+        +---------------+
  115.            |
  116.     -----------+-------------
  117.        Multibus II (PSB II)
  118.     -------------------------
  119.  
  120. The local bus is shared by the CPU and a DMA controller. The main memory
  121. which holds data and messages is also connected to the local bus. To send
  122. a message to another PSB bus agent, the CPU has to assemble the message in
  123. memory, to program its DMA controller, and to program the MPC. The CPU then
  124. writes an unsolicited message with type "buffer request" into the MPC registers
  125. which is sent by the MPC to an MPC on a receiving agent.  After receiving
  126. the "buffer grant" message, the data transfer is automatically performed by
  127. the MPC and DMA controller, without involving the CPU on the transmitting or
  128. receiving agents.
  129.  
  130. If the transfer was successful, a completeness-interrupt is signalled to the
  131. CPU. Error conditions are signalled immediately, to give the CPU the chance
  132. to handle the error condition. Some kinds of error conditions are handled
  133. independently by the MPC using retry mechanisms, e.g. PSB parity error.
  134.  
  135. Most of today's Multibus II boards use the 82258(A) ADMA controller, which is
  136. manufactured by SIEMENS and INTEL. This controller has a 16 bit bus interface
  137. and is available in CMOS up to 20 MHz. Older board designs use the 10 or 12 MHz NMOS version.
  138. With a special board design, the controller can perform 32 bit bus cycles
  139. from memory to MPC or vice versa, so called "flyby cycles". This works only
  140. if data is 32 bit aligned. Otherwise, the DMA controller has to do two 16 bit
  141. cycles, the "two cycle mode".
  142.  
  143. The maximum address range for the ADMA without additional on-board circuitry
  144. is 16 Mbytes. For operating systems, this limits the accessible memory for
  145. message transfers to 16 MB on most of the boards.
  146.  
  147. The software protocol for Multibus II message passing and programming of the
  148. DMA and MPC are all handled by software drivers, which are run by the CPU.
  149. To do this, the CPU has to service a lot of MPC and DMA interrupts. The task
  150. switch overhead involved - saving the old system state, creating a new
  151. environment, servicing the interrupt, restoring the old system state consumes
  152. a significant amount of the available CPU performance, thus unnecessarily
  153. slowing down application programs and important tasks inside the operating
  154. system.  Although the message passing protocol is the most important example
  155. for the drawbacks of current designs, the above statements hold true for any
  156. kind of I/O handled by the main CPU.
  157.  
  158. 3. A New Concept
  159.  
  160. To achieve higher throughput, the CPU has obviously to be freed from most of
  161. the overhead involved in handling message passing and I/O in general. To
  162. achieve this, ATM Computer has implemented the following concept:
  163.  
  164. - use of an additional, independent RISC - I/O processor, which is running
  165.   the complete Multibus II transport software.
  166.  
  167. - decoupling of this RISC processor from the CPU memory bus and implementation
  168.   of an independent I/O bus (two bus system).
  169.  
  170. - separate code memory for the I/O processor on the I/O bus
  171.  
  172. - use of a high performance 32 bit DMA controller
  173.  
  174. This results in a configuration as follows:
  175.  
  176.    +---------+      +---------+
  177.    | Memory  |      |486 CPU  |
  178.    +----+----+      +----+----+
  179.     |                |
  180.     |                |
  181.  -------+----------------+----------------------------
  182.       local CPU bus
  183.  ----------+------------------------------------------
  184.        |
  185.  +---------+--------+           +---------------+
  186.  |   Busarbiter     |           |    Memory     |
  187.  +---------+--------+           +-------+-------+
  188.        |                            |
  189.  ----------+----------------------------+-------------
  190.            E/A Bus
  191.  --------+--------------------------------------+-----
  192.      |                                      |
  193.   +------+------+  +---------------+     +------+---------+
  194.   | Message -   |  | Interconnect- |     | 80960 CA       |
  195.   | Passing -   +--+ Controller    |     | 33 Mhz RISC -  |
  196.   | Coprocessor |  | 87xx          |     | Processor/DMA  |
  197.   +------+------+  +---------------+     +----------------+
  198.      |
  199.  --------+-------------
  200.   Multibus II (PSB II)
  201.  ----------------------
  202.  
  203. (simplified block diagram of MBS/433-ST)
  204.  
  205. 4. Implementation
  206.  
  207. For the I/O processor, ATM Computers chose INTEL's high performance 80960 CA
  208. RISC processor.  It not only gives the necessary CPU power to run message
  209. passing and I/O, but also solves the problem of implementing a very high
  210. performance 32-bit DMA controller. The chip has an integrated 4 channel 32
  211. bit DMA controller with data rates up to 53 Mbyte/sec.
  212.  
  213. 256 KB of SRAM memory are connected to the I/O bus, this memory holds the
  214. programs and data of the 960 CPU.  With this hardware configuration, it is
  215. now possible to run the complete Multibus II Transport protocol software
  216. independently on the RISC I/O processor, without influencing the main CPU
  217. (486). The main CPU gets only one single interrupt, either after successful
  218. completion of a full message transfer, or if an unresolvable error has been
  219. detected. Most of the minor errors or special conditions can be resolved by
  220. the transport software run by the 960, with only a few exceptions, e.g. a
  221. "receiver not ready" condition.
  222.  
  223. Communication between the 486 main CPU and the 960 I/O CPU is implemented
  224. using a 32 bit communication register and queues in memory. The objective
  225. was to implement a very fast interface.
  226. Commands to do message transfers or I/O are given to the 960 I/O processor
  227. via a command queue.  The 960 reads and executes the commands, and writes a
  228. completion status in a status queue. Then, the 486 is interrupted. The format
  229. of the queues is an enhanced version of INTELs "Shared Memory Interface
  230. specification".
  231.  
  232. The communication register is used during initialization to pass information
  233. to the 960, e.g. the start address of the 960 initialization code. After
  234. power up, the 486 CPU downloads the 960 I/O program code into the 960 memory.
  235. The programs are either stored in EPROM or on disc.
  236.  
  237. A bus arbiter manages the bus cycles from the 486 bus to the I/O bus and vice
  238. versa. The bus priority can be fixed or "round robin". Due to the instruction
  239. caches inside both processors, normally those accesses do not collide with the
  240. program execution on the processors.
  241.  
  242. The software on the 960CA RISC processor is based on the realtime kernel iRMK
  243. 960. Message passing is implemented as tasks within iRMK 960. The software can
  244. easily be extended with additional I/O tasks.
  245.  
  246. ATM Computer GmbH sells a configured ready to use version of the 960 software
  247. including full message passing transport software in combination with its real-
  248. time operating system REAL/IX.
  249.  
  250. 4.1 Features of the single board computer MBS/433-ST
  251.  
  252. In addition to the above mentioned I/O-processor, the MBS/433-ST board offers
  253. the following I/O interfaces:
  254.  
  255. 4.1.1 I/O connected to the 486 CPU bus
  256.  
  257. - two channel RS232 (V24) serial controller using Z85230 (20MHz)
  258. - two 8259A compatible interrupt controllers with up to 15 interrupt sources
  259. - one 8254 compatible timer with three 16 bit timers
  260. - one interrupt multiplexer, which allows a flexible interrupt configuration
  261.   without jumpering or wrapping.
  262. - an 8 KByte non volatile data RAM
  263.  
  264. 4.1.2 I/O connected to the 960 I/O bus
  265.  
  266. The MBS/433-ST is designed to run operating systems which use high SCSI
  267. performance, such as REAL/IX. Therefore, the 2 MIPS SCSI controller 53C710
  268. (33 MHz) is connected to the I/O bus. This device has a RISC CPU kernel and
  269. allows for very flexible control of SCSI devices by executing "scripts".
  270. These scripts are written in a special programming language tailored to the
  271. requirements and the special behaviour of the SCSI bus. The scripts have to
  272. be stored in the SRAM connected to the I/O bus. Thus, code fetches by the
  273. SCSI controller do not interfere with the main CPU.
  274.  
  275. The controller supports data rates up to 10 Mbytes/sec on the SCSI bus in
  276. synchronous mode. The 53C710 has a timer designed to detect timeout conditions
  277. on the SCSI bus of greater than 250ms.  For a good realtime system, this
  278. interval is too long. To meet the realtime system requirements, an additional
  279. 8254 timer was connected to program shorter SCSI timeout intervals. Normal SCSI
  280. devices respond 8-10ms after a command. Shorter timeouts avoid long bus locks
  281. on the SCSI-bus.  Additionally the 8254 supplies the timer to interrupt for
  282. iRMK960.
  283.  
  284. In order to connect additional I/O devices, the board offers two extension
  285. interfaces:
  286.  
  287. a) a 32 bit interface compliant to OME Version 2 on connector P2
  288.  
  289. The OME 2 interface is connected via the backplane, compliant with the OME
  290. specification version 2 using a 128 pin DIN connector on P2. The backplane is
  291. available with 3, 4, and 5 slots.  This is more suitable for Industrial
  292. requirements than the "piggy-back" interface which was defined in OME version 1.Connecting via P2 on the backplane brings many
  293. advantages, in particular easier
  294. board handling during maintenance of a system.
  295.  
  296. ATM Computer offers a broad range of extension modules on OME 2.
  297.  
  298. b) a serial fiber optic interface with currently 50 Mbit/s net data rate
  299.   (increasable to 125 Mbit/s)
  300.  
  301. The serial fiber optic interface is based on the AMD TAXI technology. The
  302. interface has 1 Kbyte transmit- and receive-FIFOs on each side and can be
  303. operated with interrupts. The net data rate of 50Mbit/s is sufficient to
  304. connect I/O subsystems, or to directly link two boards.  Access to the
  305. interface is via standard ST connectors.
  306.  
  307. 5. Future Multibus II enhancements
  308.  
  309. The technical committee of the Multibus Manufacturers Group (MMG) is currently
  310. working on a specification for Multibus II performance enhancement. The proposal
  311. will set the maximum bus burst data rate to 80 Mbyte/sec. Technologically, this
  312. is no big deal, because new faster technologies for MPC chips, and faster ABT
  313. bus drivers can be used.  These components are available now, and therefore it
  314. is easy to double the bus clock today.
  315.  
  316. With "traditional" board concepts, the Multibus II performance enhancement will
  317. half the packet transfer time on the bus, but will not change the overall
  318. system performance.  The potential bottleneck are the slow DMA controllers,
  319. which limit data throughput. ATMs new concept  using the 960 RISC CPU/DMA will
  320. be able to take advantage of the increased Multibus II performance.
  321.  
  322. Another MMG subcommittee is working on the specification of "hot board
  323. insertion", that is disconnecting boards from and connecting boards to the PSB
  324. with "power on". To make this work, electrical problems have to be solved, as
  325. well as problems like "booting and self-testing replaced boards".  The main
  326. goal is to be able to use currently available boards without any, or with only
  327. minor changes.
  328.  
  329. A demo system was shown at the BUSCON WEST in February 1992 at Long Beach.
  330. This system included a special backplane which could run with 20 MHz, and
  331. which also supported "hot board insertion". Currently, the MMG plans to submit
  332. these two extensions to the Multibus II specification, and to obtain the
  333. approval of IEEE, in 1993.
  334.  
  335. 6. Conclusion
  336.  
  337. Enhancements in chip technology today enable the performance of Multibus II
  338. to be doubled. To take advantage of the performance of this "new" Multibus II,
  339. new concepts in board development and board design are necessary. Only by
  340. using new processor technology based on RISC, in combination with standard
  341. CISC processors like the 80x86 family and their operating systems, and by
  342. implementing advanced on-board bus concepts, can the system profit by the
  343. doubled bus speed.
  344.  
  345. The "hot board insertion" feature will extend the range of Multibus II
  346. applications in the industrial, and communications market.
  347.  
  348. ATM's MBS/433-ST and Concurrent Technologies' CP 486/960 single board
  349. computers are the first high performance Multibus II CPUs to designed to take
  350. advantage of the new Multibus II features!
  351.  
  352. used abbreviations:
  353.  
  354. OME   -  On Board Module Extension
  355. CPU   -  Central Processing Unit
  356. MMG   -  Multibus Manufacturers Group
  357. I/O   -  Input / Output
  358. RISC  -  Reduced Instruction Set CPU
  359. CISC  -  Complex Instruction Set CPU
  360. MPC   -  Message Passing Coprocessor
  361. FIFO  -  First-in, First-out
  362. DMA   -  Direct Memory Access
  363.  
  364. Trademarks:
  365.  
  366. iRMK960  - Fa. INTEL
  367. UNIX     - Fa. AT&T
  368. REAL/IX  - Fa. Modcomp / ATM
  369. TAXI    - Applied Micro Devices
  370.  
  371. -----------
  372. If you have any questions regarding the new Multibus II concepts or
  373. regarding the boards please do not heasitate to contact me!
  374.  
  375. ---
  376.  
  377. ------------------------------------------------------------------------snip-
  378.   Klaus Eimermacher    | ATM Computer GmbH | Email: macher@atmkn.uucp  
  379.    _    _____  _    _  |     Abt. E53      |        (..!unido!atmkn!macher)  
  380.  /   \ |_   _||  \/  | | Buecklestr. 1 - 5 | Voice: 07531/807-332      
  381. | AEG |  | |  |      | |  W-7750 Konstanz  | Fax:   07531/807-280
  382. |_| |_|  |_|  |_|  |_| |     Germany       | Ampr.net: 44.130.55.1
  383.                        |                   |           dl1gek.ampr.org 
  384. -----------------------------------------------------------------------------
  385.