Click here to send us your inquires or call (852) 36130518

HISTOIRE DES UNITES CENTRALES DES ORDINATEURS

2002, 2006 Jean Bellec

en construction

retour histoire informatique

Je pensais au dbut dcrire l'volution des processeurs mais il m'a sembl prfrable d'y adjoindre au moins partiellement les volutions des architectures des mmoires principales et des canaux d'entres-sorties, ainsi que les volutions de l'architecture sous l'angle de vue du concepteur de processeurs.

***

Les ordinateurs sont largement les descendants des calculatrices numriques capables d'effectuer une opration sur des nombres introduits par l'oprateur ou stocks dans des registres. L'utilisation de circuits lectroniques pour replacer les mcanismes d'horlogerie ou la logique relais permit de faire des oprations lmentaires beaucoup plus vite qu'auparavant. Si de nombreuses applications de gestion pouvaient se contenter de ces oprations (addition, soustraction, multiplication, pourcentage), beaucoup d'applications militaires et scientifiques ncessitaient l'excution d'un algorithme c'est dire d'une squence d'instructions. La puissance des calculateurs capables d'excuter des squences d'instructions fut dmontre par Alan Turing avant mme l'avnement du premier ordinateur.

Les calculatrices programme enregistr (y compris les programmes par cartes et les automates) ont comme lment principal des instructions qui spcifient la commande excuter et les oprandes concerns par cette commande (en gnral des registres de calcul). La commande peut tre spcifie dans l'instruction sous forme dcode comprenant un bit par porte valider dans les circuits de commande des alimentations d'oprandes  ou des oprateurs, solution gagnant du temps, mais gnralement onreuse ou sous forme code, solution gnralement employe mais prenant le temps de la dcodification.

La nature des oprandes dpendait des applications. Les applications de statistiques et de comptabilit ncessitaient essentiellement des oprations sur des nombres reprsents extrieurement sous forme d'un ensemble discret de chiffres; elles avaient par ailleurs se proccuper de faire des oprations (comparaison) sur des libells cods en alphanumrique . Les applications scientifiques et techniques recherchaient des oprations rapides favorises par une reprsentation binaire des nombres.

Deux problmes aux solutions assez largement contradictoires se sont poss aux designers pendant les annes 1950: la diminution du cot des machines et l'augmentation de leurs performances.

La rduction de cot semblait devoir tre atteinte par une architecture "srie" pouvant se contenter d'oprateurs sur un seul bit. Quelques registres de travail toujours disponibles, des mmoires d'accs srie bases sur des tambours magntiques ou des lignes retard conduisaient une architecture simple et relativement conomique. Cependant, les machines mcanographiques taient dj des machines parallles (sur 12 ou 80 bits) et le traitement par l'ordinateur ncessiterait des conversions parallle/srie et srie/parallle, et par ailleurs une machine srie tait par construction au moins un ordre de grandeur plus lente qu'une machine parallle. Des compromis entre ces deux architectures furent raliss comme les machines dont le paralllisme tait limit un caractre, solution fort rpandue en 1960 et qui reprsentait un bon compromis pour les machines de gestion.

Si certaines calculatrices lectroniques initiales excutaient leurs oprations en tant synchronises par une source mcanographique extrieure, on constata assez tt que la mise au point de sries de calculateurs asynchrones prsentait de grandes difficults en particulier dues la variation des caractristiques physiques des composants lectroniques (tubes et semi-conducteurs) et on imagina de synchroniser intrieurement l'ordinateur par une horloge interne ou plus exactement un oscillateur de synchronisation des oprations (on disait parfois unification). Cet oscillateur (gnralement contrl par un simple circuit RC tait assez facilement rglable et le ralentissement de l'horloge pouvait tre une solution une certaine fatigue de composants). Le dveloppement de calculateurs entirement ou partiellement asynchrones resta un sujet de discussion. La synchronisation par horloge alignait les performances sur les oprateurs les plus complexes et les composants les plus douteux, elle introduisait des retards intrinsques dans la machine. Cependant, la plupart des designs de processeurs asynchrones -et chaque constructeur en a tudi, se traduisirent par des checs traumatisants qui dcouragrent la recherche de meilleures options de conception de telles machines.
Les machines synchronises furent elles-mmes de deux types: celles fournissant une synchronisation gnrale posant des problmes de distribution des signaux d'horloge sur des dizaines de mtres dans les ordinateurs des  annes 1950 et celle d'horloges distribues ncessitant des mmoire tampons inter-units. cette dernire solution se rpandit progressivement et avait l'avantage de s'adapter mieux une conception modulaire des systmes.

