鼻子一直流血是什么原因| 游弋是什么意思| 扁平苔藓有什么症状| 入睡困难挂什么科| 婴儿便秘怎么办什么方法最有效| 失重感是什么感觉| 挑食是什么意思| 天蝎男和什么星座最配| 上技校学什么专业好| 溺爱什么意思| 吃什么缓解痛经| 宴字五行属什么| 晚上十一点半是什么时辰| 李白是什么星座| 芳心是什么意思| 锁骨发适合什么脸型| 9月20日是什么星座| 泰安有什么大学| 救星是什么意思| 什么是断桥铝| 塞肛门的止痛药叫什么| 什么样的阳光填形容词| 硫酸是什么| 脖子右侧疼是什么原因| 心颤是什么症状| 喝酒后胃不舒服吃什么药| left什么意思| 橙子什么季节成熟| 射的快吃什么药| 56年属什么生肖| 容易受惊吓是什么原因| 爱什么意思| cosplay什么意思| 孩子为什么会得抽动症| 露营需要准备什么东西| 窦性心律不齐是什么意思| 怀孕生气对胎儿有什么影响| 理疗是什么意思| 眉尾长痘是什么原因| 什么时候取环最合适| 梦见自己和别人结婚是什么意思| 上山下水什么字| 腱鞘炎用什么药| 旦上面加一横是什么字| 双手麻木是什么原因| 胆囊息肉是什么原因造成的| mmhg是什么单位| 腹茧症是什么病| 5月23日是什么星座| 武昌鱼是什么鱼| 龙凤胎是什么意思| 常务理事是什么职位| 香肉是什么肉| 项羽的老婆叫什么| 乙肝e抗原阳性是什么意思| 千里江陵是什么意思| 嗔恨是什么意思| 红薯叶不能和什么一起吃| 感冒喝什么汤| 海棠果什么时候成熟| 吃瓜什么意思| 陈旧性心梗是什么意思| 努尔哈赤是什么民族| 脚背抽筋是什么原因引起的| abob白色药片是什么药| 土笋冻是什么虫子| 鱼腥草破壁饮片有什么功效| 爱马仕是什么| merry是什么意思| 破伤风挂什么科| 腋臭和狐臭有什么区别| 用盐袋子热敷小肚子有什么功效| 为什么肚子总是胀胀的| 家里的财位在什么位置| 心脏变大是什么原因| 雨字五行属什么| 口腔溃疡缺乏什么维生素| 泡脚时间长了有什么坏处| 盆腔炎有什么症状| pml是什么意思| 一感冒就咳嗽是什么原因| 脾胃伏火是什么意思| 善莫大焉什么意思| 什么而去的四字词语| 不现实什么意思| 奇葩是什么意思| 鞋底md是什么材质| 内热是什么意思| 西边五行属什么| 高密度脂蛋白胆固醇偏高是什么意思| 硌脚是什么意思| 乳头湿疹用什么药| 单亲家庭是什么意思| 早泄是什么原因| 什么是高脂血症| 什么时候做人流才是最佳时间| 嗝气是什么原因引起的| 金银花什么时候采摘最好| bp是什么的缩写| 吃什么东西下火| 看花灯是什么节日| 松针土适合种什么花| 私人订制什么意思| 京东自营店是什么意思| 甘草片不能和什么药一起吃| 为什么白天能看到月亮| 心电图逆钟向转位是什么意思| ms是什么病| 柠檬什么时候开花结果| 大便干是什么原因| 手发胀是什么原因造成的| 二月四号是什么星座| 小便很黄是什么原因| 什么的池塘| impress是什么意思| 鱼可以吃什么| 学信网上的报告编号是什么| 喝红牛有什么好处和坏处| cpr是什么| gif什么意思| 违反禁令标志指示什么意思| 1998年出生属什么| 吃菠萝蜜有什么好处| 梦到吃花生是什么意思| 什么什么不生| 乙脑是什么病| black什么颜色| 布克兄弟什么档次| 张顺的绰号是什么| 三七长什么样子图片| Q什么意思| 浅表性胃炎吃什么药| 中午一点是什么时辰| 黑加仑是什么| 子宫回声欠均匀是什么意思| 1月18日什么星座| 9月是什么季节| 痛经是什么原因| 腰腿疼痛吃什么药效果好| 热脸贴冷屁股是什么意思| 手指麻是什么原因| 医保卡是什么样子的图| hr是什么意思| 脾胃湿热吃什么药| 盆腔炎吃什么消炎药| 猪头肉是什么意思| 本自具足是什么意思| palladium是什么牌子| 沙参长什么样子图片| 赛马不相马什么意思| 惜字如金是什么意思| p什么意思| 巧夺天工什么意思| 纳呆什么意思| 白细胞低有什么危害| 2020属什么生肖| 吃什么帮助消化通便| 什么的食物| 勃起不硬吃什么药| 痛风吃什么药最有效| 腹主动脉壁钙化是什么意思| 蜘蛛的血是什么颜色的| 荨麻疹是什么病| 菩提树长什么样| 皮肤干燥是什么原因| 烂尾楼是什么意思| std是什么意思| 香茅是什么东西| 肚子疼喝什么能缓解| 送老师什么花好| 框镜鱼是什么鱼| 拜金是什么意思| 猪砂是什么东西| 偶数和奇数是什么意思| 工匠精神是什么| 查怀孕做什么检查| 授记是什么意思| eagle是什么意思| 反流性食管炎b级是什么意思| 油菜籽什么时间种| 副高相当于什么级别| 梦见抓鱼是什么意思| 跳绳有什么好处| 预防高原反应吃什么药| 水柔棉是什么面料| 伟哥有什么副作用| 10月19号什么星座| 伤口增生是什么原因造成的| 痛风喝酒会有什么后果| 莎莎舞是什么意思| 什么人适合吃蛋白质粉| 什么情况下会流前列腺液| 口腔溃疡用什么药好得快| 犬瘟热是什么症状| 奶咖是什么| 泡黄芪水喝有什么好处| 流水生财是什么意思| 扭转乾坤什么意思| wbc是什么| 有出息是什么意思| 唇周发黑是什么原因| 送爸爸什么礼物最实用| clinique是什么牌子的化妆品| 脑部缺氧有什么症状| 解表散热什么意思| 咳嗽有痰吃什么水果| ;是什么号| 胸痒痒是什么原因| 嘴唇变厚是什么原因| 风湿免疫科是看什么病的| 宫颈细胞学检查是什么意思| 什么是星座| tdp是什么意思| 阴桃花是什么意思| ecom什么意思| vk是什么| 乙肝1245阳性什么意思| 胎毛是什么| 甲状腺结节3类什么意思| 梦见黑熊是什么预兆| 做梦捡到钱是什么意思| 纤维条索灶是什么意思| 渡人是什么意思| 喜什么自什么| 猪古代叫什么| 为什么夏天吃姜好| 甲状腺结节有什么症状表现| 吃银耳有什么好处和坏处| 杉字五行属什么| 不可思议的意思是什么| 精分是什么| 20岁属什么| 尿路感染看什么科| 酸西地那非片是什么药| 江西什么最出名| 什么病会通过唾液传播| 宫颈活检lsil是什么病| 转氨酶偏高是什么意思| 晚上睡觉脚抽搐是什么原因| pls是什么意思| 什么叫肺结节| 一什么花瓣| 梨形心见于什么病| 亲嘴有什么好处| 吹空调头疼吃什么药| 甘油三酯代表什么| 减肥晚上吃什么水果| 青睐是什么意思| 文曲星什么意思| 得了破伤风是什么症状| 一生一世是什么生肖| 生理性厌恶是什么意思| 自给自足是什么意思| 肾出血是什么原因引起的| 方得始终什么意思| 做什么检查需要空腹| 崩盘是什么意思| 偏头疼吃什么药效果好| 天秤男和什么星座最配| 入职offer是什么意思| 县长什么级别干部| 引体向上练什么肌肉| 四肢肌力5级什么意思| 提供什么| 百度コンテンツにスキップ

