词序
更多
查询
词典释义:
processeur
时间: 2023-09-15 04:22:50
[prɔsεsœr]

n.m. 1. (电子算机的)处理机 2. 处理程序

词典释义
n.m.
1. (电子算机的)处理机
processeur de données数据处理机
2. 处理程序
processeur langage语言处理程序
processeur graphique图形处理程序

当代法汉科技词典
1. n. m 【】处理器
2. n. m. 【处理机

processeur m. 处理机

écho processeur m. 回声处理机

post processeur m. 后处理机; 后处理程[序、式]

短语搭配

processeur langage语言处理程序

processeur graphique图形处理程序

écho processeur回声处理机

post processeur后处理机; 后处理程[序、式]

processeur de données数据处理机

composant processeur de rapports报表处理器元件;报表处理器组件

bloc de contrôle processeur处理器控制块;处理器控制区块

compteur de performance de processeur晶片上的效能计数器;芯片性能计数器

Processeur de planification et de livraison排程与传递处理器;计划和传递处理器

原声例句

Bon, évidemment il y a aussi le processeur, mais ça marche pas vraiment avec cette métaphore, donc on peut considérer que le processeur est intégré à la RAM.

当然了,还有处理器,用这个比喻非常合适,所以我们可以认为,处理器被嵌入到随机存取存储器中。

[innerFrench]

Il y a également le capteur de l'appareil photo, le processeur, le modem pour se connecter à Internet, la carte mémoire, le micro, le vibreur, l'antenne cellulaire.

还有相机传感器、处理器、连接互联网的调制解调器、存储卡、麦克风、振动器、移动电话天线。

[Jamy爷爷的科普时间]

Bref : on s'y retrouve complètement et le processeur SnapDragon 8 Génération 1 est super efficace.

这款手机非常让人满意,骁龙8 Gen1处理器性能非常好。

[硬核历史冷知识]

J'ai pris une petite clef à molette et je suis entrée dans le local où se trouvait le processeur frontal du système de réception de la base.

我拿了一个小扳手,走进了接收系统前端处理模块的设备间。

[《三体》法语版]

Ce fanatisme s’empara de la ville entière, comme si des processeurs fonctionnaient en parallèle.

这样的热点遍布整座城市,像无数并行运算的CPU

[《三体》法语版]

Avec un processeur qui mouline à 1 giga et une carte graphique FullForce à 256 mégabytes !

与处理器磨到1千兆瓦和全力显卡到256兆字节!

[Lou !]

VISA, l'entreprise américaine qui est le plus grand processeur de paiements au monde, a annoncé mettre en place une catégorie à part pour les détaillants d'armes à feu américains, tout comme Mastercard et American Express.

LB:美国公司VISA是世界上最大的支付处理商,宣布它正在为美国枪支零售商设立一个单独的类别,就像万事达卡和美国运通卡一样。

[RFI简易法语听力 2022年9月合集]

Le logiciel fourni les informations au micro processeur, en langage informatique basique ou fortrand Par exemple, celuici les traduits en langage machine, c'estàdire en un code binaire utilisant les chiffres 0 et 1, Appeler beat.

[法语词汇速速成(补充)]

Ce nouveau modèle un processeur assez puissant.

[新编大学法语 3]

Plus aller importante, plus le processeur traitera rapidement les données.

[新编大学法语 3]

例句库

Après avoir grandi en force et en maintenant a développé son propre processeur Road, le matériel de soudage, soudure en acier inoxydable pour le traitement des routes.

经过不断发展壮大,现在已有自己开发的焊道处理机设备,适合处理不锈钢焊道。

Nous sommes un artisanat de crochet conception des processeurs, engagés dans la main-crochet robe de produits d'ameublement depuis de nombreuses années.

我们是一家专业的手工艺钩编设计加工商,从事手工钩编服饰家饰产品已多年。

Fondée en 2002, aucun adéquate appui financier et technique, il est soucieux de voir que la coopération technique et financière de processeurs à se joindre.

成立于2002年,暂无足够的资金和技术支持,急希望有技术和资金的加工企业加盟合作。

Sur le terrain, au fil des ans pour maintenir un esprit de l'original et de la puissance processeur Pentium.

在专业领域,多年来保持旺盛的原创精神和奔腾动力。

Notre fonctionnement à long terme de pièces d'ordinateur (processeur, disque dur, mémoire, carte mère) et les produits numériques.

我公司长期经营电脑配件(CPU、硬盘、内存、主板)及数码产品。

La qualité de l'eau du produit final pour les processeurs de la famille, dans les lieux publics, les immeubles de bureaux, tels que la fourniture de l'eau de purification de solutions.

其终端水质处理器产品可为家庭、公共场所、办公楼等提供水质终端净化解决方案。

Espérons sincèrement que, avec l'processeurs puissants coopération sincère, se complètent l'une l'autre gagnant-gagnant et le développement commun!

真诚希望与国内实力雄厚的加工商精诚合作、互补双赢、共同发展!

D'autres exemples sont notamment les suivants : a) le processeur d'échantillons sur l'environnement mis au point à l'Institut de recherche de Monterey Bay Aquarium, qui permet d'extraire des acides nucléiques des protistes dans l'eau et de détecter des organismes donnés au moyen de leur ADN; b) l'incubateur submersible de Woods Hole Oceanographic Institute, qui détermine les niveaux de photosynthèse dans l'eau qui l'entoure; et c) le cytomètre de flux submersible qui analyse les cellules microbiennes dans l'eau de façon continue pendant deux mois.

(a) 蒙特里湾水族馆研究所开发的环境样品处理仪,用于从水里的原生生物中提取核酸,及按照DNA确定具体的生物种类;(b) 美国伍兹·霍尔海洋学研究所的水下培养装置,用于确定周围水中光合作用的程度;和(c) 水下流式细胞仪,用于在长达两个月时间里持续分析水中的微生物细胞。

Il convient de relever que les processeurs reçus par le Ministère de l'éducation sont des 486, car c'était là une des conditions imposées par le Comité pour qu'il approuve le contrat passé avec l'entreprise pour la fourniture de processeurs Pentium.

应当指出,教育部收到的处理器属486级,因为该委员会已把这作为核准奔腾级处理器供应商合同的一个条件。

Partant, ses responsables n'ont pas connaissance de l'utilisation qui est faite des processeurs, de la lenteur du temps de réponse ni des statistiques relatives aux erreurs survenues.

因此,近东救济工程处不知道处理器占用率、缓慢反应时间或其他错误的统计数据。

Des projets de recherche-développement ont été lancés sur la réalisation d'un ordinateur de vol, l'accumulation d'énergie et la construction du processeur d'images en temps réel GEZGIN à bord du satellite turc de télédétection BILSAT pour être utilisés à bord de futurs satellites en projet.

已经启动了一些研究和开发项目,目的是开发一个装在土耳其遥感卫星BILSAT上的飞行计算机、蓄电池舱和实时图像处理器GEIGIN,以供今后的卫星项目使用。

À Genève, le HCR a de nombreuses possibilités d'échanges interinstitutions en raison de la présence d'un grand nombre de bureaux du système des Nations Unies, mais il n'a fait qu'un appel limité à seulement deux services communs utilisant les technologies de l'information et des communications: le Bureau des services d'achats interorganisations du PNUD sis à Copenhague, et pour les processeurs centraux, le Centre international de calcul (CIC) installé à Genève.

难民专员办事处在日内瓦有很多机构间合用的机会,因为联合国系统设在那里的办事处很多,但难民专员办事处仅有限地利用了信息和通信技术方面的两个共同事务单位:一个是总部设在哥本哈根的开发计划署机构间采购事务组织,另一个是总部设在日内瓦的负责主机业务的联合国国际电子计算中心(电算中心)。

Le système des services financiers existait depuis 18 ans, sur la base d'une structure de processeur central.

财务办公室系统是以主机结构为基础的,使用了18年。

Normalement, pour prolonger celle-ci au-delà de trois ou quatre ans, il est généralement nécessaire de remplacer la carte mère, le processeur et le système d'exploitation.

在通常情况下,为了延长个人计算机的寿命,使其超出三至四年的生命周期,需要对主要元件进行更换/升级,这些元件包括:主机板、处理器和操作系统。

Elle permettrait aux administrateurs de l'infrastructure informatique de gérer de manière dynamique la configuration des ressources telles que mémoire, disques et processeurs, tout en réduisant les répercussions des changements sur les utilisateurs finals et les applications.

虚拟化将使信息技术基础设施管理人员能够动态地管理内存、光盘和处理器等资源的配置,同时减少任何变动给最终用户和应用软件带来的影响。

Comme dans l'UE, une action intentée par le Département de la justice au sujet des pratiques d'exclusivité et de contrats liés ainsi que des modalités appliquées pour calculer les redevances, en particulier les "licences par processeur", a donné lieu à une ordonnance du tribunal interdisant à Microsoft d'imposer de telles clauses sur l'octroi des licences.

与在欧盟发生的情况一样,美国司法部就Microsoft排斥性和搭售的做法以及计算专利权税的方式,特别是针对其“单机许可证”,提出了诉讼,导致法院发出命令,禁止Microsoft在许可证中规定这样的条款。

IS3.68 Le montant prévu (68 900 dollars) doit couvrir : a) le remplacement du matériel de bureautique, à savoir un serveur, un réseau de stockage, des unités de sauvegarde, des postes de travail et des imprimantes, et un graveur de CD et DVD, qui tous sont parvenus au terme de leur durée de vie utile; et b) l'acquisition d'outils de création de bases de données et de sites Web et d'un processeur Stata 2, pour faciliter l'application de nouvelles méthodes et l'élaboration de logiciels démographiques personnalisés, et l'acquisition de licences d'exploitation du logiciel Creative Suite d'Adobe, pour améliorer les sites Web.

IS3.68 编列经费68 900美元,用于:(a) 更换办公室自动设备,包括服务器、存储器局域网络、备份存储硬盘、工作站和打印机,光盘/数字视盘出版设备,因为这些设备都达到使用年限;(b) 购置数据库和网络开发工具,STATA2型处理器,协助采用新的方法,开发定制的人口软件,购置Adobe Creative软件许可证,增进网址功能。

En outre, lorsqu'il arrive à saturation, il suffit d'y ajouter des disques pour accroître sa capacité et d'ajouter des puces à mémoire et des processeurs pour répondre aux besoins d'un plus grand nombre d'utilisateurs.

此外,只要增加光盘就可以得到更多的数据储存量,可以通过增加存储器芯片和处理单位元来满足更多用户的需要。

S'il s'essouffle, l'ajout de puces à mémoire et de processeurs lui permettra de satisfaire les besoins d'un plus grand nombre d'utilisateurs.

由于旧系统的容量有限,每一会员国只允许至多10名用户。

Comme dans l'UE, une action intentée par le Département de la justice au sujet des pratiques d'exclusivité et de contrats liés ainsi que des modalités appliquées pour calculer les redevances, en particulier les «licences par processeur», a donné lieu à une ordonnance du tribunal interdisant à Microsoft d'imposer de telles clauses sur l'octroi des licences.

与在欧盟发生的情况一样,美国司法部就Microsoft排斥性和搭售的做法以及计算专利权税的方式,特别是针对其“单机许可证”,提出了诉讼,导致法院发出命令,禁止Microsoft在许可证中规定这样的条款。

法语百科

La puce d'un microprocesseur Intel 80486DX2 dans son boîtier (taille réelle : 12 × 6,75 mm).

Un processeur (ou unité centrale de traitement, UCT, en anglais central processing unit, CPU) est un composant présent dans de nombreux dispositifs électroniques qui exécute les instructions machine des programmes informatiques. Avec la mémoire, c'est notamment l'un des composants qui existent depuis les premiers ordinateurs et qui sont présents dans tous les ordinateurs. Un processeur construit en un seul circuit intégré est un microprocesseur.

L'invention du transistor en 1948 a ouvert la voie à la miniaturisation des composants électroniques. Car auparavant les ordinateurs prenaient la taille d'une pièce entière.

Les processeurs des débuts étaient conçus spécifiquement pour un ordinateur d'un type donné. Cette méthode coûteuse de conception des processeurs pour une application spécifique a conduit au développement de la production de masse de processeurs qui conviennent pour un ou plusieurs usages. Cette tendance à la standardisation qui débuta dans le domaine des ordinateurs centraux (mainframes à transistors discrets et mini-ordinateurs) a connu une accélération rapide avec l'avènement des circuits intégrés. Les circuits intégrés ont permis la miniaturisation des processeurs. La miniaturisation et la standardisation des processeurs ont conduit à leur diffusion dans la vie moderne bien au-delà des usages des machines programmables dédiées.

Histoire

Les premiers processeurs nécessitaient un espace important, puisqu'ils étaient construit à base de tubes électroniques ou de relais électromécaniques. Leur création a pour origine les travaux de John von Neumann qui répondaient aux difficultés liées à la reprogrammation de calculateurs comme l'ENIAC où il était nécessaire de recâbler le système pour faire fonctionner un nouveau programme. Dans cette architecture, une unité de contrôle se charge de coordonner un processeur (ayant accès aux entrées/sorties) et la mémoire. Tout cela a été décrit par un document intitulé « première ébauche d'un rapport sur l'EDVAC ».

Microprocesseurs

Intel 80486DX2 microprocesseur en boîtier céramique PGA.

L'introduction du microprocesseur dans les années 1970 a marqué de manière significative la conception et l'implémentation des unités centrales de traitement. Depuis l'introduction du premier microprocesseur (Intel 4004) en 1971 et du premier microprocesseur employé couramment (Intel 8080) en 1974, cette classe de processeurs a presque totalement dépassé toutes les autres méthodes d'implémentation d'unité centrale de traitement. Les fabricants d'ordinateurs centraux (mainframe et miniordinateurs) de l'époque ont lancé leurs propres programmes de développement de circuits intégrés pour mettre à niveau les architectures anciennes de leurs ordinateurs et ont par la suite produit des microprocesseurs à jeu d'instructions compatible en assurant la compatibilité ascendante avec leurs anciens modèles. Les générations précédentes des unités centrales de traitement comportaient un assemblage de composants discrets et de nombreux circuits faiblement intégrés sur une ou plusieurs cartes électroniques. Les microprocesseurs sont construits avec un très petit nombre de circuits très fortement intégrés (ULSI), habituellement un seul. Les microprocesseurs sont implémentés sur une seule puce électronique, donc de dimensions réduites, ce qui veut dire des temps de commutation plus courts liés à des facteurs physiques comme la diminution de la capacité parasite des portes. Ceci a permis aux microprocesseurs synchrones d'augmenter leur fréquence de base de quelques mégahertz à plusieurs gigahertz. De plus, à mesure que la capacité à fabriquer des transistors extrêmement petits sur un circuit intégré a augmenté, la complexité et le nombre de transistors dans un seul processeur ont considérablement crû. Cette tendance largement observée est décrite par la loi de Moore, qui s'est avérée être jusqu'ici un facteur prédictif assez précis de la croissance de la complexité des processeurs (et de tout autre circuit intégré).

Les processeurs multi cœurs (multicores) récents comportent maintenant plusieurs cœurs dans un seul circuit intégré. Leur efficacité dépend grandement de la topologie d'interconnexion entre les cœurs. De nouvelles approches, comme la superposition de la mémoire et du cœur de processeur (memory stacking), sont à l'étude, et devraient conduire à un nouvel accroissement des performances. En se basant sur les tendances des dix dernières années, les performances des processeurs devraient atteindre le pétaFLOPS, vers 2010 pour les serveurs, et à l'horizon 2030 dans les PC.

En juin 2008, le supercalculateur militaire IBM Roadrunner est le premier à franchir cette barre symbolique du pétaFLOPS. Puis, en novembre 2008, c'est au tour du supercalculateur Jaguar de Cray. En avril 2009, ce sont les deux seuls supercalculateurs à avoir dépassé le pétaFLOPS.

En novembre 2015, pour la sixième fois consécutive, le supercalculateur chinois Tianhe-2 "milky way-2", développé par l'université nationale chinoise pour les technologies de défense, atteint la première place du classement semestriel mondial TOP500 des supercalculateurs avec 33,86 pétaFLOPS. En matière de record de performance, la tendance semble être au ralentissement depuis l'année 2008.

Tandis que la complexité, la taille, la construction, et la forme générale des processeurs ont fortement évolué au cours des soixante dernières années, la conception et la fonction de base n'ont pas beaucoup changé. Presque tous les processeurs communs d'aujourd'hui peuvent être décrits très précisément comme machines à programme enregistré de von Neumann. Alors que la loi de Moore, mentionnée ci-dessus, continue de se vérifier, des questions ont surgi au sujet des limites de la technologie des circuits intégrés à transistors. La miniaturisation des portes électroniques est si importante que les effets de phénomènes comme l'électromigration (dégradation progressive des interconnexions métalliques entraînant une diminution de la fiabilité des circuits intégrés) et les courants de fuite (leur importance augmente avec la réduction des dimensions des circuits intégrés ; ils sont à l'origine d'une consommation d'énergie électrique pénalisante), auparavant négligeables, deviennent de plus en plus significatifs. Ces nouveaux problèmes sont parmi les nombreux facteurs conduisant les chercheurs à étudier, d'une part, de nouvelles technologies de traitement telles que l'ordinateur quantique ou l'usage du calcul parallèle et, d'autre part, d'autres méthodes d'utilisation du modèle classique de von Neumann.

Fonctionnement

Composition d'un processeur

Schéma de principe d'un processeur 32 bits.
Schéma de principe d'un processeur 32 bits.

Un processeur n'est pas une unité de calcul. Cette dernière est incluse dans le processeur mais il fait aussi appel à une unité de contrôle, une unité d'entrée-sortie, à une horloge et à des registres.

Le séquenceur, ou unité de contrôle, se charge de gérer le processeur. Il peut décoder les instructions, choisir les registres à utiliser, gérer les interruptions ou initialiser les registres au démarrage. Il fait appel à l'unité d'entrée-sortie pour communiquer avec la mémoire ou les périphériques.

L'horloge doit fournir un signal régulier pour synchroniser tout le fonctionnement du processeur. Elle est présente dans les processeurs synchrones mais absente des processeurs asynchrones et des processeurs autosynchrones.

Les registres sont des petites mémoires internes très rapides, pouvant être accédées facilement. Un plus grand nombre de registres permettra au processeur d'être plus indépendant de la mémoire. La taille des registres dépend de l'architecture, mais est généralement de quelques octets et correspond au nombre de bit de l'architecture (un processeur 8 bits aura des registres d'un octet).

Il existe plusieurs registres, dont l'accumulateur et le compteur ordinal qui constituent la structure de base du processeur. Le premier sert à stocker les données traitées par l'UAL (l'unité de calcul arithmétique et logique), et le second donne l'adresse mémoire de l'instruction en cours d'exécution ou de la suivante (en fonction de l'architecture).

D'autres registres ont été ajoutés au fil du temps :

le pointeur de pile : il sert à stocker l'adresse du sommet des piles, qui sont en fait des structures de données généralement utilisées pour gérer des appels de sous-programmes,

le registre d'instruction : il permet quant à lui de stocker l'instruction en cours de traitement,

le registre d'état : il est composé de plusieurs bits, appelés drapeaux (flags), servant à stocker des informations concernant le résultat de la dernière instruction exécutée,

les registres généraux, qui servent à stocker les données allant être utilisées (ce qui permet d'économiser des aller-retours avec la mémoire).

Les processeurs actuels intègrent également des éléments plus complexes :

plusieurs unités arithmétiques et logiques, qui permettent de traiter plusieurs instructions en même temps. L'architecture superscalaire, en particulier, permet de disposer des UAL en parallèle, chaque UAL pouvant exécuter une instruction indépendamment de l'autre ;

unité de calcul en virgule flottante (en anglais floating-point unit, FPU), qui permet d'accélérer les calculs sur les nombres réels codés en virgule flottante ;

unité de prédiction de branchement, qui permet au processeur d'anticiper un branchement dans le déroulement d'un programme afin d'éviter d'attendre la valeur définitive de l'adresse du saut. Il permet de mieux remplir le pipeline ;

pipeline, qui permet de découper temporellement les traitements à effectuer ;

mémoire cache, qui permet d'accélérer les traitements en diminuant les accès à la mémoire vive. Le cache d'instructions reçoit les prochaines instructions à exécuter, le cache de données manipule les données. Parfois un cache unifié est utilisé pour les instructions et les données. Plusieurs niveaux (levels) de caches peuvent coexister, on les désigne souvent sous les noms de L1, L2, L3 ou L4. Dans les processeurs évolués, des unités spéciales du processeur sont dévolues à la recherche, par des moyens statistiques et/ou prédictifs, des prochains accès à la mémoire vive.

Un processeur possède aussi trois types de bus :

bus de données, qui définit la taille des données pour les entrées–sorties, dont les accès à la mémoire (indépendamment de la taille des registres internes) ;

bus d'adresse, qui permet, lors d'une lecture ou d'une écriture, d'envoyer l'adresse où elle s'effectue, et donc définit le nombre de cases mémoire accessibles ;

bus de contrôle, qui permet la gestion du matériel, via les interruptions.

Classification des processeurs

Un processeur est défini par :

Son architecture, c'est-à-dire son comportement vu par le programmeur, liée à : son jeu d'instructions (en anglais instruction set architecture, ISA) ; la largeur de ses registres internes de manipulation de données (8, 16, 32, **, 128) bits et leur utilisation ; les spécifications des entrées–sorties, de l'accès à la mémoire, etc.

son jeu d'instructions (en anglais instruction set architecture, ISA) ;

la largeur de ses registres internes de manipulation de données (8, 16, 32, **, 128) bits et leur utilisation ;

les spécifications des entrées–sorties, de l'accès à la mémoire, etc.

Ses caractéristiques, variables même entre processeurs compatibles : sa microarchitecture ; la cadence de son horloge exprimée en mégahertz (MHz) ou gigahertz (GHz) ; sa finesse de gravure exprimée en nanomètres (nm) ; son nombre de cœurs de calcul.

sa microarchitecture ;

la cadence de son horloge exprimée en mégahertz (MHz) ou gigahertz (GHz) ;

sa finesse de gravure exprimée en nanomètres (nm) ;

son nombre de cœurs de calcul.

On classe les architectures en plusieurs grandes familles :

CISC (complex instruction set computer), choix d'instructions aussi proches que possible d'un langage de haut niveau ;

RISC (reduced instruction set computer), choix d'instructions plus simples et d'une structure permettant une exécution très rapide ;

VLIW (very long instruction word) ;

DSP (digital signal processor), même si cette dernière famille est relativement spécifique. En effet, un processeur est un composant programmable et est donc a priori capable de réaliser tout type de programme. Toutefois, dans un souci d'optimisation, des processeurs spécialisés sont conçus et adaptés à certains types de calculs (3D, son, etc.). Les DSP sont des processeurs spécialisés pour les calculs liés au traitement de signaux. Par exemple, il n'est pas rare de voir implémenter des transformées de Fourier dans un DSP ;

processeur softcore, est un circuit logique programmable et n'a plus du tout de fonction précablée contrairement à un DSP.

Les opérations du processeur

Le rôle fondamental de la plupart des processeurs, indépendamment de la forme physique qu'ils prennent, est d'exécuter une série d'instructions stockées appelée programme.

Les instructions (parfois décomposées en micro-instructions) et les données transmises au processeur sont exprimées en mots binaires (code machine). Elles sont généralement stockées dans la mémoire. Le séquenceur ordonne la lecture du contenu de la mémoire et la constitution des mots présentés à l'ALU qui les interprète.

Le langage le plus proche du code machine tout en restant lisible par des humains est le langage d'assemblage, aussi appelé langage assembleur (forme francisée du mot anglais « assembler »). Toutefois, l'informatique a développé toute une série de langages, dits de « haut niveau » (comme le Pascal, C, C++, Fortran, Ada, etc.), destinés à simplifier l'écriture des programmes.

Les opérations décrites ici sont conformes à l'architecture de von Neumann. Le programme est représenté par une série d'instructions qui réalisent des opérations en liaison avec la mémoire vive de l'ordinateur. Il y a quatre étapes que presque toutes les architectures de von Neumann utilisent :

Fetch, recherche de l'instruction.

Decode, interprétation de l'instruction (opération et opérandes).

Execute, exécution de l'instruction.

Writeback, écriture du résultat.

Le diagramme montre comment une instruction de MIPS32 est décodée.

La première étape, fetch (recherche de l'instruction), recherche une instruction dans la mémoire vive de l'ordinateur. L'emplacement dans la mémoire est déterminé par le compteur de programme (PC), qui stocke l'adresse de la prochaine instruction dans la mémoire de programme. Après qu'une instruction ait été recherchée, le PC est incrémenté par la longueur du mot d'instruction. Dans le cas de mot de longueur constante simple, c'est toujours le même nombre. Par exemple, un mot de 32 bits de longueur constante qui emploie des mots de 8 bits de mémoire incrémenterait toujours le PC par 4 (excepté dans le cas des branchements). Le jeu d'instructions qui emploie des instructions de longueurs variables comme l'x86, incrémentent le PC par le nombre de mots de mémoire correspondant à la dernière longueur d'instruction. En outre, dans des processeurs plus complexes, l'incrémentation du PC ne se produit pas nécessairement à la fin de l'exécution d'une instruction. C'est particulièrement le cas dans des architectures fortement parallélisées et superscalaires. Souvent, la recherche de l'instruction doit être opérée dans des mémoires lentes, ralentissant le processeur qui attend l'instruction. Cette question est en grande partie résolue dans les processeurs modernes par l'utilisation de caches et de pipelines.

La seconde étape, decode (interprétation de l'instruction), découpe l'instruction en plusieurs parties telles qu'elles puissent être utilisées par d'autres parties du processeur. La façon dont la valeur de l'instruction est interprétée est définie par le jeu d'instructions du processeur. Souvent, une partie d'une instruction, appelée opcode (code d'opération), indique l'opération à effectuer, par exemple une addition. Les parties restantes de l'instruction comportent habituellementles opérandes de l'opération. Ces opérandes peuvent prendre une valeur constante, appelée valeur immédiate, ou bien contenir l'emplacement où retrouver (dans un registre ou une adresse mémoire) la valeur de l'opérande, suivant le mode d'adressage utilisé. Dans les conceptions anciennes, les parties du processeur responsables de l'interprétation étaient fixes et non modifiables car elles étaient codées dans les circuits. Dans les processeurs plus récents, un microprogramme est souvent utilisé pour l'interprétation. Ce microprogramme est parfois modifiable pour changer la façon dont le processeur interprète les instructions, même après sa fabrication.

Diagramme fonctionnel d'un processeur simple.
Diagramme fonctionnel d'un processeur simple.

La troisième étape, execute (exécution de l'instruction), met en relation différentes parties du processeur pour réaliser l'opération souhaitée. Par exemple, pour une addition, l'unité arithmétique et logique (ALU) sera connectée à des entrées et une sortie. Les entrées contiennent les nombres à additionner et la sortie contient le résultat. L'ALU est dotée de circuits pour réaliser des opérations d'arithmétique et de logique simples sur les entrées (addition, opération sur les bits). Si le résultat d'une addition est trop grand pour être codé par le processeur, un signal de débordement est positionné dans un registre d'état.

La dernière étape, writeback (écriture du résultat), écrit les résultats de l'étape d'exécution en mémoire. Très souvent, les résultats sont écrits dans un registre interne au processeur pour bénéficier de temps d'accès très courts pour les instructions suivantes. Parfois, les résultats sont écrits plus lentement dans la mémoire vive pour bénéficier de codages de nombres plus grands.

Certains types d'instructions manipulent le compteur de programme plutôt que de produire directement des données de résultat. Ces instructions sont appelées des branchement (branch) et permettent de réaliser des boucles (loops), des programmes à exécution conditionnelle ou des fonctions (sous-programmes) dans des programmes. Beaucoup d'instructions servent aussi à changer l'état de drapeaux (flags) dans un registre d'état. Ces états peuvent être utilisés pour conditionner le comportement d'un programme, puisqu'ils indiquent souvent la fin d'exécution de différentes opérations. Par exemple, une instruction de comparaison entre deux nombres va positionner un drapeau dans un registre d'état suivant le résultat de la comparaison. Ce drapeau peut alors être réutilisé par une instruction de saut pour poursuivre le déroulement du programme.

Après l'exécution de l'instruction et l'écriture des résultats, tout le processus se répète, le prochain cycle d'instructions recherche l'instruction suivante puisque le compteur de programme avait été incrémenté. Si l'instruction précédente était un saut, c'est l'adresse de destination du saut qui est enregistrée dans le compteur de programme. Dans des processeurs plus complexes, plusieurs instructions peuvent être recherchées, décodées et exécutées simultanément, on parle alors d'architecture pipeline, aujourd'hui communément utilisée dans les équipements électroniques.

Vitesse de traitement

La vitesse de traitement d'un processeur est encore parfois exprimée en IPS (instructions par seconde) ou en FLOPS (opérations à virgule flottante par seconde) pour l'unité de calcul en virgule flottante. Pourtant, aujourd'hui, les processeurs sont basés sur différentes architectures et techniques de parallélisation des traitements qui ne permettent plus de déterminer simplement leurs performances. Des programmes spécifiques d'évaluation des performances (Benchmarks) ont été mis au point pour obtenir des comparatifs des temps d'exécution de programmes réels.

Conception et implémentation

Le codage des nombres

La manière dont un processeur représente les nombres est un choix de conception qui affecte de façon profonde son fonctionnement de base. Certains des ordinateurs les plus anciens utilisaient un modèle électrique du système numérique décimal (base 10). Certains autres ont fait le choix de systèmes numériques plus exotiques comme les systèmes trinaires (base 3). Les processeurs modernes représentent les nombres dans le système binaire (base 2) dans lequel chacun des chiffres est représenté par une grandeur physique qui ne peut prendre que deux valeurs comme une tension électrique « haute » ou « basse ».

Le concept physique de tension électrique est analogique par nature car elle peut prendre une infinité de valeurs. Pour les besoins de représentation physique des nombres binaires, les valeurs des tensions électriques sont définies comme des états « 1 » et « 0 ». Ces états résultent des paramètres opérationnels des éléments de commutation qui composent le processeur comme les niveaux de seuil des transistors.

Le microprocesseur 6502 en technologie MOS dans un boîtier dual in-line une conception très répandue.

En plus du système de représentation des nombres, il faut s'intéresser à la taille et la précision des nombres qu'un processeur peut manipuler nativement. Dans le cas d'un processeur binaire, un « bit » correspond à une position particulière dans les nombres que le processeur peut gérer. Le nombre de bits (chiffres) qu'un processeur utilise pour représenter un nombre est souvent appelé « taille du mot » (« word size », « bit width », « data path width ») ou « précision entière » lorsqu'il s'agit de nombres entiers (à l'opposé des nombres flottants). Ce nombre diffère suivant les architectures, et souvent, suivant les différents modules d'un même processeur. Par exemple, un processeur 8-bit gère nativement des nombres qui peuvent être représentés par huit chiffres binaires (chaque chiffre pouvant prendre deux valeurs), soit 2 ou 256 valeurs discrètes.

La taille du mot machine affecte le nombre d'emplacements mémoire que le processeur peut adresser (localiser). Par exemple, si un processeur binaire utilise 32 bits pour représenter une adresse mémoire et que chaque adresse mémoire est représentée par un octet (8 bits), la taille mémoire maximum qui peut être adressée par ce processeur est de 2 octets, soient 4 Go. C'est une vision très simpliste de l'espace d'adressage d'un processeur et beaucoup de conceptions utilisent des types d'adressages bien plus complexes, comme la pagination, pour adresser plus de mémoire que la taille du nombre entier le leur permettrait avec un espace d'adressage à plat.

De plus grandes plages de nombres entiers nécessitent plus de structures élémentaires pour gérer les chiffres additionnels, conduisant à plus de complexité, des dimensions plus importantes, plus de consommation d'énergie et des coûts plus élevés. Il n'est donc pas rare de rencontrer des processeurs 4-bit ou 8-bit dans des applications modernes, même si des processeurs 16-bit, 32-bit, **-bit et même 128-bit sont disponibles. Pour bénéficier des avantages à la fois des tailles d'entier courtes et longues, beaucoup de processeurs sont conçus avec différentes largeurs d'entiers dans différentes parties du composant. Par exemple, le System/370 d'IBM est doté d'un processeur nativement 32-bit mais qui utilise une FPU de 128-bit de précision pour atteindre une plus grande précision dans les calculs avec les nombres flottants. Beaucoup des processeurs les plus récents utilisent une combinaison comparable de taille de nombres, spécialement lorsque le processeur est destiné à un usage généraliste pour lequel il est nécessaire de trouver le juste équilibre entre les capacités à traiter les nombres entiers et les nombres flottants.

Le signal d'horloge

La plupart des processeurs, et plus largement la plupart des circuits de logique séquentielle, ont un fonctionnement synchrone par nature. Cela veut dire qu'ils sont conçus et fonctionnent au rythme d'un signal de synchronisation. Ce signal est le « signal d'horloge ». Il prend souvent la forme d'une onde carrée périodique. En calculant le temps maximum que prend le signal électrique pour se propager dans les différentes branches des circuits du processeur, le concepteur peut sélectionner la période appropriée du signal d'horloge.

Cette période doit être supérieure au temps que prend le signal pour se propager dans le pire des cas. En fixant la période de l'horloge à une valeur bien au-dessus du pire des cas de temps de propagation, il est possible de concevoir entièrement le processeur et la façon dont il déplace les données autour des « fronts » montants ou descendants du signal d'horloge. Ceci a pour avantage de simplifier significativement le processeur tant du point de vue de sa conception que de celui du nombre de ses composants. Par contre, ceci a pour inconvénient le ralentissement du processeur puisque sa vitesse doit s'adapter à celle de son élément le plus lent, même si d'autres parties sont beaucoup plus rapides. Ces limitations sont largement compensées par différentes méthodes d'accroissement du parallélisme des processeurs (voir ci-dessous).

Les améliorations d'architecture ne peuvent pas, à elles seules, résoudre tous les inconvénients des processeurs globalement synchrones. Par exemple, un signal d'horloge est sujet à des retards comme tous les autres signaux électriques. Les fréquences d'horloge plus élevées que l'on trouve dans les processeurs à la complexité croissante engendrent des difficultés pour conserver le signal d'horloge en phase (synchronisé) à travers toute le processeur. En conséquence, beaucoup des processeurs d'aujourd'hui nécessitent la fourniture de plusieurs signaux d'horloge identiques de façon à éviter que le retard d'un seul signal ne puisse être la cause d'un dysfonctionnement du processeur. La forte quantité de chaleur qui doit être dissipée par le processeur constitue un autre problème majeur dû à l'accroissement des fréquences d'horloge. Les changements d'état fréquents de l'horloge font commuter un grand nombre de composants, qu'ils soient ou non utilisés à cet instant. En général, les composants qui commutent utilisent plus d'énergie que ceux qui restent dans un état statique. Ainsi, plus les fréquences d'horloge augmentent et plus la dissipation thermique en fait autant, ce qui fait que les processeurs requièrent des solutions de refroidissement plus efficaces.

La méthode de clock gating permet de gérer la commutation involontaire de composants en inhibant le signal d'horloge sur les éléments choisis mais cette pratique est difficile à implémenter et reste réservée aux besoins de circuits à très faible consommation.

Une autre méthode consiste à abandonner le signal global d'horloge ; la consommation d'énergie et la dissipation thermique sont réduites mais la conception du circuit devient plus complexe. On parle alors de processeurs asynchrones. Certaines conceptions ont été réalisés sans signal global d'horloge, utilisant par exemple les jeux d'instructions ARM ou MIPS, d'autres ne présentent que des parties asynchrones comme l'utilisation d'une UAL asynchrone avec un pipelining superscalaire pour atteindre des gains de performance dans les calculs arithmétiques. De tels processeurs sont actuellement plutôt réservés aux applications embarquées (ordinateurs de poche, consoles de jeux, etc.).

Parallélisme

Modèle de processeur subscalaire : il faut 15 cycles d'horloge pour exécuter trois instructions.
Modèle de processeur subscalaire : il faut 15 cycles d'horloge pour exécuter trois instructions.

La description du mode de fonctionnement de base d'un processeur présentée au chapitre précédent présente la forme la plus simple que peut prendre un processeur. Ce type de processeur, appelé subscalaire, exécute une instruction sur un ou deux flux de données à la fois.

Ce processus est inefficace et inhérent aux processeurs subscalaires. Puisqu'une seule instruction est exécutée à la fois, tout le processeur attend la fin du traitement de cette instruction avant de s'intéresser à la suivante avec pour conséquence que le processeur reste figé sur les instructions qui nécessitent plus d'un cycle d'horloge pour s'exécuter. L'ajout d'une seconde unité d'exécution (voir ci-dessous) ne permet pas d'améliorer notablement les performances, ce n'est plus une unité d'exécution qui se trouve figée mais deux, en augmentant encore le nombre de transistors inutilisés. Ce type de conception, dans laquelle les ressources d'exécution du processeur ne traitent qu'une seule instruction à la fois ne peut atteindre que des performances scalaires (une instruction par cycle d'horloge), voire subscalaires (moins d'une instruction par cycle d'horloge).

En tentant d'obtenir des performances scalaires et au-delà, on a abouti à diverses méthodes qui conduisent le processeur a un comportement moins linéaire et plus parallèle. Lorsqu'on parle de parallélisme de processeur, deux techniques de conception sont utilisées :

parallélisme au niveau instruction (en anglais : instruction-level parallelism, ILP) ;

parallélisme au niveau thread (en anglais : thread-level parallelism, TLP).

L'ILP vise à augmenter la vitesse à laquelle les instructions sont exécutées par un processeur (c’est-à-dire augmenter l'utilisation des ressources d'exécution présentes dans le circuit intégré). Le TLP vise à augmenter le nombre de threads que le processeur pourra exécuter simultanément. Chaque méthode diffère de l'autre d'une part, par la façon avec laquelle elle est implémentée et d'autre part, du fait de leur efficacité relative à augmenter les performances des processeurs pour une application.

ILP : pipelining et architecture superscalaire

Pipeline de base à 5 étages. Dans le meilleur scénario, ce pipeline peut soutenir un taux d'exécution d'une instruction par cycle d'horloge.
Pipeline de base à 5 étages. Dans le meilleur scénario, ce pipeline peut soutenir un taux d'exécution d'une instruction par cycle d'horloge.

Une des méthodes les plus simples pour accroître le parallélisme consiste à démarrer les premières étapes de recherche (fetch) et d'interprétation (decode) d'une instruction avant la fin de l'exécution de l'instruction précédente. C'est la forme la plus simple de la technique de pipelining. Elle est utilisée dans la plupart des processeurs modernes non spécialisés. Le pipelining permet d'exécuter plus d'une instruction à la fois en décomposant le cycle d'instruction en différentes étapes. Ce découpage peut être comparé à une chaîne d'assemblage.

Le pipelining peut créer des conflits de dépendance de données, lorsque le résultat de l'opération précédente est nécessaire à l'exécution de l'opération suivante. Pour résoudre ce problème, un soin particulier doit être apporté pour vérifier ce type de situation et retarder, le cas échéant, une partie du pipeline d'instruction. Naturellement, les compléments de circuits à apporter pour cela ajoutent à la complexité des processeurs parallèles. Un processeur parallèle peut devenir presque scalaire, ralenti uniquement par les attentes du pipeline (une instruction prend moins d'un cycle d'horloge par étape).

Pipeline superscalaire. En recherchant et affectant deux instructions à la fois, le processeur peut exécuter un maximum de deux instructions par cycle d'horloge.
Pipeline superscalaire. En recherchant et affectant deux instructions à la fois, le processeur peut exécuter un maximum de deux instructions par cycle d'horloge.

Les développements suivants du pipelining ont conduit au développement d'une méthode qui diminue encore plus les temps d'attente des composants du processeur. Les architectures dites superscalaires comportent plusieurs unités d'exécution identiques. Dans un processeur superscalaire, plusieurs instructions sont lues et transmises à un répartisseur qui décide si les instructions seront exécutées en parallèle (simultanément) ou non. Le cas échéant, les instructions sont réparties sur les unités d'exécution disponibles. En général, plus un processeur superscalaire est capable d'exécuter d'instructions en parallèle et plus le nombre d'instructions exécutées dans un cycle sera élevé.

La plupart des difficultés rencontrées dans la conception des architectures de processeurs superscalaires résident dans la mise au point du répartisseur. Le répartisseur doit être disponible rapidement et être capable de déterminer sans erreur si les instructions peuvent être exécutées en parallèle, il doit alors les distribuer de façon à charger les unités d'exécution autant qu'il est possible. Pour cela, le pipeline d'instructions doit être rempli aussi souvent que possible, créant le besoin d'une quantité importante de mémoire cache. Les techniques de traitement aléatoire comme la prédiction de branchement, l'exécution spéculative et la résolution des dépendances aux données deviennent cruciales pour maintenir un haut niveau de performance. En tentant de prédire quel branchement (ou chemin) une instruction conditionnelle prendra, le processeur peut minimiser le temps que tout le pipeline doit attendre jusqu'à la fin d'exécution de l'instruction conditionnelle. L'exécution spéculative améliore les performances modestes en exécutant des portions de code qui seront, ou ne seront pas, nécessaires à la suite d'une instruction conditionnelle. La résolution de la dépendance aux données est obtenue en réorganisant l'ordre dans lequel les instructions sont exécutées en optimisant la disponibilité des données.

Lorsque seule une partie de processeur est superscalaire, la partie qui ne l'est pas rencontre des problèmes de performance dus aux temps d'attente d'ordonnancement. Le Pentium original (P5) d'Intel disposait de deux ALU superscalaires qui pouvaient chacune accepter une instruction par cycle. Ensuite le P5 est devenu superscalaire pour les calculs sur les nombres entiers mais pas sur les nombres à virgule flottante. Les successeurs des architectures Pentium d'Intel, les P6, ont été dotés de capacités superscalaires pour les calculs sur les nombres à virgule flottante améliorant par là leurs performances en calcul flottant.

Les architectures à pipeline et superscalaires augmentent le parallélisme (ILP) des processeurs en permettant à un processeur unique d'exécuter des instructions à un rythme de plus d'une instruction par cycle. La plupart des processeurs d'aujourd'hui ont au moins une partie superscalaire. Au cours des dernières années, certaines évolutions dans la conception des processeurs à fort parallélisme ne se trouvent plus dans les circuits du processeur mais ont été placées dans le logiciel ou dans son interface avec le logiciel, le jeu d'instructions (instruction set architecture, ISA). La stratégie des instructions très longues (very long instruction word, VLIW) implémente certains parallélismes directement dans le logiciel, ce qui réduit la participation du processeur au gain de performance mais augmente aussi sa simplicité.

TLP : multithreading simultané et architecture multicœur

Une autre stratégie communément employée pour augmenter le parallélisme des processeurs consiste à introduire la capacité d'exécuter plusieurs threads simultanément. De manière générale, les processeurs multithreads ont été utilisés depuis plus longtemps que les processeurs à pipeline. Bon nombre des conceptions pionnières, réalisées par la société Cray Research, datant de la fin des années 1970 et des années 1980, mettaient en œuvre principalement le TLP, dégageant alors de très grandes capacités de calcul (pour l'époque). En fait, le multithreading était connu dès les années 1950 (Smotherman 2005).

Dans le cas des processeurs simples, les deux méthodologies principales employées pour développer le TLP sont le multiprocessing au niveau circuit (chip-level multiprocessing, CMP) et le multithreading simultané (simultaneous multithreading, SMT). À un plus haut niveau, il est d'usage de réaliser des ordinateurs avec plusieurs processeurs totalement indépendants dans des organisations de type symétrique (symmetric multiprocessing, SMP), donc en particulier à accès mémoire uniforme (uniform memory access, UMA), ou asymétrique (asymmetric multiprocessing) à accès mémoire non uniforme (non uniform memory access, NUMA). Il s'agit alors de multiprocesseurs ou de processeurs multi-cœur. Alors que ces techniques diffèrent par les moyens qu'elles mettent en œuvre, elles visent toutes le même but : augmenter le nombre de threads qu'un processeur peut exécuter en parallèle.

Les méthodes de parallélisme CMP et SMP sont assez semblables et demandent plus d'effort de conception que l'utilisation de deux ou trois processeurs totalement indépendants. Dans le cas du CMP, plusieurs cœurs (cores) de processeurs sont intégrés dans le même boîtier, parfois même dans le même circuit intégré. Les SMP, eux, utilisent plusieurs boîtiers indépendants. Le NUMA est comparable au CMP mais met en œuvre un modèle d'accès mémoire non uniforme (les temps d'accès sont différents suivant que la mémoire est locale ou non locale à un processeur donné). Cette caractéristique est fondamentale dans les ordinateurs à plusieurs processeurs car pour les modèles SMP, la mémoire est partagée et les temps d'accès à la mémoire sont donc rapidement dégradés en cas d'accès simultané par plusieurs processeurs. À ce titre, le NUMA est considéré comme un modèle plus évolutif en nombre de processeurs.

SMT diffère des autres améliorations de TLP puisqu'il vise à dupliquer aussi peu de portions de processeur que possible. Sa mise en œuvre ressemble à une architecture superscalaire et se trouve souvent utilisée dans les microprocesseurs superscalaires (comme les POWER5 d'IBM). Plutôt que de dupliquer un processeur complet, la conception SMT ne duplique que les parties nécessaires pour la recherche (fetch), l'interprétation (decode) et la répartition des instructions (dispatch) ainsi que les registres non spécialisés. Ceci permet a un processeur SMT de maintenir ses unités d'exécution occupées plus souvent, en leur fournissant des instructions en provenance de deux threads différents. Comme on vient de la voir, le SMT est proche de l'architecture ILP superscalaire, mais cette dernière exécute des instructions en provenance du même thread.

中文百科

Intel Conroe核心的Core 2 Duo

AMD Phenom Quad-Core

中央处理器(英语:Central Processing Unit,缩写:CPU),是计算机的主要设备之一,功能主要是解释计算机指令以及处理计算机软件中的数据。计算机的可编程性主要是指对中央处理器的编程。中央处理器、内部存储器和输入/输出设备是现代电脑的三大核心部件。1970年代以前,中央处理器由多个独立单元构成,后来发展出由集成电路制造的中央处理器,这些高度收缩的组件就是所谓的微处理器,其中分出的的中央处理器最为复杂的电路可以做成单一微小功能强大的单元。

中央处理器广义上指一系列可以执行复杂的计算机进程的逻辑机器。这个空泛的定义很容易地将在“CPU”这个名称被普遍使用之前的早期计算机也包括在内。无论如何,至少从1960年代早期开始(Weik 1961),这个名称及其缩写已开始在电子计算机产业中得到广泛应用。尽管与早期相比,“中央处理器”在物理形态、设计制造和具体任务的执行上有了极大的发展,但是其基本的操作原理一直没有改变。

早期的中央处理器通常是为大型及特定应用的计算机而定制。但是,这种昂贵的为特定应用定制CPU的方法很大程度上已经让位于开发便宜、标准化、适用于一个或多个目的的处理器类。这个标准化趋势始于由单个晶体管组成的大型机和微机年代,随着集成电路的出现而加速。IC使得更为复杂的中央处理器可以在很小的空间中设计和制造(在微米的数量级)。中央处理器的标准化和小型化都使得这一类数字设备和电子零件在现代生活中的出现频率远远超过有限应用专用的计算机。现代微处理器出现在包括从汽车到手机到儿童玩具在内的各种物品中。

运算器:算术、逻辑(部件:算术逻辑单元、累加器、寄存器组、路径转换器、数据总线)

控制器:复位、使能(部件:计数器、指令寄存器、指令解码器、状态寄存器、时钟发生器、微操作信号发生器)

历史

EDVAC,第一台电子储存式可编程计算机。 在现今的CPU出现之前,如同ENIAC之类的计算机在执行不同进程时,必须经过一番线路调整才能启动。由于它们的线路必须被重设才能执行不同的进程,这些机器通常称为「固定进程计算机」(fixed-program computer)。而由于CPU这个词指称为执行软件(计算机进程)的装置,那些最早与储存进程型计算机一同登场的装置也可以被称为CPU。 储存进程型计算机的主意早已体现在ENIAC的设计上,但最终还是被省略以期早日完成。在1945年6月30日,ENIAC完成之前,著名数学家冯·诺伊曼发表名为"关于EDVAC的报告草案"的论文。它揭述储存进程型计算机的计划将在1949年正式完成(冯·诺伊曼1945)。EDVAC的目标是执行一定数量与种类的指令(或操作),这些指令结合产生出可以让EDVAC执行的有用进程。特别的是,为EDVAC而写的进程是储存在高速计算机内存中,而非由实体线路组合而成。这项设计克服了ENIAC的某些局限——即花费大量时间与精力重设线路以执行新进程。在冯·诺伊曼的设计下,EDVAC可以借由改变内存储存的内容,简单更换它执行的进程(软件)。 值得注意的是,尽管冯·诺伊曼由于设计了EDVAC,使得他在发展储存进程型计算机上的贡献最为显着,但其他早于他的研究员如康拉德·楚泽(Konard Zuse)也提出过类似的想法。另外早于EDVAC完成,利用哈佛架构制造的马克一号,也利用打孔纸带而非电子内存用作储存进程的概念。冯·诺伊曼架构与哈佛架构最主要的不同在于后者将CPU指令与资料分开存放与处置,而前者使用相同的内存位置。大多近代的CPU依照冯·诺伊曼架构设计,但哈佛架构一样常见。 身为数位装置,所有CPU处理不连续状态,因此需要一些转换与区分这些状态的基础组件。在市场接受晶体管前,继电器与真空管常用在这些用途上。虽然这些材料速度上远优于纯粹的机械构造,但是它们有许多不可靠的地方。例如以继电器建造直流时序逻辑回路需要额外的硬件以应付接触点跳动问题。而真空管不会有接触点跳动问题,但它们必须在启用前预热,也必须同时停止运作。通常当一根真空管坏了,CPU必须找出损坏组件以置换新管。因此早期的电子真空管式计算机快于电子继电器式计算机,但维修不便。类似EDVAC的真空管计算机每隔八小时便会损坏一次,而较慢较早期的马克一号却不太发生故障(Weik 1961:238)。但在最后,由于速度优势,真空管计算机主宰了当时的计算机世界,尽管它们需要较多的维护照顾。大多早期的同步CPU,其时钟频率低于近代的微电子设计(见下列对于时钟频率的讨论)。那时常见的时钟频率为100千赫兹到4百万赫兹,大大受限于内建切换装置的速度。 分立晶体管与集成电路中央处理器 CPU,磁芯内存及MSI PDP-8/I 总线界面。 由于许多科技厂家投入更小更可靠的电子装置,设计CPU变得越来越复杂。晶体管的面世便是第一个CPU的飞跃进步。1950到60年代的晶体管CPU不再以体积庞大、不可靠与易碎的开关组件(例如继电器与真空管)建造。借由这项改良,更复杂与可靠的CPU便被建造在一个或多个包含分立(离散)组件的印刷电路板上。 在此时期,将许多晶体管放置在拥挤空间中的方法大为普及。集成电路(IC)将大量的晶体管集中在一小块半导体片,或芯片(chip)上。刚开始只有非常基本、非特定用途的数字电路小型化到IC上(例如NOR逻辑闸)。以这些预装式IC为基础的CPU称为小规模集成电路(SSI)装置。SSI IC,例如装置在阿波罗导航计算机上的那些计算机,通常包含数十个晶体管。以SSI IC建构整个CPU需要数千个独立的芯片,但与之前的分立晶体管设计相比,依然省下很多空间与电力。肇因于微电子科技的进步,在IC上的晶体管数量越来越大,因此减少了建构一个完整CPU需要的独立IC数量。「中规模集成电路」(MSI)与「大规模集成电路」(LSI)将内含的晶体管数量增加到成百上万。 19**年IBM推出了System/360计算机架构,此架构让一系列速度与性能不同的IBM计算机可以运行相同的进程。此确实为一项创举,因为当时的计算机大多互不兼容,甚至同一家厂商制造的也是如此。为了实践此项创举,IBM提出了微进程概念,此概念依然广泛使用在现代CPU上(Amdahl et al. 19**)。System/360架构由于太过成功,因此主宰了大型计算机数十年之久,并留下一系列使用相似架构,名为IBM zSeries的现代主机产品。同一年(19**),迪吉多(DEC)推出另一个深具影响力且瞄准科学与研究市场的计算机,名为PDP-8。DEC稍后推出非常有名的PDP-11,此产品原先计划以SSI IC构组,但在LSI技术成熟后改为LSI IC。与之前SSI和MSI的祖先相比,PDP-11的第一个LSI产品包含了一个只用了4个LSI IC的CPU(Digital Equipment Corporation 1975)。 晶体管计算机有许多前一代产品没有的优点。除了可靠度与低耗电量之外,由于晶体管的状态转换时间比继电器和真空管短得多,CPU也就拥有更快的速度。得益于可靠度的提升和晶体管转换器切换时间的缩短,CPU的时钟频率在此时期达到十几百万赫兹。另外,由于分立晶体管与IC CPU的使用量大增,新的高性能设计,例如SIMD(单指令多数据)、矢量处理机开始出现。这些早期的实验性设计,刺激了之后超级计算机(例如克雷公司)的崛起。

中央处理器操作原理

CPU的主要运作原理,不论其外观,都是执行储存于被称为进程里的一系列指令。在此讨论的是遵循普遍的冯·诺伊曼结构(von Neumann architecture)设计的装置。进程以一系列数字储存在计算机内存中。差不多所有的冯·诺伊曼CPU的运作原理可分为四个阶段:提取、解码、执行和写回。 第一阶段,提取,从进程内存中检索指令(为数值或一系列数值)。由进程计数器指定进程内存的位置,进程计数器保存供识别目前进程位置的数值。换言之,进程计数器记录了CPU在目前进程里的踪迹。提取指令之后,PC根据指令式长度增加内存单元。指令的提取常常必须从相对较慢的内存寻找,导致CPU等候指令的送入。这个问题主要被论及在现代处理器的缓存和管线化架构(见下)。 CPU根据从内存提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片断。根据CPU的指令集架构(ISA)定义将数值解译为指令。一部分的指令数值为运算码,其指示要进行哪些运算。其它的数值通常供给指令必要的信息,诸如一个加法运算的运算目标。这样的运算目标也许提供一个常数值(即立即值),或是一个空间的寻址值:暂存器或内存地址,以寻址模式决定。在旧的设计中,CPU里的指令解码部分是无法改变的硬体装置。不过在众多抽象且复杂的CPU和ISA中,一个微进程时常用来帮助转换指令为各种形态的讯号。这些微进程在已成品的CPU中往往可以重写,方便变更解码指令。 在提取和解码阶段之后,接着进入执行阶段。该阶段中,连接到各种能够进行所需运算的CPU部件。例如,要求一个加法运算,算术逻辑单元将会连接到一组输入和一组输出。输入提供了要相加的数值,而且在输出将含有总和结果。ALU内含电路系统,以于输出端完成简单的普通运算和逻辑运算(比如加法和比特运算)。如果加法运算产生一个对该CPU处理而言过大的结果,在标志暂存器里,溢出标志可能会被设置(参见以下的数值精度探讨)。 最终阶段,写回,以一定格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速访问。在其它案例中,运算结果可能写进速度较慢,如容量较大且较便宜的主内存。某些类型的指令会操作进程计数器,而不直接产生结果数据。这些一般称作「跳转」并在进程中带来循环行为、条件性执行(透过条件跳转)和函式。许多指令也会改变标志暂存器的状态比特。这些标志可用来影响进程行为,缘由于它们时常显出各种运算结果。例如,以一个「比较」指令判断两个值的大小,根据比较结果在标志暂存器上设置一个数值。这个标志可借由随后的跳转指令来决定进程动向。 在执行指令并写回结果数据之后,进程计数器的值会递增,反复整个过程,下一个指令周期正常的提取下一个顺序指令。如果完成的是跳转指令,进程计数器将会修改成跳转到的指令地址,且进程继续正常执行。许多复杂的CPU可以一次提取多个指令、解码,并且同时执行。这个部分一般涉及「经典RISC管线」,那些实际上是在众多使用简单CPU的电子装置中快速普及(常称为单片机)。

设计与实作

整数范围 CPU数字表示方法是一个设计上的选择,这个选择影响了设备的工作方式。一些早期的数字计算机内部使用电气模型来表示通用的十进制(基于10进位)记数系统数字。还有一些罕见的计算机使用三进制表示数字。几乎所有的现代的CPU使用二进制系统来表示数字,这样数字可以用具有两个值的物理量来表示,例如高低电平等等。 MOS 6502微处理器,双列直插式封装格式,一种非常流行的8位芯片。 与数表示相关的是一个CPU可以表示的数的大小和精度,在二进制CPU情形下,一个位(bit)指的是CPU处理的数中的一个有意义的位,CPU用来表示数的位数量常常被称作"字长", "位宽", "数据通路宽度",或者当严格地涉及到整数(与此相对的是浮点数)时,称作"整数精度",该数量因体系结构而异,且常常在完全相同的CPU的不同部件中也有所不同。例如:一个8位的CPU可处理在八个二进制数码(每个数码具有两个可能的取值,0或1)表示范围内的数,也就是说,2或256个离散的数值。 实际上,整数精度在CPU可执行的软件所能利用的整数取值范围上设置了硬件限制。 整数精度也可影响到CPU可寻址(寻址)的内存数量。譬如,如果二进制的CPU使用32位来表示内存地址,而每一个内存地址代表一个八比特组,CPU可定位的容量便是2个比特组或4Gb。以上是简单描述的CPU地址空间,通常实际的CPU设计使用更为复杂的寻址方法,例如为了以同样的整数精度寻址更多的内存而使用分页技术。 更高的整数精度需要更多线路以支持更多的数字比特,也因此结构更复杂、更巨大、更花费能源,也通常更昂贵。因此尽管市面上有许多更高精准度的CPU(如16,32,**甚至128位),但依然可见应用软件执行在4或8位的单片机上。越简单的单片机通常较便宜,花费较少能源,也因此产生较少热量。这些都是设计电子设备的主要考量。然而,在专业级的应用上,额外的精度给予的效益(大多是给予额外的地址空间)通常显着影响它们的设计。为了同时得到高与低位宽度的优点,许多CPU依照不同功用将各部分设计成不一样的位宽度。例如IBM System/370使用一个原为32位的CPU,但它在其浮点单元使用了128位精度,以得到更佳的精确度与浮点数的表示范围(Amdahl et al. 19**)。许多后来的CPU设计使用类似的混合位宽,尤其当处理器设计为通用用途,因而需要合理的整数与浮点数运算能力时。 时钟频率 逻辑分析仪显示一个同步的数据系统中的时间与状态。 内频=外频×倍频。 大部分的CPU,甚至大部分的时序逻辑设备,本质上都是同步的。也就是说,它们被设计和使用的前题是假设都在同一个同步信号中工作。这个信号,就是众所周知的时脉讯号,通常是由一个周期性的方波(构成)。通过计算电信号在CPU众多不同电路中的分支中循环所需要的最大时间,设计者们可为时脉讯号选择一个适合的周期。 该周期必须比信号在延迟最大的情况下移动或者传播所需的时间更长。设计整个CPU在时钟信号的上升沿和下降沿附近移动数据是可能的。无论是在设计还是组件的维度看来,均对简化CPU有显着的优点。同时,它也存在CPU必须等候回应较慢组件的缺点。此限制已透过多种增加CPU并行运算的方法下被大幅的补偿了。(见下文) 无论如何,结构上的改良无法解决所有同步CPU的弊病。比方说,时脉讯号易受其它的电子信号影响。在逐渐复杂的CPU中,越来越高的时钟频率使其更难与整个单元的时脉讯号同步。是故近代的CPU倾向发展多个相同的时脉讯号,以避免单一信号的延迟使得整个CPU失灵。另一个主要的问题是,时脉讯号的增加亦使得CPU产生的热能增加。持续变动的时钟频率使得许多组件切换(Switch)而不论它们是否处于运作状态。一般来说,一个处于切换状态的组件比处于静止状态还要耗费更多的能源。因此,时钟频率的增加使得CPU需要更有效率的冷却方案。 其中一个处理切换不必要组件的方法称为时脉闸控,即关闭对不必要组件的时钟频率(有效的禁止组件)。但此法被认为太难实行而不见其低耗能通用性。另一个对全程时钟信号的方法是同时移除时钟信号。当移除全程时钟信号;使得设计的进程更加复杂时,异步(或无时脉)设计使其在能源消耗与产生热能的维度上更有优势。罕见的是,所有的CPU建造在没有利用全程时钟信号的状况。两个值得注意的范例是ARM("Advanced RISC Machine")顺从AMULET以及MIPS R3000兼容MiniMIPS。与其完全移除时脉讯号,部份CPU的设计允许一定比例的装置不同步,比方说使用不同步算术逻辑单元连接超纯量管线以达成一部份的算术性能增进。在不将时脉讯号完全移除的情况下,不同步的设计可使其表现出比同步计数器更少的数**算。因此,结合了不同步设计极佳的能源耗损量及热能产生率,使它更适合在嵌入式计算机上运作。(Garside et al. 1999). 并行 低标量CPU的运算过程示意。注意其需要15个循环以完成三个指令。 前面描述的CPU结构只能在同一时间点执行一个指令,这种类型的CPU被称为低标量。 这一类型的CPU有一很大的缺点:效率低。由于只能执行一个指令,此类的进程给与低标量CPU固有的低性能。由于每次仅有一个指令能够被执行,CPU必须等到上个指令完成才能继续执行。如此便造成下标量CPU延宕在需要两个以上的时钟循环才能完成的指令。即便增加第二个执行单元(见下文)也不会大幅提升性能;除了单一信道的延宕以外,双信道的延宕及未使用的晶体管数量亦增加了。如此的设计使得不论CPU可使用的资源有多少,都仅能一次运行一个指令并可能达到标量的性能(一个指令需一个时脉循环)。无论如何,大部份的性能均为下标量(一个指令需超过一个时脉循环)。 为了达成标量目标以及更佳的性能,导致使得CPU倾向平行运算的各种设计越来越多。提到CPU的平行,有两个字汇常用来区分这些设计的技术。指令平行处理(Instruction Level Parallelism, ILP)以增加CPU执行指令的速率(换句话说,增加on-die执行资源的利用),以及执行绪平行处理(Thread Level Parallelism, TLP)目的在增加执行绪(有效的个别进程)使得CPU可以同时执行。每种方法均可由其如何嵌入或相对有效(对CPU的性能)来区分。 指令级并行(Instruction level parallelism,ILP):指令管线化与超纯量架构 基本的管线结构示意。假设在最佳情况下,这种管线可以使CPU维持标量的性能。 其中一种达成增加平行运算的方法,便是在主要指令完成执行之前,便进行指令提取及解码。这种最简易的技术,我们称为指令管线化,且其被利用在泰半现代的泛用CPU中。透过分解执行信道至离散阶段,指令管线化可以两个以上的指令同时执行。相较于已被淘汰的组合管线,指令管线化不再使用等候指令完全在管线中退出才执行下一指令的技术。 指令管线化产生了下一作业需要前一作业才可完成的可能性。此类状况又常称为相依冲突。解决的方法是,对此类的情况增加额外的注意,及在相依冲突发生时延迟一部份的指令。自然地,此种解决方法需要额外的循环,是故指令管线化的处理器比低标量处理器还要复杂。(虽然不是很显着)一个指令管线化的处理器的性能可能十分接近标量,只需禁止管线推迟即可。(在一个阶段需要超过一个以上的循环的指令) 简单的上标量管线。借由同时提取和分派两个指令,能够在一个时脉循环中完成最多两个指令。 此外,对于指令管线化的改进启发了减少CPU组件闲置时间的技术。称为超标量的设计包括了一条长指令管线化及多个相同的执行单元。上标量管线的分派器同时读取及通过数个指令;分派器决定指令是否能够平行执行(同时执行)并分配到可执行的执行单元。大致上来说,一个上标量的CPU能够同时分派越多的指令给闲置的执行单元,就能够完成越多的指令。 上标量CPU结构的设计中,最困难的部份便是创造一个有效率的分派器。分派器必须能够快速且正确的决定指令是否能够平行执行,并且让闲置的执行单元最小化。其需要指令管线化常时的充满指令流,且提升了在上标量结构中一定数量的CPU缓存。其亦催生了危害回避的技术,如分支预测、投机执行与跨序执行以维持高层次的性能。借由尝试预测特定的指令选择何分支(路径),CPU能够最小化整个指令管线等待特定的指令完成的次数。投机执行则是借着执行部份的指令以得知其是否在整个作业完成后仍被需要而提供适度的性能提升。跨序执行则是刷新指令执行的命令以降低数据相依。 当不是所有的CPU组件均有上标量性能时,未达上标量的组件性能便会因定序推迟而降低。奔腾的原型有两个每一时脉循环可接收一个指令的上标量算术逻辑单元,但其浮点算术处理器(Floating Point Unit, FPU)不能在每一时脉循环接收一个指令。因此P5的性能只能算是整数上标量而非浮点上标量。英特尔Pentium结构的下一代P6加入了浮点运算处理器的上标量能力,因此在浮点指令上有显着的性能提升。 此两种简单的管线及上标量设计,均能透过允许单一处理器在一个时钟循环完成一个指令,提升指令管线化的性能。多数的近代CPU设计至少都在上标量以上,且几乎所有十年内的泛用CPU均达上标量。近年来,一些重视高指令管线化的计算机将其从CPU的硬体移至软件。超长指令字符(的策略使得一部份的指令管线化成为软件,减少CPU推动指令管线化的工作量,并降低了CPU的设计复杂度。 线程级并行(Thread-level parallelism,TLP):同时执行绪执行或线程级并行处理 另一个常用以增加CPU:平行运算性能的策略是让CPU有同时执行多个执行绪(进程)的能力。大致上说来,高同时执行绪平行执行(TLP)CPU比高指令平行执行来的有用。许多由克雷公司(Cray)公司于1970年代及1980年代晚期所首创的同时执行绪平行执行,专于该方法而启发了庞大的计算效力。(就时间上而言)事实上,TLP多线程运算自从1950年就已经开始被运用了(Smotherman 2005)。在单处理器设计中,两种主要实现TLP的设计方法是芯片级多处理(CMP)芯片层多线程处理和同步多线程(simultaneous multithreading(SMT))。同级别层多线程处理。在更高级层中,一台计算机中有多个单独的处理器,常常运用对称多处理机(SMP)和non-uniform memory access(NUMA)非独立内存访问的方式来组织。这些非常不同的方法,全部为了实现同一个目标,就是增加CPU同时处理多个线程的能力。 CMP和SMP这两种方法其实是非常相似的,而且是最直接的方法。这里有一些概念上的东西关于如何实两个或是两个以上完全单独的CPU。在CMP中,多个处理器内核会被放入同一个包中,有时会在非常相近的集成电路中。另一方面SMP包含多个包在其中,NUMA和SMP很相像,但是NUMA使用非单一的内存访问方式。这些对于一台有着多个CPU的电脑来说是非常重要的,因为每个处理器访问内存的时间会很快的被SMP分享的模块消耗掉,因些会造成很严重的延迟,因为CPU要等待可用的内存.这时NUMA是个不错的选择,它可以允许有多个CPU同时存在一台电脑中而且SMP也可以同时实现.SMT有一些不同之处,就是SMT会尽可能的减少CPU处理能力的分布。TLP的实现实际上和超标量体系结构的实现有些相似,其实上它常常被用在超标量体系结构处理器中,如IBM的POWER5。相比于复制整个CPU,SMT会复制需要的部分来提取指令,加密和分配,就像计算机中的一般的寄存器一样。因此这样会使SMT CPU保持处理单位运作的连续,一些通常会提供给处理单位多个指令而且来自不同的软件线程,这和ILP结构很相似。相比于处理多个指令来自同一个线程,它会同时处理来自不同线程的多个指令。 数据并行 上面提及过的处理器都是一些常量仪器,而针对矢量处理的CPU是较不常见的类型,但它的重要性却越来越高。事实上,在计算机计算上,矢量处理是很常见的。顾名思义,矢量处理器能在一个命令周期(one instruction)处理多项数据,这有别于只能在一个命令周期内处理单一数据的常量处理器。这两种不同处理数据的方法,普遍分别称为『单指令,多数据』(SIMD)及『单指令,单数据』(SISD)。矢量处理器最大的优点就是能够在同一个命令周期中对不同的工作进行优化,例如:求一大堆数据的总和及矢量的数量积,更典型的例子就是多媒体应用进程(画像、影像、及声音)与及众多不同总类的科学及工程上的工作。当常量处理器只能针对一组数据于单一命令周期内完全执行提取、解码、执行和写回四个阶段的同时,矢量处理器已能对较大型的数据如相同时间内执行相同动作。当然,这假设了这个应用进程于单一命令周期内对处理器进行多次要求。 大多数早期的矢量处理器,例如Cray-1,大多都只会用于和科研及密码学有关的应用进程。但是,随着多媒体向数位媒体转移,对于能做到『单指令,多数据』的普通用途处理器需求大增。于是,在浮点计算器普及化不久,拥有『单指令,多数据』功能的普通用途处理器便面世了。有些早期的『单指令,多数据』规格,如英特尔的MMX,只能作整数运算。因为大多数要求『单指令,多数据』的应用进程都要处理浮点数字,所以这个规格对软件开发者无疑是一个主要障碍。幸好,这些早期的设计慢慢地被改进和重新设计为现时普遍的『单指令,多数据』新规格,AMD公司也推出了第一个真正能执行浮点SIMD指令集3DNow!,在每个时脉周期可得到4个单精确度浮点数结果,是当时一般x87浮点处理器的4倍。新规格通常都于一ISA关连着。近年,一些值得注意的例子一定要数英特尔的SSE和PowerPC相关的AltiVec(亦称为VMX)。 AMD Opteron六核心处理器 多核心 多核心中央处理器是在中央处理器芯片或封装中包含多个处理器核心,以偶数为核心数目较为常见,一般共用二级缓存。现今使用双核心和四核心以上处理器的个人电脑已相当普遍。另也有少数三核心、六核心、八核心、十核心处理器等。 第一颗双核心处理器为IBM POWER4处理器,2012年IBM发布了最新8核心的POWER 7+处理器,拥有80MB L3缓存/芯片。

性能

CPU的性能和速度取决于时钟频率(一般以赫兹计算,即Ghz)和每周期可处理的指令(IPC)。 IPS值代表了CPU在几种人工指令串行下“高峰期”的运行率,指示和应用。而现实中CPU组成的混合指令和应用,可能需要比IPS值显示的,用更长的时间来完成。而内存层次结构的性能也大大影响中央处理器的性能。通常工程师便用各种已标准化的测试去测试CPU的性能,已标准化的测试通常被称为“基准”(Benchmarks)。如SPECint,此软仵试图仿真现实中的环境。测量各常用的应用进程,试图得出现实中CPU的绩效。

提高电脑的处理性能,亦使用多核心处理器。原理基本上是一个集成电路插入两个以上的个别处理器(意义上称为核心)。在理想的情况下,双核心处理器性能将是单核心处理器的两倍。然而,在现实中,因不完善的软件算法,多核心处理器性能增益远远低于理论,增益只有50%左右。但增加核心数量的处理器,依然可增加一台计算机可以处理的工作量。这意味着该处理器可以处理大量的不同步的指令和事件,可分担第一核心不堪重负的工作。有时,第二核心将和相邻核心同时处理相同的任务,以防止崩溃。

实际应用

中央处理器大规模应用在个人电脑上,现今电脑可进入家庭。全因集成电路的发展,令大小、性能以及价位等多个方面均有长足的进步。现今中央处理器价钱平宜,用户可自行组装个人电脑。主板等主要电脑组件,均配合中央处理器设计。不同类型的中央处理器安装到主板上使用不同类型的插槽中(主流的插槽有LGA 1150和Socket AM3+/FM2+。当中英特尔的处理器使用LGA1150以及LGA2011,超微的则使用Socket AM3+及FM2+)。现令中央处理器变得更省电,温度更低。大多数IBM PC兼容机使用x86架构的处理器,他们主要由英特尔和超微两家公司生产,此外威盛电子或者全美达也有参与中央处理器的生产。但与IBM PC兼容机不同,在2006年之前苹果电脑所使用的处理器一直是IBM PowerPC RISC,之后的苹果电脑开始转而采用英特尔的处理器以及系统。可见中央处理器在现代电脑的重要地位。

著名公司

AMD(超微)

Andes (晶心科技)

ARM(安谋)

Cirrus Logic(凌云逻辑)

Cyrix(赛瑞克斯)

龙芯(中国科学院)

DEC(迪吉多)

Fairchild(仙童)

Fujitsu(富士通)

Harris(哈瑞斯)

Hewlett Packard(惠普)

Hitachi(日立),见Renesas(瑞萨)

IBM(国际商业机器)

IDT

Intel(英特尔)

Intersil

Maxwell(麦克斯韦)

MHS

Microsystems International

MIPS Technologies(美普思科技)

Mitsubishi(三菱),见Renesas(瑞萨)

MOS Technology

Motorola (摩托罗拉)

NS(国家半导体)

NEC(日本电气),见Renesas(瑞萨)

NexGen

OKI(冲电气)

OPTi

Philips(飞利浦)

RCA(美国无线电)

Renesas(瑞萨)

Rise

Rockwell(洛克威尔)

SGS,见ST(意法半导体)

Sharp

ST(意法半导体)

Siemens(西门子)

Synertek

Sun(升阳)

Thompson(托马森)

Thomson(汤姆逊半导体),见ST(意法半导体)

TI(德克萨斯仪器)

Toshiba(东芝)

Transmeta(全美达)

UMC(联电)

VIA(威盛)

Western Design Center(西部设计中心)

Western Electric(西部电气)

ZiLOG

法法词典

processeur nom commun - masculin ( processeurs )

  • 1. informatique unité fonctionnelle d'un ordinateur servant à interpréter et exécuter les instructions

    les instructions exécutables par le processeur

相关推荐

antérograde a.amnésie antérograde 【医学】远事遗忘(症)

décédé a. 死亡的, 走过的

obsessionnel obsessionnel, lea.1. 【心理学】强迫性 2. 心神不3. 有强迫性神经(官能)症— n.强迫性神经(官能)症者

tortue 龟,乌龟

grillon 蟋蟀

长三角 Cháng-Sānjiǎodelta du Changjiang

digitale n. f.洋地黄, 毛地黄

mariage 结婚,婚姻

météorisme n. m. [医]腹胀, 鼓胀, 气胀

récapitulatif a.摘的, 重述点的, 概括的