L'analyse des algorithmes conduisit immdiatement au souci de dfinir des instructions conditionnelles excuter en fonction de la valeur des rsultats des oprations prcdentes. Il tait relativement facile raliser des indicateurs de rsultats partir de l'oprateur de calcul (indicateur de report -carry- et indicateur de signe). Un indicateur d'identit souvent cod avec les deux premiers compltaient les registres de la machine, plus ou moins cachs au programmeur.

Au dbut, une des solutions pour assurer l'enchanement des instructions d'un mme algorithme fut de prolonger le mot d'instructions par l'adresse de l'instruction suivante. Cette approche permettait de ranger l' instruction suivante sur le tambour une distance variable dpendant de la dure d'excution de l'instruction en cours. Cependant, cette solution tait encombrante et on lui prfra la solution du compteur d'instruction (program counter) qui contient en permanence l'emplacement de l'instruction suivante gnralement conscutive celui de l'emplacement en cours. Dans les ordinateurs instructions de longueur constante, ce compteur est incrment de 1 mot par cycle, dans le cas o les instructions sont de longueur variable (ex: S/360) ce compteur est incrment de la longueur de l'instruction. Les instructions conditionnelles et les instructions rptes (boucles ou itrations) sont ralises le plus souvent par une instruction de chargement du compteur d'instructions (JUMP ou BRANCH).

Un grand dbat l'origine des ordinateurs qui se poursuit jusqu' aujourd'hui a t celui de la banalisation de la mmoire entre programmes et donnes. L'architecture banalise dite de von Neumann triompha au milieu des annes 1950, par suite de la similitude des deux lments, similitude augmente par la programmation automatique. Il tait galement considr comme primordial de pouvoir modifier dynamiquement les instructions pour pouvoir adresser des donnes diffrentes (ex: tableaux de variables) avec les mmes instructions. D'autres considrations de micro-optimisation (stockage de constantes) militaient aussi pour cette uniformisation de la mmoire.

Il faut noter que des alternatives la modification dynamique des programmes pour la gestion des tableaux furent fournis par la mise au point des registres d'index et par l'tablissement de l'adressage indirect qui permettaient de dsigner une mmoire contenant non pas les donnes mais l'adresse des donnes. Plus tard, se rajoutrent la possibilit de cascader plusieurs registres d'index ou des descripteurs indirects. Il arriva sur des machines des annes 1960 que la dure de prparation des instructions devenait impossible prvoir et qu'il devint ncessaire de prendre des prcautions contre la possibilit de programmer des instructions sans fin avec de tels mcanismes.

 

La mmoire a t du temps des mmoires tambours ou des tubes de Williams adresse par l'adresse physique (n de tte, n de mots sur la piste), puis avec la gnralisation des mmoires tores, les positions de mmoire (mots de 1 ou plusieurs caractres ou chanes de bits de longueur fixe) furent dsigns par des adresses de valeur continues.
La capacit d'adressage devint une des caractristiques importantes de la visibilit de l'architecture de la machine au mme titre que les types d'instruction et les types de donnes manipules par celles-ci. Il arriva trs souvent que les compromis faits au moment de la conception d'un processeur entranrent par une capacit d'adressage trop rduite une obsolescence anticipe des logiciels conus pour cette ligne de produits.

