b1598289a722fe9351107814391be959.ppt
- Количество слайдов: 40
System design techniques z. Private branch exchange (PBX). z. Ink-jet printer. z. PDAs. z. Set-top boxes. z. Systems-on-silicon. © 2000 Morgan Kaufman Overheads for Computers as Components
Digital telephone switches z. High-end switches are highly reliable: y 30 seconds downtime per year. z. Companies, homes install private branch exchanges (PBXs): yintercom features; ymanagement of long distance charges. © 2000 Morgan Kaufman Overheads for Computers as Components
Telephone switching systems z. Establish telephone calls: ywithin switch, find other phone line; youtside switch, find route to other line. z. Route voice samples between phones. z. Measure call time for billing. z. Provide maintenance access to switch. © 2000 Morgan Kaufman Overheads for Computers as Components
Telephone terminology z. Line: distinct telephone connection. z. Line card: PBX/subscriber line interface. z. Off-hook: active telephone. z. On-hook: inactive telephone. z. Trunk line: phone lines between switches. z. POTS: plain old telephone service (analog, no fancy services). © 2000 Morgan Kaufman Overheads for Computers as Components
Computer-controlled telephone switching z Voice data rates: y 8 bits sample (m or A law); y 125 m s period (8 k. Hz). z Telephones are I/O devices. z Computer bus is switch. © 2000 Morgan Kaufman CPU memory Overheads for Computers as Components line card
Dialing z Dual-tone multifrequency (DTMF): tones define row, column of key. z Must be held for 0. 1 sec. 2 3 4 5 6 7 8 9 * © 2000 Morgan Kaufman 1 0 # Overheads for Computers as Components
Call states Line 1 Receive call Rcv ringing Incoming call Take off-hook © 2000 Morgan Kaufman Call Return on-hook On-hook Place call Take off-hook Other phone off-hook Place Line 2 ringing Dial decoder ready Dial Off-hook Dialing tone Overheads for Computers as Components Number complete
PBX model z. Calls are parallel processes: Call coordination, billing, etc. Call 1 © 2000 Morgan Kaufman . . . Overheads for Computers as Components Call n
Tigerswitch system architecture z. PC platform. y. Switch calls over ISA bus. z. Line cards are custom devices. © 2000 Morgan Kaufman Overheads for Computers as Components
DTMF sensing z Software process on CPU. y. Uses lots of CPU time. CPU z Analog filter bank on line cards. y. Expensive in volume. DTMF card memory z DSP on separate card. y. Requires new design. © 2000 Morgan Kaufman line card Overheads for Computers as Components line card
Switching z Process-per-call is bad implementation. y. Context switch per call per 125 ms. z Unroll calls into one loop. y. Each loop iteration is one call for one sample. © 2000 Morgan Kaufman for (i=0; i<n_calls; i++) { /* from 1 to 2 */ data = read(call[i]. line 1); write(call[i]. line 2, data); /* from 2 to 1 */ data = read(call[i]. line 2); write(call[i]. line 1, data); } Overheads for Computers as Components
HP Design. Jet drafting plotter z. Plots up to 36 inches wide at 300 DPI. z. Combines a variety of tasks: yhost communication; ygraphics language interpretation; yrasterization; ydevice control. © 2000 Morgan Kaufman Overheads for Computers as Components
The plotting process HP-GL/2 Post. Script rasterizer raster memory plotter controller © 2000 Morgan Kaufman Overheads for Computers as Components
Design considerations z. Memory utilization is important. y 36 inches X large X 300 DPI X n bits/pixel is a lot of memory. y. Requires clever algorithms to minimize raster memory requirements. z. Requires real-time control. z. Requires concurrency: read new data, rasterize, control print head. © 2000 Morgan Kaufman Overheads for Computers as Components
HP Design. Jet hardware architecture adrs latch bus if i 960 KA EEPROM swath RAM pen ctrl ASIC servo proc. (8052) front panel © 2000 Morgan Kaufman stepper motor carriage PC board 1 MB ROM 2 MB DRAM proc. support ASIC DRAM ctrl Overheads for Computers as Components || if RS 422
Early architectural decisions z. Chose Intel 80960 KA as main processor. y. Handled parsing, rasterization control, print engine control. y. Multiplexed bus reduced pin count. y. Could be upgraded to floating-point if necessary. z. Used modular I/O to host system. z. Did not use disk for local storage. © 2000 Morgan Kaufman Overheads for Computers as Components
System components z 2 MB RAM (SIMM sockets for more). z. Three ASICs: ypen interface; yprocessor support; ycarriage. z. Servo processing performed by 8052 microcontroller. © 2000 Morgan Kaufman Overheads for Computers as Components
Rasterization z. Plot is generated in swaths. y. Separate swath memory. z. Pixels are generated in row order by main processor. z. Pixels are fed to pens in column order. z. Pen interface ASIC transforms row order to column order. © 2000 Morgan Kaufman Overheads for Computers as Components
Data flows parsing and rasterization adrs latch bus if i 960 KA swath generation EEPROM servo proc. (8052) front panel © 2000 Morgan Kaufman pen ctrl ASIC swath RAM drawing stepper motor carriage PC board 1 MB ROM 2 MB DRAM proc. support ASIC DRAM ctrl Overheads for Computers as Components || if RS 422
Operations z. Servo processor controls stepper motor. z. Carriage processor must write, read pen alignment marks. z. Processor support ASIC provides multiple functions: interrupt and mailbox communication. z. Motion controller decodes position of print carriage and paper; watchdogs servo. © 2000 Morgan Kaufman Overheads for Computers as Components
Pen interface ASIC z. Interfaces to i 960 bus, swath memory, carriage ASIC. z. Pen interface reads pixels from swath in predetermined pattern using pixel address generator. z. Must support bidirectional printing since head prints both ways. © 2000 Morgan Kaufman Overheads for Computers as Components
Carriage ASIC z. Interrfaces to processor bus, pen interface ASIC, servo controller. z. Reads timing control registers using the CPU bus. z. Delay registers add correction for pen alignment. © 2000 Morgan Kaufman Overheads for Computers as Components
Development process z. Pixel shuffling algorithm for pen interface/carriage ASICs was prototyped in C. z. Built emulators for ASICs to allow parallel development of i 960 software and hardware. © 2000 Morgan Kaufman Overheads for Computers as Components
Software development environment z. Plotter software could be run on Unix workstation or target platform. y. Differed in I/O and print engine subsystems. y. Print engine was emulated on host with X window interface showing swath state. z. Used in-house RTOS. z. HP-GL/2 parser was legacy code. © 2000 Morgan Kaufman Overheads for Computers as Components
Software development environment, cont’d. z. Rewrote vector/raster converter from assembly language to C to port to i 960. z. Used gdb 960 as monitor debugger on target system, communicating with host. z. Front panel developed on PC, tested by user interface designers, marketing. z. Paper loading designed by mechanical engineers. © 2000 Morgan Kaufman Overheads for Computers as Components
Personal digital assistant z. PDA: portable, specialized information device. z. Characteristics: ylow cost for consumer market; yphysically small; ybattery-powered; ysoftware-rich. © 2000 Morgan Kaufman Overheads for Computers as Components
Apple Newton z. First modern PDA. z. Original used ARM 610; later version used Strong. ARM. z. Support operations in Runt ASIC: DMA, real-time clock, video interface, audio, PCMCIA. z. Software written in Newton. Script language. © 2000 Morgan Kaufman Overheads for Computers as Components
Newton hardware architecture ARM 610 PCMCIA infrared ROM Runt ASIC serial I/F A/D LCD tablet speaker © 2000 Morgan Kaufman RAM Overheads for Computers as Components
Motorola Envoy hardware architecture PCMCIA 1 MB DRAM 4 MB flash Magicbus audio modem © 2000 Morgan Kaufman Astro system ASIC 68439 CPU Overheads for Computers as Components infrared power supply A/D touchscreen
Feature creep z. Designers tend to add features to system during design. y. Increases power consuption. y. Changes mechanical design. y. Makes software design more complex. z. Software thrashing can reduce battery life. © 2000 Morgan Kaufman Overheads for Computers as Components
PDA power supply z. System must be designed to gracefully handle low battery power. y. Abrupt power loss can destroy lots of data in RAM. z. Smart Battery System puts electronics in battery to measure battery performance. © 2000 Morgan Kaufman Overheads for Computers as Components
Info. Pad z. Brodersen et al: advanced networked multimedia information appliance. z. System performed many functions on remote systems to increase battery life. z. Made use of specialized hardware units to reduce power consumption over software implementation. © 2000 Morgan Kaufman Overheads for Computers as Components
Info. Pad hardware architecture Wireless network interface Speech codec display Video decompressor Keyboard/pointer other I/O ARM 60 © 2000 Morgan Kaufman Overheads for Computers as Components
Set-top boxes z. Interface between cable/satellite and TV: ydigital television; yuser interface; ymay include back channel for purchases, etc. z. Very cost-sensitive market. © 2000 Morgan Kaufman Overheads for Computers as Components
Set-top box in system digital TV input set-top box IR © 2000 Morgan Kaufman Overheads for Computers as Components back channel
Philips fiber-to-curb box hardware DRAM Network interface DRAM kbd MPEG demux NVRAM I/O IR card © 2000 Morgan Kaufman PCMCIA MPEG audio MPEG video DRAM CD-I graphics Overheads for Computers as Components NTSC
boot/monitor software Fiber-to-curb box software default apps custom apps OS-9 kernel I/O manager application layer OS layer device drivers network MPEG 2 interface demux processor © 2000 Morgan Kaufman audio/video CD-I interfaces graphics Overheads for Computers as Components hardware layer
Systems-on-silicon z. Can build significant embedded systems on single chip: yone or more high-performance CPUs; y. I/O devices; ymemory. z. Advantages: yhigher performance and lower power; ylower cost. © 2000 Morgan Kaufman Overheads for Computers as Components
Moore’s Law (Sematech) 109 billion-transistor system-on-chip PC on chip 108 2000 © 2000 Morgan Kaufman 2012 Overheads for Computers as Components
Design challenges z. Core-based design: can’t take time to design gates, lines of code. z. Custom architectures: yheterogeneous multiprocessors; ycustom memory systems. z. Verification: ylong turnaround time; ycan’t probe interior directly. © 2000 Morgan Kaufman Overheads for Computers as Components
b1598289a722fe9351107814391be959.ppt