Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
32-битная параллельная компьютерная шина, ирландский композитор
32 bit parallel computer bus
the Irish composer
NuBus (/n//(//j//)//u/,/b//ʌ//s/) – это 32-битная параллельная компьютерная шина, первоначально разработанная в Массачусетском технологическом институте (MIT) и стандартизированная в 1987 году как часть проекта рабочей станции NuMachine. Первая полная реализация NuBus была осуществлена компанией Western Digital для своей NuMachine и для Lisp Machines Inc. LMI Lambda. Позже NuBus был включен в продукты Lisp компанией Texas Instruments (Explorer) и использовался компанией Apple Computer в качестве основной шины расширения, а компания NeXT разработала её вариант под названием NeXTBus. В настоящее время NuBus практически не используется за пределами рынка встраиваемых систем.
NuBus ('/n//(//j//)//u/,/b//ʌ//s/) is a 32 bit parallel computer bus, originally developed at MIT and standardized in 1987 as a part of the NuMachine workstation project. The first complete implementation of the NuBus was done by Western Digital for their NuMachine, and for the Lisp Machines Inc. LMI Lambda. The NuBus was later incorporated in Lisp products by Texas Instruments (Explorer), and used as the main expansion bus by Apple Computer and a variant called NeXTBus was developed by NeXT. It is no longer widely used outside the embedded market.
Архитектура
Ранние микрокомпьютерные шины, такие как S 100, часто представляли собой просто соединения с выводами микропроцессора и линиями питания. Это означало, что изменение архитектуры компьютера обычно приводило к появлению новой шины. Стремясь избежать подобных проблем в будущем, NuBus был разработан независимо от процессора, его общей архитектуры и каких-либо особенностей обработки ввода-вывода. Среди множества передовых для того времени функций, NuBus использовал 32-битную шину, в то время как 8- или 16-битные шины были распространены. Это рассматривалось как обеспечение "перспективности", поскольку предполагалось, что 32-битные системы появятся в ближайшем будущем, а 64-битные шины и более широкие останутся непрактичными и избыточными. Кроме того, NuBus не зависел от конкретного процессора. Большинство шин до этого момента соответствовали стандартам сигнализации и передачи данных машины, в которую они подключались (например, порядок байтов – big или little endian). NuBus не делал таких предположений, что означало, что любую карту NuBus можно было подключить к любой машине NuBus, при наличии соответствующего драйвера устройства. Для выбора правильного драйвера устройства, NuBus включал схему идентификации, позволяющую картам идентифицировать себя хост-компьютеру при загрузке. Это избавляло пользователя от необходимости конфигурировать систему, что до этого момента было настоящим бичом шинных систем. Например, в случае ISA драйвер необходимо было настраивать не только для карты, но и для всей необходимой памяти, используемых прерываний и так далее. NuBus не требовал такой настройки, что делало его одним из первых примеров архитектуры plug and play. Однако эта гибкость, упрощавшая работу для пользователя и разработчиков драйверов, усложняла задачу для самих разработчиков карт. В то время как большинство "простых" шинных систем легко поддерживались небольшим количеством чипов ввода-вывода, разработанных с учетом конкретного процессора, в случае NuBus каждая карта и компьютер должны были преобразовывать все данные в платформенно-независимый "мир NuBus". Обычно это означало добавление контроллера NuBus между шиной и любыми чипами ввода-вывода на карте, что увеличивало стоимость. Хотя сегодня это тривиальная задача, требуемая для всех современных шин, в 1980-х годах NuBus считался излишне сложным и дорогим.
Early microcomputer buses like S 100 were often just connections to the pins of the microprocessor and to the power rails. This meant that a change in the computer's architecture generally led to a new bus as well. Looking to avoid such problems in the future, NuBus was designed to be independent of the processor, its general architecture and any details of its I/O handling. Among its many advanced features for the era, NuBus used a 32 bit backplane when 8 or 16 bit busses were common. This was seen as making the bus "future proof", as it was generally believed that 32 bit systems would arrive in the near future while 64 bit buses and beyond would remain impractical and excessive. In addition, NuBus was agnostic about the processor itself. Most buses up to this point conformed to the signalling and data standards of the machine they were plugged into (being big or little endian for instance). NuBus made no such assumptions, which meant that any NuBus card could be plugged into any NuBus machine, as long as there was an appropriate device driver. In order to select the proper device driver, NuBus included an ID scheme that allowed the cards to identify themselves to the host computer during startup. This meant that the user didn't have to configure the system, the bane of bus systems up to that point. For instance, with ISA the driver had to be configured not only for the card, but for any memory it required, the interrupts it used, and so on. NuBus required no such configuration, making it one of the first examples of plug and play architecture. On the downside, while this flexibility made NuBus much simpler for the user and device driver authors, it made things more difficult for the designers of the cards themselves. Whereas most "simple" bus systems were easily supported with a handful of input/output chips designed to be used with that CPU in mind, with NuBus every card and computer had to convert everything to a platform agnostic "NuBus world". Typically this meant adding a NuBus controller chip between the bus and any I/O chips on the card, increasing costs. While this is a trivial exercise today, one that all newer buses require, in the 1980s NuBus was considered needlessly complex and expensive.
Реализация
NuBus стал стандартом IEEE в 1987 году под номером IEEE 1196. В этой версии использовался стандартный 96-контактный трехрядный разъем DIN 41612, работающий с тактовой частотой 10 МГц, обеспечивая максимальную скорость передачи данных в режиме burst 40 МБ/с и среднюю скорость от 10 до 20 МБ/с. Более поздняя версия, NuBus 90, увеличила тактовую частоту до 20 МГц для повышения пропускной способности, увеличив скорость burst примерно до 70 МБ/с и среднюю скорость до 30 МБ/с. NuBus был впервые коммерчески разработан в Western Digital NuMachine и впервые использован в серийном продукте компанией Lisp Machines, Inc., лицензиатом Western Digital, в LMI Lambda – машине Lisp. Проект и группа разработчиков были проданы Western Digital компании Texas Instruments в 1984 году. Технология была интегрирована в их TI Explorer, также машину Lisp. В 1986 году Texas Instruments использовала NuBus в многопроцессорной UNIX-системе S1500. Позже, Texas Instruments и Symbolics разработали платы NuBus для машин Lisp (TI MicroExplorer и Symbolics MacIvory) на основе своих микропроцессоров, поддерживающих Lisp. Эти платы NuBus представляли собой сопроцессоры Lisp для линейки Apple Macintosh (Mac II и Mac Quadras). Apple Computer также выбрала NuBus для использования в своем проекте Macintosh II, где его принцип plug-and-play соответствовал философии Mac, ориентированной на простоту использования. Он использовался в большинстве моделей серии Macintosh II, составлявших профессиональную линейку Mac с конца 1980-х годов. Он был обновлен до NuBus 90, начиная с Macintosh Quadras, и использовался до середины 1990-х годов. Ранние модели Quadras поддерживали частоту 20 МГц только при взаимодействии двух карт, поскольку контроллер материнской платы не был обновлен. Это было исправлено в реализации NuBus на моделях 660AV и 840AV. Этот улучшенный контроллер NuBus использовался в моделях Power Macintosh 6100, 7100 и 8100 первого поколения. Позднее модели Power Mac перешли на шину PCI от Intel. В реализации NuBus компанией Apple использовались штыревые и гнездовые разъемы на задней панели карты, а не краевые разъемы с винтами Phillips внутри корпуса, которые использовались в большинстве карт, что значительно упрощало установку. Компьютеры Apple также обеспечивали постоянное питание +5 В в режиме "trickle" для таких задач, как мониторинг телефонной линии при выключенном компьютере. По-видимому, это было частью неофициального стандарта NuBus. NuBus также был выбран компанией NeXT Computer для своих машин, но использовалась другая компоновка печатной платы. NuBus, по всей видимости, не получил широкого распространения за пределами этих областей применения, и когда Apple перешла на PCI в середине 1990-х годов, NuBus быстро устарел.
The NuBus became an IEEE standard in 1987 as IEEE 1196. This version used a standard DIN 41612 96 pin three row connector, running the system on a 10 MHz clock for a maximum burst throughput of 40 MB/s and average speeds of 10 to 20 MB/s. A later addition, NuBus 90, increased the clock rate to 20 MHz for better throughput, burst increasing to about 70 MB/s, and average to about 30 MB/s. The NuBus was first developed commercially in the Western Digital NuMachine, and first used in a production product by their licensee, Lisp Machines, Inc., in the LMI Lambda, a Lisp Machine. The project and the development group was sold by Western Digital to Texas Instruments in 1984. The technology was incorporated into their TI Explorer, also a Lisp Machine. In 1986, Texas Instruments used the NuBus in the S1500 multiprocessor UNIX system. Later, both Texas Instruments and Symbolics developed Lisp Machine NuBus boards (the TI MicroExplorer and the Symbolics MacIvory) based on their Lisp supporting microprocessors. These NuBus boards were co processor Lisp Machines for the Apple Macintosh line (the Mac II and Mac Quadras). NuBus was also selected by Apple Computer for use in their Macintosh II project, where its plug n play nature fit well with the Mac philosophy of ease of use. It was used in most of the Macintosh II series that made up the professional level Mac lineup from the late 1980s. It was upgraded to NuBus 90 starting with the Macintosh Quadras and used into the mid 1990s. Early Quadras only supported the 20 MHz rate when two cards were talking to each other, since the motherboard controller was not upgraded. This was later addressed in the NuBus implementation on the 660AV and 840AV models. This improved NuBus controller was used in the first generation Power Macintosh 6100, 7100 and 8100 models. Later Power Mac models adopted Intel's PCI bus. Apple's NuBus implementation used pin and socket connectors on the back of the card rather than edge connectors with Phillips screws inside the case that most cards use, making it much easier to install cards. Apple's computers also supplied an always on +5 V "trickle" power supply for tasks such as watching the phone line while the computer was turned off. This was apparently part of an unapproved NuBus standard. NuBus was also selected by NeXT Computer for their line of machines, but used a different physical PCB layout. NuBus appears to have seen little use outside these roles, and when Apple switched to PCI in the mid 1990s, NuBus quickly disappeared.