Un autre dbat rgna entre les partisans d'un adressage binaire et ceux d'un adressage dcimal. Les seconds arguaient de la disponibilit d'un additionneur dcimal qui pouvait tre rutilis pour les calculs d'adresse ainsi que d'une meilleure lisibilit externe des valeurs d'adressage. Les premiers firent triompher leur point  de vue ds la fin des annes 1950 et dfinitivement quelques annes plus tard en montrant la plus grande simplicit de l'unit de commande d'adressage. 

Une controverse qui dura plus longtemps (et dure encore) fut le choix entre faire les oprations arithmtiques directement sur la mmoire ou de les limiter des oprations sur des registres. La seconde thorie, qui permettait d'utiliser des zones d'adressage plus courtes pour les oprations arithmtiques, fut mme pousse l'extrme dans les machines piles o la position des oprandes tait implicite. Seules des oprations de lecture ou d'criture en mmoire principale citaient des adresses compltes.

L'autre dbat concernait le nombre d'oprandes explicites cites dans une instruction. Certains estimaient que la logique des instructions du type " c=a + b" sous-entendait l'usage d'instructions 3 adresses. D'autres estimaient suffisant  le nombre de 2 adresses explicites, les partisans des machines piles se contentaient de 0 ou une seule adresse. 

Lors de la conception de la srie S/360, IBM estima ncessaire de ne pas faire de dcisions optimales pour une seule machine mais simultanment sur toute une gamme de produits de puissances et d'usages diffrents. Pour rsoudre le problme de la longueur d'adressage, la S/360 tablit l'usage d'un registre de base (second registre d'index) qui contenait une adresse de 24 bits (soit 16 millions d'octets) associ une syllabe d'adresse rduite 12 bits (4Ko) ainsi qu' des registres d'index galement sur 24 bits.

Une des caractristiques importantes gouvernant le cot et les performances d'un processeur est la largeur du chemin de donnes. Nous avons vu plus haut le naissance des ordinateurs srie (chemin de donnes sur 1-bit) et ordinateurs parallles (chemins de donne sur 1 mot). On s'est aperu au dbut des annes 1960, qu'il n'tait pas obligatoire d'aligner la taille des chemins de donnes sur celle des registres de mots d'instruction, ni sur celle des registres de calcul, ni mme de celle de l'unit arithmtique. Il tait possible de rduire le chemin de donnes au dpens des performances en transmettant successivement des portions de mots (par exemple chaque caractre) ou bien au contraire de transmettre simultanment en parallle des entits comportant plusieurs mots de faon librer plus tt l'entit mettrice. C'est sur cette particularit que se sont fondes les lignes de produits compatibles comme la srie 360.

Les transferts de donnes peuvent se faire l'unit ou en blocs. Le transfert par bloc de plusieurs units de transfert permet de dsigner seulement l'adresse de la premire et le nombre d'unit transfrer, ce qui ne ncessite que seule opration de synchronisation pour l'ensemble du bloc. Ce mcanisme permet de gagner des performances en anticipant le besoin en donnes ou programmes, un moindre cot qu'une augmentation de la largeur des chemins de donnes, spcialement pour les transferts longue distance (entre armoires dans les annes 1950, en sortie de la puce aujourd'hui). Les transferts sous forme de blocs ncessitent toutefois des mmoires tampons additionnelles puisque les informations transfres ne sont pas immdiatement utilises comme donnes ou comme instructions par le processeur.

***

On peut distinguer trois tapes dans l'histoire de la conception des units centrales:

  • l'tape des ordinateurs squentiels o l'ordonnancement des travaux de la machine est fonde sur le compteur d'instructions. Au cours de cette tape a t introduit le recouvrement des instructions, sans altration de la squence d'instructions.
     

  • l'tape d'un fonctionnement asynchrone des diffrentes parties de l'unit centrale relis par des mcanismes de caches (et/ou de files). La systmatisation de ces concepts s'est avr beaucoup plus "manageable" que l'asynchronisme gnral prch plus tt et source d'une quasi-impossibilit de mise au point.
     

  • l'tape d'un fonctionnement "out of order" des instructions qui permet la rduction de la complexit du code d'instruction, tout en respectant les besoins de compatibilit du logiciel en apportant la capacit d'oprations vectorielles. Dans la pratique, la solution adopte partir des annes 1990 a t la traduction dynamique du "code objet" du compilateur en un code RISC sans branchement sur un cache de registres de travail.
    On notera que l'Itanium aura prfr l'approche d'un nouveau code objet devant tre optimis par le compilateur.

Chacune de ces tapes reprsente des dveloppements complexes et coteux qui ne reprsentaient que des amliorations relativement minimes (de l'ordre de 2x) sur les performances de la gnration prcdentes. L'adoption de ces concepts a t freine par les amliorations technologiques qui ont permis la rduction des distances entre transistors et la baisse de cot de processeurs de la gnration prcdente. Le dveloppement du multiprocessing d'abord et du multi-cores actuellement a lui aussi retir de l'intrt une volution de la structure interne du processeur.

La progression dans les tapes prcdentes n'a t possible que grce la technologie qui a permis un largissement considrable des chemins de donnes et la cration conomique de caches -structures rgulires consommant peu de surface-.

IL reste encore quelque challenges:

  • le paralllisme du logiciel est difficile exploiter en dehors des calculs vectoriels et des traitements graphiques, ce qui pose le problme de l'optimisation des multi-cores (saura-t-on utiliser un 16X cores sur un ordinateur personnel?)
     

  • le mur de la chaleur est un problme adresser par la technologie (refroidissement, diminution des tensions d'alimentation...) et aussi par des mesures au niveau de la logique et du logiciel (mise en veille dynamique des circuits non utiliss). Paralllement, les besoins en autonomie des objets mobiles exigent qu'un effort urgent est ncessaire pour dcrotre la consommation des processeurs.
     

  • quilibre entre processeurs "general purpose" et processeurs spcialiss. L'exprience passe est que les premiers ont finalement pris l'avantage, les seconds n'ayant eu qu'une vie de dure limite dans une niche. Le dbat risque de rebondir avec l'avnement de "systems on one chip" o les niches peuvent sinon s'terniser du moins couvrir toute une gnration de technologie.
     

 

 

 

 

 

 

 

 

DecorCollection歐洲傢俬| 傢俬/家俬/家私| 意大利傢俬/實木傢俬| 梳化| 意大利梳化/歐洲梳化| 餐桌/餐枱/餐檯| 餐椅| 電視櫃| 衣櫃| 床架| 茶几

橫額| 貼紙| 貼紙印刷| 宣傳單張| 海報| 攤位| foamboard| 喜帖| 信封 數碼印刷

QR code scanner| inventory management system| labelling| Kiosk| warehouse management|

邮件营销| Email Marketing| 電郵推廣| edm营销| 邮件群发软件| edm| 营销软件| Mailchimp| Hubspot| Sendinblue| ActiveCampaign| SMS

Tomtop| Online shop| Online Einkaufen

地產代理/物業投資| 租辦公室/租寫字樓| 地產新聞| 甲級寫字樓/頂手| Grade A Office| Commercial Building / Office building| Hong Kong Office Rental| Rent Office| Office for lease / office leasing| Office for sale| Office relocation

香港甲級寫字樓出租

中環中心| 合和中心| 新文華中心| 力寶中心| 禮頓中心| Jardine House| Admiralty Centre| 港威大廈| One Island East| 創紀之城| 太子大廈| 怡和大廈| 康宏廣場| 萬宜大廈| 胡忠大廈| 信德中心| 北京道1號| One Kowloon| The Center| World Wide House

| 國際小學| 英國學校| International schools hong kong| 香港國際學校| Wycombe Abbey| 香港威雅學校| school day| boarding school Hong Kong| 香港威雅國際學校| Wycombe Abbey School

Addmotor Electric Bike| Electric bike shop / electric bicycle shop| Electric bike review| Electric trike| Fat tire electric bike| Best electric bike| Electric bicycle| E bike| Electric bikes for sale| Folding electric bike| Electric mountain bike| Electric tricycle| Mid drive electric bike Juiced Bikes Pedego Rad-Power