年底前国务院部门40个垂直系统向各级政务部门开放共享数据

出典: フリー百科事典『ウィキペディア(Wikipedia)』
百度 SP-17的使用就是为了检验间谍的忠诚程度,然而,传言的真假却是无法证实的。

Explicit Data Graph Execution あるいは EDGE とは、命令セットアーキテクチャ (ISA) であり、個々の命令を結合して「ハイパーブロック」と呼ばれる容易に並列実行可能なグループにまとめ、膨大な数の実行ユニットで実行させることで、 一般的なプロセッサ(x86など)に対して演算性能を大きく向上させることを目指している。 現代的なCPU設計における並列実行は、8個程度の実行ユニットと1~4個程度のコアで頭打ちになっているが、EDGE の設計では数百個のユニットを内部的に持てるようにし、これまでの設計に対して数百倍の高速化を実現しようとしている。EDGE の概念は2012年までに1チップで1TFLOPSを実現させることを目指した米国国防高等研究計画局の Polymorphous Computing Architectures プログラムの下、テキサス大学オースティン校が牽引している[1]

これまでのCPU設計

[編集]

ほぼ全てのコンピュータプログラムは、データをある形態から別の形態へと変換する命令列から成り立っている。CPUの目的は、データの変換を可能な限り高速に行って性能を向上させることであり、CPUがサポートする命令セットは変換が高速になるような意図で設計されている。コンピュータの発展に伴って、コンピュータ内部の様々な要素の相対的なコストが大きく変化し、それによって命令セットの設計に大きな転換期が何度か訪れた。

