Thread View: comp.dsp
1 messages
1 total messages
Started by "Marni Goldshlag marni
Fri, 28 Aug 1992 17:31
Mwave
Author: "Marni Goldshlag marni
Date: Fri, 28 Aug 1992 17:31
Date: Fri, 28 Aug 1992 17:31
360 lines
18585 bytes
18585 bytes
The following is a description of Mwave:
Marni Goldshlag
Team Mwave
IBM
Research Triangle Park, NC
IBM and TI have announced an alliance and disclosed information
about Mwave which is an open platform for multi-media computing.
The Mwave technology is the merging of an innovative multi-media
Digital Signal Processor (DSP) and a realtime software
scheduling environment. Mwave enables multiple DSP tasks to
execute in a realtime environment and to be dynamically scheduled
to GUARANTEE no loss of data, image, or sound objects. Mwave has
the unique capabilities of being able to load and unload tasks
into the DSP while other tasks are currently executing.
The Mwave technology is an OPEN architecture that allows 3rd-party
programmers to write new DSP tasks and PC drivers/applications
and add them to the existing library.
ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD?
| Mwave Operating System (Mwave/OS) Overview |
@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDY
The Mwave signal-processing subsystem has been specifically designed
to meet the demanding performance requirements of multimedia
applications. This performance capability is achieved by a high
level of synergism between the core signal processor, Mwave Operating
System (Mwave/OS), and multitasking host interface components.
These resources and the host software are effectively VIRTUALIZED
so that each task may operate independently of other tasks running
in the system. The result is a robust application environment
in which signal processing tasks for speech, audio, video,
telecommunications, and other diverse sources can be started
and terminated on a dynamic real-time basis.
ZDDDDDDDDDDDDDDDDDDDD?
| Mwave Task Library |
@DDDDDDDDDDDDDDDDDDDDY
The Mwave task library contains a collection of digital signal
processor (DSP) tasks to support common multimedia applications.
These tasks utilize many of the features of the Mwave processor
and operate on the Mwave demonstration card. Each of the Mwave
tasks can be loaded dynamically and run concurrently with other
tasks under the Mwave Operating System (Mwave/OS). The functions
performed by these tasks include audio, telephony, and image
processing. A separate group of system support tasks provide a
common software interface to the hardware components of the
demonstration card. A complete multimedia application consists of
the application software, device driver(s), Mwave Manager, Mwave/OS,
and the appropriate Mwave DSP tasks.
Audio Tasks
Moving high fidelity data quickly and reliably between a
PC and its audio subsystem is a major problem in the design
of multimedia PCs. Mwave solves this problem by providing
direct memory access (DMA) of PC memory to the Mwave tasks.
Consequently, Mwave is capable of mixing 32 channels of 16-bit,
44.1k samples/second audio data from PC memory and playing it to
a stereo output.
In addition, the Mwave audio tasks along with the on-chip MIDI
port provide all the hardware function required for Multimedia
PC (MPC) compatibility. Mwave audio tasks include a sampled-sound
synthesizer, CD-XA decompression, mu-law and A-law expansion,
and 8-bit and 16-bit stereo PCM playback and recording at sample
rates of up to 44.1k samples/second.
Telephony Tasks
The telephony functions include tasks for asynchronous modems, FAX,
and a telephone answering machine. The asynchronous modems support
speeds from 50 bps to 9600 bps including Bell-103, Bell-212A,
CCITT V.21, V.22bis, and V.32 protocols. Also included are tasks
that perform MicroCom Networking Protocol (MNP) classes 1 through
5 and call progress detection. The modems utilize the Mwave
Processor serial communications port hardware to provide an
industry-standard interface to existing communication programs.
A device driver provides compatibility with the Attention (AT)
command set.
The library includes a collection of tasks to support G3 FAX and
telephone answering machine functions. The FAX support tasks
include a FAX T.30 protocol manager, FAX image
compression/decompression, and FAX modems (CCITT V.21, V.27ter,
V29). The telephone answering machine tasks include the phone
line manager, microphone manager, DTMF receiver, voice sub band
coder/decoder, and a time-domain harmonic scaling task to allow
playback of speech at variable speeds without altering the pitch.
In addition, a task is provided that allows the Mwave demonstration
card to be used as a speaker phone.
Image Processing Tasks
The Mwave Task Library includes two tasks to accelerate the
processing of images. They perform the 8x8 two-dimensional discrete
cosine transform and the inverse transform. Included with the
transforms are the quantization, dequantization, and color space
conversion functions. These tasks perform a portion of the
computation required to display JPEG images. Combined with a
device driver and DMA support they can decompress and display
a moderately complex 640x480 image in less than one second
on a 33 Mhz 386 system.
Mwave System Support Tasks
The system support tasks provide common software interfaces
between system hardware and other DSP tasks. The functions
supported by these tasks include telephone interface
control and dialing, handset control and status,
CD-quality stereo output, CD-quality microphone input,
serial communications port control and data flow, DMA
data flow, analog configuration control, sample rate conversion,
and MIDI port interface control.In general, these tasks are
known as DSP BIOS tasks because they provide a basic input
and output service for Mwave.
ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD?
| Mwave Technology Demonstration |
@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDY
The Mwave technology demonstration on March 10th executed on a
prototype card inside an IBM PS/2 microchannel machine that
includes the Mwave digital signal processor (DSP). The Mwave
Operating System (Mwave/OS) can concurrently run a number of
tasks with the ability to dynamically add tasks or remove
tasks without affecting the execution of other tasks. This is a
feature known as hard-real-time dynamic configurability. The
Mwave processor can execute software that replaces many
physical devices. Some of these devices are emulated in
this demonstration, others are yet to be defined. The Mwave
processor is even capable of emulating more than one physical
device simultaneously. The Mwave processor and Mwave/OS are
designed to create a standard base upon which new software
packages can be readily created.
Automated Mwave Demonstrations:
A CD-XA dual stereo decoder demo was shown with 2 stereo channels
(4 total channels): one channel is a voice recording at level C
(9.45k bytes/sec) at "AM" quality, and a second channel is
a music recording at level B (18.9k bytes/sec) at "FM" quality.
The Mwave processor decodes these channels and mixes them
together for playback.
A 3-Dimensional fast Fourier transform (FFT) power spectrum display
of a CD audio disk's audio output (stereo 44.1kHz, 16 bit data) was
shown. The PC display shows the real-time frequency response
versus time.
A sampled sound synthesizer was shown emulating different musical
instruments, like pianos, guitars, horns, etc. CD quality
(44.1kHz, 16 bit) recordings of notes from real instruments
provide the sound. The synthesizer is driven by standard
MIDI files stored on PC disk. The combination of MIDI files
and this synthesizer allow HiFi music to effectively be
represented in a form that is 1000 times more condensed than
a CD quality recording.
A JPEG (Joint Photographic Experts Group) still frame full color
image decompression demo was shown with JPEG images decompressed
from hard disk to display in less than 1 second for resolutions
of 640 by 480 pixels with 256 colors. This decompression time
allows images to be retrieved and displayed faster in compressed
form from disk than in uncompressed form, and take a fraction
of the disk space. The JPEG compression algorithm compresses 24
bit RGB 640 by 480 pixel files from about 900k bytes down to
about 35k bytes or about 25 to 1 compression.
Escorted Mwave Demonstrations
A V.32 modem/Prodigy application is shown using the Mwave V.32
function (9600bits/sec Full Duplex Modem) that works with
any PC application that uses a PC serial port. This
demonstration shows how the Mwave processor fully implements
a standard PC serial port. It also shows a prototype Prodigy
system operating at 9600bps speeds.
A G-3 facsimile receiver demo shows reception of a page
from a standard G-3 facsimile machine and a real-time display
of the page on the PS/2 monitor as it is received. The Mwave
processor implements the V.2/V.27ter modems (2400, 4800, 7200,
and 9600 bits/second), the T.30 protocol, and the image
decompression (or compression if transmitting).
A V.32/MNP modem file transfer at 19,200 bits/second is
shown using MNP Class 5 compression. A file is received by the
demo machine and displayed in real-time to show the speed of
the V.32/MNP modem.
A V.22bis modem and the Prodigy application is shown
using the Mwave V.22bis function (2400 bits/second Full Duplex
Modem). This is the same as the V.32 modem with Prodigy, just
not as fast.
A 3-Dimensional FFT of a HiFi microphone input is shown.
This is the same as the other 3-D demo except its input is
from a live microphone.
A JPEG plus V.32 modem with Prodigy application demo is shown
which is the same as the V.32 modem with Prodigy demo, but the
JPEG image decompression is done at the same time as the modem
is communicating using Prodigy.
A sampled sound synthesizer, V.22bis modem with Prodigy
application, plus a HiFi microphone input, are all shown
simultaneously with a 3 input mixer combining all three independent
audio sources, i.e., the synthesizer output, the sound of the
modem on the telephone line, and the HiFi microphone input. The
output of the mixer is sent to the HiFi outputs.
A V.22bis/MNP modem is shown running concurrently with
JPEG image decompression, which is synchronized with
Sub Band Decoding decompression on an audio file from disk.
The audio stream additionally can be speeded up or slowed down
using time domain harmonic scaling (TDHS) without altering the
pitch of the audio source. This is an example of extensive
multitasking with 18 tasks running simultaneously on the Mwave
processor under Mwave/OS. The Procomm Plus application program
transmits a file through the Mwave V.22bis/MNP modem at
4800 bits/second. Simultaneous with this, a multimedia video
and audio presentation is given.
Other Possible Mwave Applications that the Mwave architecture could
support with future tasks and/or enhancements.
Telephone answering machine and speaker phone
Other Modems like: V.32bis, V.17, V.FAST, cellular
Other Modem Protocols like SDLC, V.42, V.42bis
Speech synthesis
Speech recognition
MPEG audio processing
Picture phone
Windowed motion video
ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD?
| Mwave Digital Signal Processor (DSP) Overview|
@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDY
The Mwave Processor has been developed to meet the increasing
performance demands imposed by a growing list of real-time
applications. The processor consists of a core digital signal
processor (DSP) plus peripheral elements that enhance its ability
to efficiently support Mwave/OS and interface to the host system.
Key components of the Mwave Processor include:
Micro Channel Busmaster DMA capability provides applications
with virtual DMA channels. This allows concurrent applications
to have individual high-speed data transfer paths between
the host and the Mwave Processor's core DSP.
Hardware I/O circuits were designed to automatically stream
data between peripheral devices and data buffers in the Mwave
Processor's memory space without involving the Mwave Processor
directly. This provides efficient data movement between the
Mwave Processor and its peripherals.
Virtual interrupt channels provide concurrent applications
with efficient communication paths between the Mwave Processor
and the PS/2 host processor.
Certain fundamental architectural features characterize the
architecture of the Mwave Processor's DSP core.
They include:
Deterministic Instruction Execution
Real-time signal processing applications run in a
very deterministic environment, not a statistical one.
That is, the time limits set for tasks in real-time signal
processing applications must typically be adhered to absolutely,
not just on average. The requirement this imposes is that it
be possible to measure the maximum run time of each real-time
signal processing task to determine if particular combinations
of tasks can run concurrently. Hardware features within the
Mwave processor, along with features of Mwave/OS, make this
task determinism possible.
Harvard Architecture
A simple technique for reducing instruction execute latency
is to separate the data and instruction memories (the
Harvard architecture) and provide totally separate data
and instruction buses.
ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD?
| Mwave Digital Signal Processor (DSP) Details |
@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDY
* Peak performance of 51 Million Operations Per Second (MOPS)
* Up to 3 operations per instruction (17 MIPS guaranteed)
* 51 MOPS = 17 MIPS * 3 operations/instruction
* Specific features for the handling of realtime multi-media objects
* Integrated UART registers emulating current modem interfaces
* Compatible with industry standard communication software
* FIFO capability
* Can be disabled for future high speed modems using DMA
* MIDI port with function extensions
* 3 modes (PS/1,smart,snoop)
* Integrated DMA support
* Serial port for 196 kHz DAC audio output
* Stereo, 16 bit, oversampled (DSP output is 44.1 kHz)
* Serial port for 44.1 kHz ADC audio input
* Stereo, 16 bit
* Serial ports to control telephony functions
* US telephony attachment with status/control features
* Seperate Telephone/Handset support
* Features for world-trade support
* General-purpose ports for future card functions
* Two 4-Mbit Full-duplex ports
* Complete Bus control logic for Microchannel or AT bus
* Support for virtual DMA channels (packet chaining)
* High-Performance Bus Master capability for Microchannel and AT
ZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD?
| Illustrated below is a high level functional overview |
| of a prototype "non-production" single-slot microchannel |
| card that was used to demonstrate the Mwave technology. |
|DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD|
| This drawing is not to be misconstrued as a product |
| commitment or plan by IBM or TI. Its sole purpose is |
| to be used as a "protoboard" when discussing different |
| possible market segments and customer demands. |
@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDY
Midi Breakout Cable
ZD?
ZDDDDDDDDDDDDD? ZDDDDDDDDDDD? Jack | |DD IN
| |DDDDDDDDDDDDDDDD| MIDI |DD<<DDD| |DD OUT
| Mwave DSP | ZDDDDDDDDDD? | Interface | | |DD THRU
| Processor | | 16 bit | @DDDDDDDDDDDY @DY
| | | 196 kHz |DDDDDDDDDDDDDDDDDDDDDDDDDD> L out
| |DDD|Oversample|DDDDDDDDDDDDDDDDDDDDDDDDDD> R out
| 51 MOP | |Stereo DAC| ZDDDDDDDDDDDD? Audio Jacks
| Multi-Media | @DDDDDDDDDDY | 16 bit |DDDDDDDDDD< L in
| DSP | | 44.1 kHz |DDDDDDDDDD< R in
| |DDDDDDDDDDDDDDDDD| Stereo ADC |
| | @DDDDDDDDDDDDY
| | ZDDDDDDDDDDDDDDDDDDDDDDDDDDD?
| |DD| 32Kx16 Static Data RAM |
| | |DDDDDDDDDDDDDDDDDDDDDDDDDDD|
| |DD| 32Kx24 Static Instruc RAM | Telephony
| | @DDDDDDDDDDDDDDDDDDDDDDDDDDDY Daughter-card
|DDDDDDDD? | ZDDDDDDDDDDDDDDDDDDDDDDDD?
|Micro | | ZD? ZD| |
DDDDDD| Channel| | |C| |C| ZDDDDDDD? ZDDDDDDD|
System| | | |O| |O|DDDD| Codec |DDD| RJ-11 | Phone
BUS | or | | |N| |N| @DDDDDDDY | Jack |Company
DDDDDD| | |DDDDDD|N| |N| ZDDDDDDD? |DDDDDDD|
| ISA | |DDDDDD|E| |E|DDDD| Codec |DDD| RJ-11 |Telephone
|DDDDDDDDY | |C| |C| @DDD+DDDY | Jack |
| | |T| |T| | @DDDDDDD|
| | |O| |O| ZDDDDD+DDDDDD? |
| | |R| |R|DD| Stuff | |
| | @DY @D| @DDDDDDDDDDDDY |
@DDDDDDDDDDDDDY @DDDDDDDDDDDDDDDDDDDDDDDDY
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads