ein ARM kommt mir schon wesentlich wahrscheinlicher vor. Die von dir erwähnten Spezialbefehle für die Bildverarbeitung hat ein Standard-ARM aber nicht. Die muss der Kunde, in diesem Fall Canon, dann selbst implementieren.
Firmen wie z.B. Micronas (
http://de.wikipedia.org/wiki/Micronas) stellen Designtools zur Verfügung,
mit denen man aus vorgefertigten Funktiongruppen selbst Chips designen kann.
Für so einen Kameraprozessor kann das dann in etwa so aussehen:
- Design für eine Betriebsspannung von 1,8 V
- ARM7-Kern mit 400 MHz
- 32 bit-Interface für DDR2-400 RAM (macht theoretisch 1600 MByte/s)
- 8 KByte Zwischenspeicher für zeitkritischen Programmcode
- 32 KByte Zwischenspeicher für Daten
- 4x 1 KByte für Lookup-Tabellen
- 2 LVDS-Links + DMA für Anbindung des Bildsensors
- 1 LVDS-Link + DMA zur Anbindung des AF-Sensor-Controllerchips (an dem dann die 7 bis 45 AF-Sensoren hängen)
- 1 LVDS-Link + CRT zur Anbindung des Displays
- CRT-Controller + PAL/NTSC-Videomodulator für Videoanschluß
- 1 LVDS-Link + DMA zur Anbindung der Belichtungsmessung
- Port zur Ansteuerung von bis zu 32 Tasten + andere Eingabesensoren (bis hin zur Akkuklappe und der Detektion eines externen Blitzgeräts)
- Port zur Ansteuerung von bis zu 3 Tasten, die den Prozessor aus dem Tiefschlaf aufwachen lassen können
- USB 2.0-Port
- Port zur Anbindung einer SD-Karte und einer CF-Karte
- IO zur Ansteuerung der Speicher-LED
- CMOS-Uhr + CMOS-Speicher für wichtige Einstellungen + Anschluß Stützbatterie
- 6 bit-AD-Wandler zur Überwachung der Betriebsspannung
- IO zur Ansteuerung von Objektiven, Klappspiegel und Verschluß
- IO zur Ansteuerung von Monochrom-LCD-Displays auf der Kamera und im Sucher + Helligkeitssteuerung
- IO zur Blitzsteuerung (Kommunikation, Blitz-Taste, Blitz entriegeln, Blitz ist entriegelt?, Blitzauslösung, Kommunikation externer Blitz)
- 128 bit-Spezial-ALU für Bildverarbeitung (ähnlich zu Intels MMX/SSE)
- Spezialbefehle zur hochwertigen Dematrixierung (12/14 bit Bayer-Pattern => 3x 16 bit RGB)
- Spezialbefehle zur Farbraumumrechnung (Linear RGB => Gamma YUV)
- Spezialbefehle zum hochwertigen Schärfen und Rauschfiltern
- Spezialbefehle für die DCT und iDCT
- DMA-Controller mit einfacher Bildverarbeitung für Liveview
- Anschluß für Flash-Speicher mit Betriebssystem + Kameraprogramm
- Beeper-Anschluß
- Ansteuerung AF-LEDs
Das ganze ist dann ein Chip, auf dem der ursprüngliche ARM-Kern vielleicht
15% bis 20% der Chipfläche ausmacht. Der Rest sind die ganzen Zusatzfunktionen
(die man bei derzeitigen PCs in der North- und South-Bridge konzentriert hat),
dran kommen noch 2 oder 4 RAM-Chips, ein über einen seriellen Link
angeschlossener Boot-Flash und fertig ist das System.
Auch wenn diese Funktionalität auf ein Chip konzentriert ist, es kommt noch genug
Schmodder für den ganzen anderen Rest zusammen (externe Sensoren, wie Bildsensor,
AF, Belichtungssteuerung, Eye-Sensor, Spannungswandler, internes Blitzgerät, AF-LEDs,
Beeper, ...), man braucht keine Angst zu haben, es wird auch so eng genug in einem
Gehäuse einer 400D oder 450D.
Eine Mehrchiplösung würde bei den Stückzahlen, mit der Kameras wie die 400D, 450D, 30D
und 40D verkauft werden, für Canon Millionenmehrkosten verursachen. Auf andere Chips
auszulagern lohnt sich nur für Dinge, die Millionen von Transistoren benötigen und die
es als kostengünstiges Konsumgut gibt (RAM, Flash) oder die extern sein müssen, weil sie
sich an einem speziellen Platz befinden müssen.