
This paper describes Emacspeak, a full fledged speech interface that provides a powerful audio desktop. Emacspeak was originally designed for use by visually impaired users to gain productive access to the wealth of network computing available on the UNIX platform. However, the user interface innovations introduced by the system are more widely relevant to the larger application area of user interface design for information appliances of the future. The approach used by Emacspeak is very different from that used in traditional screen-readers. Emacspeak does not speak the screen. Instead, applications provide both visual and speech feedback, and the speech feedback is designed to be sufficient by itself. This approach reduces cognitive load on the user and is relevant to providing general spoken access to information.
ATM networking products are in widespread use today. This paper describes the implementation of real ATM networks and explains why ATM is well-suited to building scalable, multi-service backbone networks. It describes a typical corporate application of ATM, in combination with frame-based switching technology.
Pippin represents the first industry attempt to repackage modern personal computer hardware and software in a form that is more acceptable and affordable to a technophobic consumer. Its design goals represented compromises between a mutually competing set of requirements: performance, "ease of use", system software footprint, time-to-market, TV-centric, manufacturing costs, etc. It is the first commercially-deployed appliance to be optimized for the multimedia-rich home and school marketplaces. All technical goals of the program were achieved, resulting in a flexible and simple-to-operate multimedia consumer appliance.
Intel's MMX/sup TM/ technology is designed to accelerate multimedia and communications software. MMX/sup TM/ technology introduces new data types and instructions that implement a SIMD architecture model to exploit the inherent parallelism in these applications. The technology is defined in a way which maintains full compatibility with existing Intel Architecture processors, operating systems, and applications. MMX/sup TM/ technology delivers an average performance gain of 1.5 to 2 times speedup for communications and multimedia applications.
While a major factor in Java's success is its use of portable byte codes, we believe it cannot become a mainstream programming language without mainstream implementation techniques, specifically an optimizing ahead-of-time compiler. This allows much better optimization and much faster application start-up times than with JIT (just-in-time) translators. Cygnus Solutions are writing a Java front-end for the GNU compiler compiler (gcc) to translate Java byte codes into machine code. This uses proved and widely-used technology. The meta-data representing a class at run-time are laid out by the compiler in static data memory, saving more start-up time. We use the GNU linker to link compiled class files into standard shared or static libraries. For the run-time environment, we are enhancing the existing Kaffe-free Java virtual memory to make it full-strength and to support linking with pre-compiled class libraries. We are enhancing the GNU debugger (gdb) to understand Java, which will provide a familiar and multi-language debugging environment.
Thermal management is an important design issue in high-performance, low-power portable computers. If the computer system is designed for worst-case processor power dissipation and environmental operating conditions, it carries an area and cost penalty for the system designer. The next-generation PowerPC/sup TM/ microprocessor includes a thermal assist unit (TAU) comprised of an on-chip thermal sensor and associated logic. The TAU monitors the junction temperature of the processor and dynamically adjusts processor operation to provide maximum performance under changing environmental conditions. The TAU is used in conjunction with other low-power features such as dynamic power management, instruction cache throttling and static low-power modes to provide comprehensive power and thermal management. This paper describes the implementation of the TAU and presents its characterization and operating data from first silicon.
The Odyssey is a multi-game video slot machine using standard PC hardware components under the control of an embedded real-time operating system. A PCI-bus based peripheral memory board and parallel port-based general-purpose I/O board adapt the PC for use in the slot machine application. The system software is designed to address the unique requirements of casino gaming machines, including high reliability and security, fault detection and recovery, and responsive performance.
In September of 1996, Informix Software released the first version of its new object-relational database management system to developers and partners. This system, called INFORMIX-Universal Server, supported a new way of building and deploying database applications. Developers could write software modules, called DataBlade extensions, that extended the database server with knowledge of new types and operations. This paper describes the architecture of INFORMIX-Universal Server and how it supports DataBlade extensions. The paper describes the way that DataBlade developers and application developers interact with the server. Finally, it describes a set of DataBlade extensions available for the server at the end of 1996.
We consider an image processing pipeline that enables a user to capture and generate high-quality images from a digital camera. In such a system, some image processing tasks are typically implemented within the camera, while others are performed in software on a host computer that controls the output device. We consider the complexity issues and tradeoffs involved in designing several key algorithms in such a system. We also discuss hardware features that accelerate these algorithms.
Summary form only given, as follows. We present a design for a low cost but powerful and high speed communications device powered by IDT's RV4640 as its processing engine. The device can achieve very high speed, thanks to the PCI bus compatible IDT ATM NIC. The device could be used as a two way pager, a set-top box, an Internet terminal, a personal digital assistant or as a video phone. The RV4640 is a very affordable 64 bit RISC processor that executes 175 dhrystone MIPS at 133 MHz. The RV4640 can be connected to a System Interface Chip which will provide I/O and memory control. The IDT77903 ATM card is a full duplexed 25 Mbps NIC with a PCI bus interface and it costs less than $100 (US). Integrating this card into our device as a network interface will make highspeed videoconferencing and multimedia applications easily implementable.
This paper describes a new human-oriented programming language, called NetRexx, which has been designed as an alternative to the Java language. The reference implementation of NetRexx compiles to the Java Virtual Machine and allows programmers to create programs and applets for the Java environment faster and more easily than by programming in Java. NetRexx classes and Java classes are entirely equivalent-NetRexx can use any Java class (and vice versa). Using existing Java classes is especially easy in NetRexx, as the different types of numbers and strings that Java expects are handled automatically by the language. NetRexx combines the strengths of two very different programming languages, Rexx and Java. The result is a language which is tuned for both scripting and application development, and is therefore genuinely general-purpose.
A 3D graphics system for personal workstations is presented. RealiZm/sup TM/ is a new generation of workstation graphics that is implemented as a compact set of PCI cards. All major parts of the rendering pipeline are accelerated including geometry, rasterization, texture processing and fragment processing. Geometry acceleration is achieved with multiple digital signal processors. Single-ported synchronous DRAMs are used for both frame buffer memory and texture memory to provide high rendering rates. Parallel processing elements are used for geometry and for fragment processing. A pipeline of processing elements is used for rasterization.
Modern CISC and RISC microprocessors use sophisticated caching schemes to bridge the performance mismatch between their internal execution units and the capabilities of commodity memory technologies. A variety of cache architectures and organizations have been developed and are finding use in current and future high-performance computer systems. Designers of systems with next-generation PowerPC/sup TM/ microprocessors face similar challenges. System performance implications for various cache architectures (look-aside, in-line, back-side) and cache organizations (direct-mapped, set-associative) need to be understood so that cost-effective cache hierarchies can be built. This paper presents the results of an analysis done at the Motorola Computer Group to characterize the required properties of a cache hierarchy for a next-generation G3 PowerPC superscalar low-power microprocessor.
Issues related to the design of virtual reality systems are discussed in the context of the development effort for a virtual cockpit. Subsystems provide visual imagery, hand and head tracking, control logic and force feedback. The force feedback subsystem uses robotic positioning to place an assortment of knobs and switches into position to be touched: the user's hand trajectory is extrapolated and the correct type of control is placed just in time to be actuated. Discussion focuses on selecting among alternative system elements and configurations in arriving at an overall systems design.
This paper describes the mechanisms used by Inferno to secure communications between machines. All security is optional: an application may use it or avoid it. Inferno provides strong mutual authentication message encryption, message digesting, and digital signatures. Authentication and digital signatures are performed using public key cryptography. Public keys are certified by Inferno-based certifying authorities that sign the public keys with their own private key.
Limbo is the application programming language for the Inferno operating system. Although Limbo looks syntactically like C, it has a number of features that make it easier to use, safer and more suited to the heterogeneous, networked Inferno environment: a rich set of basic types, strong typing, garbage collection, concurrency, communications, and modules. Limbo may be interpreted or compiled 'just in time' for efficient, portable execution. This paper introduces the language by studying an example of a complete, useful Limbo program. The program illustrates general programming as well as aspects of concurrency, graphics, module loading, and other features of Limbo and Inferno.
The paper gives an overview of the technical direction of Java in terms of the security architecture and desirable features. It also highlights some of the feasibility constraints on the security solutions. The paper assumes that the reader has prior knowledge of Java basics and general security issues. The article is a purely technical discussion for the wider Java community, and does not necessarily commit JavaSoft to any particular features or implementations.
The internal architecture of a 2000 MIPS/1000 MFLOPS (peak) high-performance low cost CMOS Alpha micro-processor chip is described. This implementation is derived from the Alpha 21164 microprocessor to reduce cost while maintaining high performance. It contains a quad-issue super-scalar instruction unit, two 64-bit integer execution pipelines, and two 64-bit floating point execution pipelines. The memory unit and bus interface unit have been re-designed to provide a high performance memory system using industry standard PC SRAM and DRAM components.
OLE DB is Microsoft's new data access API designed to enable access to all kinds of data sources, both database and non database, regardless of format or location. OLE DB builds on Microsoft's Component Object Model (COM), which is the foundation for OLE and ActiveX. OLE DB is core to Microsoft's Universal Access strategy. OLE DB aims at providing an environment for business applications to access all kinds of data sources in an integrated way, including desktop data such as spreadsheets, text processing documents, and electronic mail; server data stored in the file system, indexed sequential files, relational, hierarchical and network databases; and data computed by middle tier business objects. Most database companies are pursuing a Universal Storage strategy which provides access to all kinds of data types such as text, spatial, video, and audio, and insist on placing all kinds of data used in an organization inside the database. However, the reality is that a vast amount of mission critical data in a corporation is stored in a combination of database and non database data sources for functionality and performance reasons. Therefore, Microsoft is pursuing a Universal Access strategy which provides an infrastructure that enables the integration of a wide variety of data sources so that applications can be written in an efficient, safe and disciplined manner without losing the advantages of a centralized database system. The paper provides an overview of OLE DB and describes how OLE DB enables the Microsoft Universal Access approach to managing data.
We review two classes of image analysis tools based on single and multiple channel models of human vision processing. These tools were designed to predict the visibility of printed dots and halftone texture, respectively.