1960年代にはメモリが相対的に高価であり、CPU設計者は貴重なメモリ資源を有効に活用できるよう、内部に命令とデータを密に詰め込んだ命令セットを開発した。たとえば、 A と B を加算し、C に出力 という命令は A と B を主記憶、インデックス、レジスタなど様々な場所から取り出すために異なる種類のものが提供されていた。異なる命令が提供されることで、プログラマは最もメモリ消費量が抑えられる命令を選択することができた。全ての命令に任意のデータアクセス方法を選択できるようにした命令セット(たとえばMotorola 68000)は「直交的」と呼ばれ、設計の模範とされた。こうした命令セットは様々なアクセス方法を提供するため複雑化し、今日ではCISC(複雑な命令セットを備えたコンピュータ)と呼ばれている。

1970年代の後半までにメモリは安価になったが、相対的に性能が低くなり、CPUはメモリの数倍の速度で動作できるようになった。その結果、直交性によりCPUはわずかなメモリ上のスペースを節約できるものの、性能の向上には寄与せず、もはや直交性は重要ではなくなった。 この時期にはRISCの設計思想が繁栄し、直交的な命令はほとんどなくなってデータを操作する命令はレジスタとのみやり取りするようになった。命令を減らしたことで命令デコーダが簡潔なものになり、CPUには大きな空きスペースが生まれた。このスペースはレジスタを大きく増やすために用いられた。データをレジスタ内に保持することでアクセスが高速になり、1990年代まで、RISC設計のCPUはCISC設計のものの性能を上回った。この差は圧倒的なもので、その後x86などの現代的なCISC設計のCPUは、実質的にRISCのエンジンとなり、内部で CISC 命令を RISC 的な形式に変換して動作するようになった。

1990年代にはチップの設計技術、製造プロセスが進歩し、安価なプロセッサにすら実現可能な全ての機能を盛り込むことができる段階に達した。さらなる性能向上のため、CPUの設計は内部的に並列性を獲得するようになった。これは "スーパースケーラ" と呼ばれる。どんなプログラムでも、互いに関連のないデータを処理する命令があり、演算ユニットを追加すれば、これらは同時に実行することができる。CPUに追加された新たな要素「スケジューラ」が、関連のないデータを探して演算ユニットに投入し、出力結果を並べ替える。外部には通常に実行したかのように見える。

スーパースケーラの設計で獲得できる並列性の度合いは、スケジューラが命令同士の依存関係を調べることのできる数に依存する。多数の命令を調べることができれば並列に実行可能な命令を見つける可能性が高まるが、これにはスケジューラー自体を複雑にする以外にない。膨大な労力が費やされたが、これまでのRISC / CISC命令セットでは演算ユニットの数は3?4で飽和している。

