RIORED PPC
© Juin 2000, SILICON FRUIT / Rodolphe Czuba / Thierry Schembri
S'il vous plaît, essayez de ne pas imprimer cette page sur papier - Sauvez la planête !
ARCHITECTURE
PRESENTATION
Offrant une haute performance, la carte RIORED propose une solution simple et bon marché pour les sociétés qui développent des produits haute performance avec LINUX ou d'autres systèmes d'exploitation fonctionnant avec la famille de micro-processeurs POWER PC.
La carte mère RIORED est conçue pour utiliser des périphériques standards du marché PC comme les barettes DIMM de DRAM Synchrone (SDRAM) et les cartes PCI 32 ou 64-Bits.
Le RIORED fourni 4 slots PCI 32-Bits/33MHz et 2 slots PCI 64-Bits/66MHz, 1 slot AGP, 2 ports IDE (Ultra-DMA 66), 4 ports USB, et 4 supports DIMM de SDRAM PC-100 permettant une capacité maxi de 1 Go de mémoire entrelacée de haut débit. La carte mère utlise le chipset IBM CPC710 comme 'North Bridge' et le chipset AMD VIPER comme 'South Bridge.
Le CPC710 interface le CPU avec la mémoire SDRAM, la mémoire FLASH et les bus AGP et PCI.
Le VIPER interface le bus PCI avec les ports IDE et USB, l'horloge/calendrier, les Timers et le système des INTerruptions, et le système de gestion de l'energie.
Le CPU n'est pas sur la carte mère, mais sur une carte fille par le biais d'un connecteur de type 'SLOT1'. RIORED a deux de ces connecteurs nommés PP SLOT. Une ou deux cartes filles CPU peuvent être utulisées pour des configurations uni-processeur ou bi-processeur (SMP).
Dans la première version de RIORED, chaque carte fille est constituée d'un POWER PC IBM G3cx à 550 MHz 'SideWinder'. Dans les versions suivantes, l'horloge du G3cx pourrait être augmentée jusqu'à 700 MHz.
CARACTERISTIQUES HARDWARE
- RIORED supporte une ou deux cartes filles CPU.
Chaque carte fille est pourvue d'un PowerPC IBM G3cx opérant à 550 MHz.
- 4 supports DIMM 168 pins pour 64Mo à 1Go de memoire entrelacée (DIMM utilisées 2 par 2) consistant en de la SDRAM 64 ou 72-Bits (ECC) non bufférisée (unbuffered).
- Horloge SDRAM à 100MHz (PC-100) pour un débit de jusqu'à 800 Mo/s.
- FLASH de 512 ko pour le BIOS et le SETUP.
- 4 slots PCI-32 (32-Bits) / 33 MHz avec transfers BURST de 133 Mo/s.
- 2 slots PCI-64 (64-Bits) / 66 MHz avec transfers BURST de 528 Mo/s.
- 1 slot AGP (3.3V) avec capacité de transfers en DMA.
- 2 ports PCI- IDE pour 4 périphériques Ultra-DMA 66.
- 4 ports PCI- USB à 1,5 et 12 MBit/s).
- 1 port I2C pour plioter un écran LCD sur la façade du boitier afin de visualiser les informations du système.
- 1 port I2C pour les bidouilleurs.
- Horloge/Calendrier et NVRAM de 256 octets sauvegardés avec batterie 3V lithium.
- Gestionnaire d'INTerruptions avec distribution 'propre' (pas d'INT partagées).
- Gestionnaire d'Energie avec capacité de réveil depuis des événements USB (clavier / modem) et PCI (carte Ethernet).
- Capteur de temperature ambiante.
Le Hardware est expliqué en détail dans le 'Riored Open Hardware Book (ROHB).
LE BIOS
Le BIOS est un programme situé sur une ROM Flash sur la carte mère. Il peut être mis à jour seulement par un programme spécial. Ce programme est aussi souvent appelé Programme de Boot. Sa principale fonction est de gérer la configuration de la carte mère et des paramètres des cartes présentes dans la machine. Il configure les paramètres simples tels que l'heure, la date ou les disques durs ainsi que des paramètres plus complexes comme la synchronisation hardware ou le mode de fonctionnement des périphériques.
Etapes du programme de boot
Lorsque vous allumez l'ordinateur, il est contrôlé par le programme contenu dans le BIOS. Le BIOS effectue d'abord un auto-diagnostic du hardware dont il a besoin, configure les paramêtres de synchro hardware et détecte tout le hardware présent. Seulement lorsque toutes ces tâches sont terminées, il donne le contrôle de l'ordinateur au système d'exploitation.
Etapes du boot :
- Initialisation des chips (cpu(s), bridges) & bus PCI.
- Test mémoire rapide (regarde seulement quelle est combien de RAM est présente)
- Installation du driver I2C pour gérer l'écran LCD
- Installation des drivers clavier & souris PS/2 (seulement sur les prototypes, le clavier & la souris utiliseront un port USB dans les modèles de production)
- Récupération des informations sur les cartes PCI
- Initialisation des cartes video & Affichage du logo (sur chaque écran)
- Test de la mémoire
- Installation des drivers IDE / SCSI & récupération des infos sur les disques durs
- Installation du driver NE2000
- Affichage des infos & du menu de setup & joue le son de bienvenue
- Installation des appels systèmes (qui seront utilisés par un système d'exploitation)
- Chargement du MBR (Master Boot Record) du disque dur en mémoire / Boot à partir du réseau
- Execute le programme MBR
Principales caractèristiques
- Supporte les spécifications Intel PCI 2.1
- Supporte les spécifications APM
- Boote à partir d'un périphérique ATA / ATAPI / SCSI (peut booter d'un disque dur, d'un CDROM compatible EL-Torito, ZIP ou flash RAM)
- Boote à partir du réseau avec une carte PCI Ethernet NE 2000 avec bootp
- Programme de setup graphique (utilise un mode graphique & la souris)
- Affichage d'informations sur un écran I2C LCD
Drivers
Le BIOS installe des fonctions de bas niveau pour permettre à un système d'exploitation de communiquer avec le hardware. Nous précisons néanmoins que ces fonctions sont très génériques et ne sont pas optimisées pour un hardware particulier (par exemple, les fonctions vidéo utilisent seulement les basses résolutions VGA et ne gérent aucun accélerateur graphique ou des modes graphiques spéciaux). Ces fonctions sont seulement utilisés à des fins de test et pour démarrer le système d'exploitation, elles ne devraient pas être utilisées dans un système d'exploitation. Les systèmes d'exploitation devraient utiliser ses propres drivers et ne pas appeler ces fonctions bas niveau. De plus, ces fonctions sont situées sur une rom 8bits et les appels à ces fonctions sont lents.
Les mécanismes d'appel à ces fonctions sont expliqués dans le Riored Open Software Book (ROSB).
Fonctions :
- Drivers Clavier & Souris (PS/2 & USB)
- Driver Disque (énumération, info, formatage, lecture, écriture de pistes)
- Fonctions PCI (énumération, recherche)
- Driver Vidéo (supporte les modes texte & graphique VGA standards, changement de mode, affiche des pixels ou des lignes, affiche du texte (en mode texte ou graphique))
- Driver I2C (Affiche des infos sur l'écran LCD)
- Fonctions RTC (récupère / initialise date / heure)
- Fonctions APM (configure APM )
- Driver Carte son (configure & joue des sons)
- Driver mémoire (récupère info sur la mémoire dispo)
- Driver réseau
Nous réfléchissons à une caractéristique amusante (et absolument inutile) : si il n'y a pas de disque de boot et pas de carte réseau, le BIOS pourrait lancer un petit basic en ROM (comme sur un bon vieux C64 !)
LE SYSTÈME D'EXPLOITATIONRIORED est prévu pour être utilisé avec LINUX PPC. Nous avons des contacts avec des compagnies qui écrivent et vendent des distributions Linux. Cependant, virtuellement, n'importe quel système d'exploitation peut être utilisé sur cette plate forme (QNX, FreeBSD, NetBSD, BeOS ou même AmigaOS et MinT !).
Nous voulons aider toute personne qui veut adapter un système d'exploitation sur cette machine.
VUE SCHEMATISEE DE LA CARTE MERE (Rev.1)
Transférer le 'Product Brief ' :