他には、特定の種類のデータを処理する命令を見つけて専用の処理ユニットを追加することで、システムの性能を向上させることができる。浮動小数点演算ユニットや、最近ではSIMDユニットの追加はこうした方法である。この方法の問題はCPUが汎用的ではなくなることで、たとえば全てが浮動小数点演算であるようなプログラムを実行すると、FPUは全力で動作し続けるが他のユニットは遊んでしまう。

現代的なCPU設計で、より近年問題になっているのはレジスタとのやり取りに伴う遅延である。CPUのダイサイズは過去数十年間概して変わっていないが、各機能ユニットは様々な機能ユニットが追加されにつれどんどん小さくなっている。すなわち、機能ユニットとレジスタとの相対的な距離はどんどん長くなっている。かつてメインメモリとの通信による遅延を抑えるために生まれたレジスタが避けるべき遅延となってきている。

かつてメモリが安価になり通信による遅延が問題になったことがCISCからRISCへの急激な変化を引き起こしたように、 CPUの設計者は、並列化による性能向上の問題とレジスタの遅延の問題が、基本的に命令セットを切り替えることになるかどうかについて検討している。

新しい命令セットを導入しようという試みの一つがItaniumに代表されるVery Long Instruction Word (VLIW) アーキテクチャである。VLIWはスケジューラのロジックをCPUから移動し、命令列を検査するのに十分な時間とメモリを使用することが可能なコンパイラで実行する。この「静的配置、静的発行」という実行モデルは遅延が全て事前に既知である場合にはうまく動作するが、実際にはコンパイラが命令語を命令で満たすことは困難な挑戦であることがわかってきた[2]。たとえば、キャッシュにデータがあれば5サイクルかかる命令も、なければ数百サイクルかかる可能性があるが、コンパイラには実行中にどのデータがキャッシュに入っているかを知る術はない。こうした遅延は、コンパイルするプログラムとは何の関係もないシステムの全体的な負荷やその他の要素によって定まるものである。

EDGE

[編集]

理論

[編集]

既存のCPU設計における性能上のボトルネックは、データとそれを処理する命令が、メモリ上に分散していることである。メモリ性能は全体の性能を規定し、過去の「動的配置、動的発行」は、性能の限界に達しているようである。VLIWは「静的配置、静的発行」モデルを用いたが、プログラムの実行時の振る舞いを予測し、あらかじめ適切にスケジュールしておくことが困難であるため、実現困難なことがわかってきている。

EDGEアーキテクチャは「静的配置、動的発行」設計に基づく新しい種類のISAである。EDGEシステムはソースコードを静的に割り当てられた数百?数千の命令からなる「ハイパーブロック」を形成するようにコンパイルし、ハイパーブロックが CPU により動的にスケジュールされる。EDGEは、VLIWのコンパイル時にデータの依存関係を見つけるという概念と、データが利用可能になったときに命令を実行すると言うスーパースケーラのRISCの概念の、それぞれの利点を組み合わせて用いる。

現実世界の大半のプログラムは、データと命令の関連は明示的である。プログラムは(時代によって異なるが)サブルーチン、手続き、メソッドと呼ばれる開始点、終了点が明確に定義されたデータの入出力を行うブロックに分割される。この情報は高級言語がより単純なプロセッサの命令セットに変換される際に失われる。しかし、この情報は非常に役立つもので、現代的なコンパイラはこれを "基本ブロック (basic block)" として一般化し、レジスタを介したメモリアクセスを最適化する際に基本ブロックの特定を行う。命令のブロックは制御命令を含んでおらず、述語命令を含むことができる。命令ブロック間や記憶領域とのデータの流れを示すことで、これらのブロックを用いてデータフローグラフが生成される。

EDGEの基本的な考え方は、こうしたブロックの操作を命令セットレベルでサポートすることである。基本ブロックはメモリへのアクセスを詳細に定義された方法で行うので、プロセッサは関連したブロックをロードし、スケジュールし、あるブロックの出力をそれを用いるブロックに直接与えることができる。これによって汎用の大域的なレジスタファイルが必要なくなり、コンパイラがレジスタへのアクセスをスケジュールする作業が全体として簡略化される。その代わり、各基本ブロックは専用のローカルレジスタを持ち、コンパイラはより単純なブロック内部での最適化を行う。

EDGEシステムは、1960 / 70年代、また1990年代のデータフロー言語によく似ている。データフローコンピュータはプログラムを、ある命令がその処理対象が利用可能になると実行可能になることを規定する「データフロー着火規則」に基づいて実行する。EDGE のようにデータを分離するため、データフロー言語は本質的に並列的であり、データフローへの関心は一般的なコンピュータの問題に対する大規模な並列化方法への関心につながった。当時存在したCPU技術を用いた研究結果では、データフローマシンが、CPUが十分並列的に動作できるほど近くにデータを保持することが難しいとされたが、それはまさに現在の製造技術を用いて数百個のCPUとメモリを一つのダイに配置れば解決できるボトルネックである。

データフローシステムが全く受け入れられなかったもう一つの理由は、当時のコンパイラがC++のような必須の言語に対応していなかったことである。代わりに、ほとんどのデータフローシステムはPrographのような専用の言語を用いており、商業的な関心を失わせた。この10年のコンパイラの研究によりこうした問題の多くは解決しており、またデータフローとEDGEの大きな違いとして、EDGEの設計は一般的に用いられている言語に対応することを意図している。

CPU

[編集]

EDGE設計に基づく CPUは、一つ以上(現実的には数百)の小さなブロック実行エンジンと、専用のローカルレジスタを持つ。各ユニットは専用のブロック間コミュニケーションリンクで接続されている。コンパイラによってブロックに付加される情報により、スケジューラはブロック全体を検査して、入力データが利用可能であれば実行エンジンに送る。ブロック内の個別の命令を検査する必要はない。

複雑さをわずかに増やすだけで、スケジューラは複数のブロックを検査してあるブロックの出力が他のブロックの入力となることを判断し、これらのブロックをユニット間の通信による遅延を減らすよう配置することができる。現代的な並列性を抽出するために CPU が数千の命令を検査することができるなら、EDGEでは同等の複雑さで、それぞれ数百の命令からなる数千のハイパーブロックを検査することができる。この操作がEDGEの名前の一部「グラフ」の元になっており、グラフとはブロック間のデータの流れを元にブロック同士を接続したものである。

EDGEの概念におけるもう一つの利点は、大規模に拡大可能な点である。ローエンドの設計では、ブロック実行のエンジンを一つしか持たず、スケジューラもプログラムから呼び出すとおりにブロックをエンジンに送出するだけ、といった構成にすることができる。デスクトップ向けのEDGEプロセッサの設計では、数百個のブロック実行エンジンを備えるだろう。決定的な点は、二つの設計の違いは、チップの物理的な配置と、スケジューラのみが知っている情報だけであり、実行ユニットが一つのマシン用に記述されたプログラムは、デスクトップ用のものでも全く同じように(ただし数千倍高速に)動作するという点である。また消費電力も劇的に改善され、その管理も簡潔なものになる。消費電力上の必要に応じて各ブロックの実行エンジンを有効無効にすることができ、それが電力消費に正比例する。

EDGEの概念で最も優れている点は、いかなる種類のデータ処理にも適合するという点である。CPUの異なる部分が異なる種類のデータ専用になっている現代のCPU設計とは異なり、EDGE CPUは通常ひとつの種類の ALU的な演算ユニットからなる。様々なプログラムを同時に実行するデスクトップのユーザーは、浮動小数点の演算のみ用いる一つのプログラムを実行する科学技術演算のユーザーと同じ恩恵を受ける。いずれのケースでも、スケジューラは各ブロックを実行ユニットにロードするだけである。個別のブロック実行エンジンの性能は専用のFPUには到底及ばないが、これを膨大な並列化によって圧倒しようとするものである。

実装

[編集]

TRIPS

[編集]

テキサス大学オースティン校は、TRIPS と呼ばれるEDGE命令セットアーキテクチャを開発している。EDGEを動作させるCPUのマイクロアーキテクチャを簡略化するため、TRIPSのハイパーブロックに制約を設けている。

  • 最大128命令
  • 最大32のロード/ストア
  • 32のレジスタバンクに対する読み書き
  • ブロックの終端を示す分岐を一つ持つ

TRIPSコンパイラは静的に命令をハイパーブロックにまとめるが、ブロックを特定のALUで動作するようにする。TRIPSのプログラムは実行するアーキテクチャの実装に若干の依存が生じる。

2003年、TRIPSのプロトタイプが作成された。これは4x4のグリッドに配置された16個の実行エンジンと、1MBのローカルキャッシュ、転送メモリを備えていた。シングルチップの TRIPS は、カナダでIBMが130 nmプロセスで製造し、上記のグリッドエンジンを二つ、共有のL2キャッシュと様々なサポートシステムを備えていた。このチップ4つと1GバイトのRAMが実験用のドータカードに乗せられていた。

TRIPSチームは最終的な目標をシングルチップで1TFLOPSの性能を持続的に出すことに設定している。これは、2008年におけるハイエンドのCPU性能の約 50 倍に当たる(デュアルコア Xeon 5160は17G FLOPSの性能)。

CASH

[編集]

CMUのCASHは "Pegasus" と呼ばれる中間コードを生成するコンパイラである。CASHとTRIPSはよく似た考え方であるが、CASHは特定のアーキテクチャを対象としたコードを生成するのではないため、ブロックのレイアウトに制約はない。


WaveScalar

[編集]

ワシントン大学WaveScalarアーキテクチャは、実質的にEDGEと似ているが、命令を "wave" に静的に配置しない。替わりに特殊な命令 (phirho) を用いてwaveの境界をマークし、wave単位のスケジューリングを可能にする[3]

参考資料

[編集]

文献

[編集]
  1. ^ University of Texas at Austin, "TRIPS : One Trillion Calculations per Second by 2012"
  2. ^ W. Havanki, S. Banerjia, and T. Conte. "Treegion scheduling for wide-issue processors", in Proceedings of the Fourth International Symposium on High-Performance Computer Architectures, January 1998, pg. 266?276
  3. ^ "The WaveScalar ISA"

論文

[編集]
什么水果 羊羹是什么做的 36d是什么意思 蒙古族不吃什么肉 玉对人体有什么好处
男人为什么喜欢大胸 洺字五行属什么 ciel是什么意思 二婚是什么意思 执业医师是什么意思
叕怎么读音是什么意思 寡情是什么意思 mango是什么意思 琬字五行属什么 尿频尿多吃什么药好
尿白细胞弱阳性是什么意思 补充公积金是什么意思 雪里红是什么菜 反式脂肪是什么 硫酸铜是什么颜色
沙僧的武器叫什么hcv8jop5ns4r.cn 刻舟求剑的意思是什么hcv8jop0ns3r.cn 口腔溃疡牙龈肿痛吃什么药hcv8jop2ns9r.cn 男性尿分叉是什么原因hcv9jop2ns7r.cn 宝宝手足口病吃什么药hcv8jop8ns2r.cn
口干是什么病的前兆helloaicloud.com 带状疱疹是什么症状hcv9jop2ns2r.cn 两腿抽筋是什么原因hcv8jop6ns5r.cn 小儿外科主要看什么病520myf.com con是什么意思cl108k.com
什么先什么后hcv9jop2ns7r.cn hl是胎儿的什么hcv8jop6ns5r.cn 酸汤鱼用什么鱼hcv9jop1ns6r.cn 南笙是什么意思ff14chat.com 蛀牙是什么样子的cj623037.com
眼底出血用什么眼药水最好hcv8jop6ns1r.cn 孛儿只斤现在姓什么hcv8jop6ns2r.cn 高考是什么xianpinbao.com 乙亥五行属什么hcv8jop4ns4r.cn 舌头辣辣的是什么原因qingzhougame.com
百度