砷是什么东西| 捭阖是什么意思| bp是什么单位| 1月27日什么星座| 乙肝弱阳性是什么意思| 芒果有什么好处和坏处| 缺铁性贫血吃什么水果| phicomm是什么牌子| 未退化胸腺是什么意思| 叫床是什么意思| 什么样的夜晚| 梦见爬山是什么预兆| 鸭子喜欢吃什么| 漂白粉是什么| 腰痛贴什么膏药最好| 1983是什么年| 士大夫是什么意思| 绞股蓝有什么作用| 寒门什么意思| 脸上长痘是什么原因| 高校自主招生是什么意思| 榆钱是榆树的什么| 什么情况下会得荨麻疹| 什么是雾霾| 睡眠浅是什么原因| 开塞露加什么能去皱纹| 上海古代叫什么| 松针土适合种什么花| maybach是什么车| 什么的事物| 头发有点黄是什么原因| 消停是什么意思| 多汗症是什么原因| 偶数和奇数是什么意思| 梦见自己有孩子了是什么预兆| 窦性心律不齐是什么情况| 满月脸水牛背是什么病| 鼻子旁边长痘是什么原因| 外阴瘙痒是什么原因| 许久是什么意思| 抗核抗体谱检测查什么的| 血红蛋白低说明什么| 孤独的最高境界是什么| 盘是什么意思| 一丝不苟是什么生肖| 白带有腥味是什么原因| 捐肾对身体有什么影响| 女同是什么| 降维打击是什么意思| 山东立冬吃什么| 0101是什么意思| 蟑螂的天敌是什么| 什么是呆账| o型血和b型血的孩子是什么血型| 奇异果和猕猴桃有什么区别| 为什么会手麻| 什么叫白眼狼| 什么是卫星| 回族为什么姓马的多| cnm是什么意思| 存是什么生肖| 冲正是什么意思| 孕妇做无创是检查什么| 台卡是什么| 9月14日是什么星座| 什么叫阴虚什么叫阳虚| 外痔疼痛用什么药最好| 骁字五行属什么| 增加免疫力吃什么好| 企业性质指的是什么| 十一月二十是什么星座| 吃菱角有什么好处| 熟地黄是什么| 螃蟹不能和什么水果一起吃| 禀报是什么意思| 幽门杆菌吃什么药| 亦如是什么意思| 有氧运动是什么| 14岁可以做什么工作| 黑蝴蝶代表什么| 省政协主席是什么级别| 自言自语说话是什么病| 春宵一刻值千金什么意思| 新五行属什么| 麦冬有什么作用| 茱萸是什么植物| 为什么手淫很快就射| 胎儿脐带绕颈是什么原因造成的| 308什么意思| 平诊是什么意思| 左下眼皮跳是什么原因| 木代表什么生肖| 前列腺增大有什么危害| 以身相许什么意思| hpv挂什么科| 蜜蜡属于什么五行属性| 工商联是什么单位| 88年什么命| 老九门讲的是什么故事| 麻长什么样子图片| 照护保险是什么| 提拉米苏是什么| 女生什么时候是排卵期| 嗓子肿痛吃什么药| dos是什么| 什么时候喝蜂蜜水最好| 股票套牢是什么意思| 甲沟炎是什么| 老人手抖是什么病的预兆| 持续耳鸣是什么原因引起的| 黄绿色痰液是什么感染| 发扬什么精神| feel是什么意思| 连襟是什么关系| 同型半胱氨酸是什么意思| 一级警长是什么级别| 梦见捡到钱是什么预兆| 什么是血沉| 老年人吃什么水果好| 看颈椎挂什么科| 蚂蚁代表什么生肖| 烤麸是用什么做的| 推什么出什么| 冬至说什么祝福语| 04属什么生肖| 停胎是什么原因造成的| 为什么七星瓢虫是益虫| 查甲亢挂什么科| 花生属于什么类| 头发一把一把的掉是什么原因| 一饿就胃疼什么原因| 不洁是什么意思| 什么竹水果| 财年是什么意思| 经理是什么级别| 分贝是什么意思| 火文念什么| 什么花适合室内养| 克罗恩病是什么病| 指甲有竖纹是什么病| 第一次坐飞机注意什么| 为什么会下雨| 胆固醇高不能吃什么食物| 排卵试纸两条杠是什么意思| 吃什么能排湿气| 鸟牌是什么牌子的衣服| 体寒吃什么好| 胆囊炎吃什么| 备皮什么意思| 痣是什么| 韩束属于什么档次| 11月17日什么星座| 10月1什么星座| 水中毒是什么症状| 梦到好多蛇是什么意思| 咽喉充血是什么原因| 慢性浅表性胃炎是什么意思| 5s是什么| 夫妻少配无刑是什么意思| 养小鬼是什么意思| 孕妇梦见猫是什么意思| 生孩子大出血是什么原因造成的| 戈谢病是什么病| 食管鳞状上皮增生是什么意思| 腹泻可以吃什么| copd是什么意思| 子宫内膜6mm意味着什么| 特效是什么意思| who是什么组织| 前列腺增生用什么药| 农历六月初七是什么星座| 海水倒灌是什么意思| 龙井茶什么季节喝最好| 短阵房速是什么意思| 4月27日是什么星座| 便秘和腹泻交替出现是什么意思| 电子商务有限公司是做什么的| 荔枝什么时候成熟季节| 暗物质是什么东西| 属狗与什么属相相合| 5月26日是什么星座| 一个草字头一个见念什么| 什么是业障| 交友是什么意思| dave是什么意思| 实习期扣分有什么影响| 疝气是什么病怎样治疗| 7.20是什么星座| 朔字五行属什么| 柠檬加蜂蜜泡水喝有什么功效| 鸟屎掉头上有什么预兆| 晚上十一点多是什么时辰| 小孩不吃肉是什么原因| 开心的动物是什么生肖| 红红火火是什么意思| 什么是脑白质病变| flour是什么意思| 什么洗发水去屑好| cha什么意思| 雾化治疗的作用是什么| 情愫什么意思| 拿东西手抖是什么原因| 鬼压床是什么原因造成的| 人工流产和无痛人流有什么区别| 葡萄糖是什么意思| 梦到被蛇咬是什么意思周公解梦| 蜂蜜与什么食物相克| 三个又是什么字| 孕晚期破水是什么症状| 午时是什么时间| 微光是什么意思| 什么农药最毒| 贱是什么意思| 很容易饿是什么原因| 低钾有什么症状和危害| mmp是什么意思| 血管瘤挂什么科比较好| 老是睡不着觉是什么原因| 大腿肌肉酸痛是什么病| 金融数学学什么| 减肥可以吃什么零食| 天蝎座和什么星座不合| 梦见捡到钱是什么意思| 耳鸣是什么意思| 看好你是什么意思| 手忙脚乱是什么意思| ecc是检查什么的| 怎么判断自己什么脸型| 什么奶粉比较好| 清宫和无痛人流有什么区别| 缺锌容易得什么病| 疯狂动物城里的狐狸叫什么| 高知是什么意思| 口干舌燥是什么病| 腺肌症有什么症状| 奇花异草的异什么意思| 梦见流水是什么征兆| 心衰竭吃什么药效果好| 什么食物是养肝的| 985是什么学校| 天庭饱满是什么意思| 晚上左眼皮跳预示什么| touch什么意思| 肝风内动吃什么中成药| 蟑螂是什么样子的| 履新是什么意思| 雷诺综合症是什么病| 8是什么意思| 梦到头发长长了是什么意思| 营养神经吃什么药效果好| 屎为什么是臭的| 包饺子用什么面粉| 全麦粉和小麦粉的区别是什么| 免疫抑制剂是什么意思| 什么不什么身| 然五行属性是什么| 小便浑浊是什么原因| 什么防晒霜防晒效果好| 隅读什么| 长鸡眼是什么原因| 男人有美人尖代表什么| 吃了拉肚子的药叫什么| 生姜和红糖熬水有什么作用| 胸部中间痛什么原因引起的| 百度Jump to content

甲减有什么症状

From Wikipedia, the free encyclopedia
(Redirected from Superscalar)
Simple superscalar pipeline. By fetching and dispatching two instructions at a time, a maximum of two instructions per cycle can be completed. (IF = instruction fetch, ID = instruction decode, EX = execute, MEM = memory access, WB = register write-back, i = instruction number, t = clock cycle [i.e. time])
Processor board of a CRAY T3e supercomputer with four superscalar Alpha 21164 processors
百度 政策发力的同时,要满足旺盛的市场需求,还必须调动各方面力量参与其中。

A superscalar processor (or multiple-issue processor[1]) is a CPU that implements a form of parallelism called instruction-level parallelism within a single processor.[2] In contrast to a scalar processor, which can execute at most one single instruction per clock cycle, a superscalar processor can execute or start executing more than one instruction during a clock cycle by simultaneously dispatching multiple instructions to different execution units on the processor. It therefore allows more throughput (the number of instructions that can be executed in a unit of time which can even be less than 1) than would otherwise be possible at a given clock rate. Each execution unit is not a separate processor (or a core if the processor is a multi-core processor), but an execution resource within a single CPU such as an arithmetic logic unit.

While a superscalar CPU is typically also pipelined, superscalar and pipelining execution are considered different performance enhancement techniques. The former (superscalar) executes multiple instructions in parallel by using multiple execution units, whereas the latter (pipeline) executes multiple instructions in the same execution unit in parallel by dividing the execution unit into different phases. In the "Simple superscalar pipeline" figure, fetching two instructions at the same time is superscaling, and fetching the next two before the first pair has been written back is pipelining.

The superscalar technique is traditionally associated with several identifying characteristics (within a given CPU):

  • Instructions are issued from a sequential instruction stream
  • The CPU dynamically checks for data dependencies between instructions at run time (versus software checking at compile time)
  • The CPU can execute multiple instructions per clock cycle

History

[edit]

Seymour Cray's CDC 6600 from 1964, while not capable of issuing multiple instructions per cycle, is often cited as an early influence to modern superscalar processors for its ability to execute instructions simultaneously through multiple functional units. The 1967 IBM System/360 Model 91, was another early influence that introduced out-of-order execution, pioneering use of Tomasulo's algorithm.[3] The Intel i960CA (1989),[4] the AMD 29000-series 29050 (1990), and the Motorola MC88110 (1991),[5] microprocessors were the first commercial single-chip superscalar microprocessors. RISC microprocessors like these were the first to have superscalar execution, because RISC architectures free transistors and die area which can be used to include multiple execution units and the traditional uniformity of the instruction set favors superscalar dispatch (this was why RISC designs were faster than CISC designs through the 1980s and into the 1990s, and it's far more complicated to do multiple dispatch when instructions have variable bit length).

Except for CPUs used in low-power applications, embedded systems, and battery-powered devices, essentially all general-purpose CPUs developed since about 1998 are superscalar.

The P5 Pentium was the first superscalar x86 processor; the Nx586, P6 Pentium Pro and AMD K5 were among the first designs which decode x86-instructions asynchronously into dynamic microcode-like micro-op sequences prior to actual execution on a superscalar microarchitecture; this opened up for dynamic scheduling of buffered partial instructions and enabled more parallelism to be extracted compared to the more rigid methods used in the simpler P5 Pentium; it also simplified speculative execution and allowed higher clock frequencies compared to designs such as the advanced Cyrix 6x86.

Scalar to superscalar

[edit]

The simplest processors are scalar processors. Each instruction executed by a scalar processor typically manipulates one or two data items at a time. By contrast, each instruction executed by a vector processor operates simultaneously on many data items. An analogy is the difference between scalar and vector arithmetic. A superscalar processor is a mixture of the two. Each instruction processes one data item, but there are multiple execution units within each CPU thus multiple instructions can be processing separate data items concurrently.

Superscalar CPU design emphasizes improving the instruction dispatcher accuracy and allowing it to keep the multiple execution units in use at all times. This has become increasingly important as the number of units has increased. While early superscalar CPUs would have two ALUs and a single FPU, a later design such as the PowerPC 970 includes four ALUs, two FPUs, and two SIMD units. If the dispatcher is ineffective at keeping all of these units fed with instructions, the performance of the system will be no better than that of a simpler, cheaper design.

A superscalar processor usually sustains an execution rate in excess of one instruction per machine cycle. But merely processing multiple instructions concurrently does not make an architecture superscalar, since pipelined, multiprocessor or multi-core architectures also achieve that, but with different methods.

In a superscalar CPU the dispatcher reads instructions from memory and decides which ones can be run in parallel, dispatching each to one of the several execution units contained inside a single CPU. Therefore, a superscalar processor can be envisioned as having multiple parallel pipelines, each of which is processing instructions simultaneously from a single instruction thread.

Most modern superscalar CPUs also have logic to reorder the instructions to try to avoid pipeline stalls and increase parallel execution.

Limitations

[edit]

Available performance improvement from superscalar techniques is limited by three key areas:

  • The degree of intrinsic parallelism in the instruction stream (instructions requiring the same computational resources from the CPU)
  • The complexity and time cost of dependency checking logic and register renaming circuitry
  • The branch instruction processing

Existing binary executable programs have varying degrees of intrinsic parallelism. In some cases instructions are not dependent on each other and can be executed simultaneously. In other cases they are inter-dependent: one instruction impacts either resources or results of the other. The instructions a = b + c; d = e + f can be run in parallel because none of the results depend on other calculations. However, the instructions a = b + c; b = e + f might not be runnable in parallel, depending on the order in which the instructions complete while they move through the units.

Although the instruction stream may contain no inter-instruction dependencies, a superscalar CPU must nonetheless check for that possibility, since there is no assurance otherwise and failure to detect a dependency would produce incorrect results.

No matter how advanced the semiconductor process or how fast the switching speed, this places a practical limit on how many instructions can be simultaneously dispatched. While process advances will allow ever greater numbers of execution units (e.g. ALUs), the burden of checking instruction dependencies grows rapidly, as does the complexity of register renaming circuitry to mitigate some dependencies. Collectively the power consumption, complexity and gate delay costs limit the achievable superscalar speedup.

However even given infinitely fast dependency checking logic on an otherwise conventional superscalar CPU, if the instruction stream itself has many dependencies, this would also limit the possible speedup. Thus the degree of intrinsic parallelism in the code stream forms a second limitation.

Alternatives

[edit]

Collectively, these limits drive investigation into alternative architectural changes such as very long instruction word (VLIW), explicitly parallel instruction computing (EPIC), simultaneous multithreading (SMT), and multi-core computing.

With VLIW, the burdensome task of dependency checking by hardware logic at run time is removed and delegated to the compiler. Explicitly parallel instruction computing (EPIC) is like VLIW with extra cache prefetching instructions.

Simultaneous multithreading (SMT) is a technique for improving the overall efficiency of superscalar processors. SMT permits multiple independent threads of execution to better utilize the resources provided by modern processor architectures. The fact that they are independent means that we know that the instruction of one thread can be executed out of order and/or in parallel with the instruction of a different one. Also, one independent thread will not produce a pipeline bubble in the code stream of a different one, for example, due to a branch.

Superscalar processors differ from multi-core processors in that the several execution units are not entire processors. A single processor is composed of finer-grained execution units such as the ALU, integer multiplier, integer shifter, FPU, etc. There may be multiple versions of each execution unit to enable the execution of many instructions in parallel. This differs from a multi-core processor that concurrently processes instructions from multiple threads, one thread per processing unit (called "core"). It also differs from a pipelined processor, where the multiple instructions can concurrently be in various stages of execution, assembly-line fashion.

The various alternative techniques are not mutually exclusive—they can be (and frequently are) combined in a single processor. Thus a multicore CPU is possible where each core is an independent processor containing multiple parallel pipelines, each pipeline being superscalar. Some processors also include vector capability.

See also

[edit]

References

[edit]
  1. ^ P. Pacheco, Introduction to Parallel Programming, 2011, section 2.2.5, "There are two main approaches to ILP: pipelining ... and multiple issue ... A processor that supports dynamic multiple issue is sometimes said to be superscalar." A. Chien, Computer Architecture for Scientists, 2022, page 102, "multiple-issue (aka superscalar)".
  2. ^ "What is a Superscalar Processor? - Definition from Techopedia". Techopedia.com. 28 February 2019. Retrieved 2025-08-06.
  3. ^ Smith, James E.; Sohi, Gurindar S. (December 1995). "The Microarchitecture of Superscalar Processors" (PDF). Proceedings of the IEEE. 83 (12): 1609. doi:10.1109/5.476078.
  4. ^ McGeady, Steven (Spring 1990). The i960CA SuperScalar implementation of the 80960 architecture. Thirty-Fifth IEEE Computer Society International Conference on Intellectual Leverage. pp. 232–240. doi:10.1109/CMPCON.1990.63681. ISBN 0-8186-2028-5. S2CID 13206773.
  5. ^ Diefendorff, K.; Allen, M. (Spring 1992). "The Motorola 88110 Superscalar RISC microprocessor". Digest of Papers COMPCON Spring 1992. pp. 157–162. doi:10.1109/CMPCON.1992.186702. ISBN 0-8186-2655-0. S2CID 34913907.
  • Mike Johnson, Superscalar Microprocessor Design, Prentice-Hall, 1991, ISBN 0-13-875634-1
  • Sorin Cotofana, Stamatis Vassiliadis, "On the Design Complexity of the Issue Logic of Superscalar Machines", EUROMICRO 1998: 10277-10284
  • Steven McGeady, et al., "Performance Enhancements in the Superscalar i960MM Embedded Microprocessor," ACM Proceedings of the 1991 Conference on Computer Architecture (Compcon), 1991, pp. 4–7
[edit]
au750是什么意思 四肢发麻是什么原因 亏空是什么意思 66是什么意思 1987年属什么今年多大
一个三点水一个令念什么 磨玻璃结节是什么 排卵日有什么症状 海棠花什么时候开花 麻叶是什么植物
胃镜后吃什么 甲醛中毒有什么症状 念力是什么意思 屋后有坟有什么影响吗 眼压高有什么症状和危害
鼻鼽病是什么意思 胃凉是什么原因 谢娜什么星座 前列腺回声欠均匀什么意思 儿童乳房发育挂什么科
黄色有什么黄hcv8jop4ns2r.cn 嘴唇出血是什么原因hcv9jop1ns9r.cn 补钾用什么药hcv8jop0ns4r.cn ntr是什么意思啊hcv9jop1ns3r.cn 六味地黄丸治什么hcv8jop9ns9r.cn
聊表心意什么意思hcv8jop9ns5r.cn 岳飞属什么生肖hcv9jop1ns0r.cn 孕妇为什么要躲着白事hcv9jop6ns8r.cn 胃息肉是什么原因引起的zhongyiyatai.com 人血馒头是什么意思hcv9jop4ns8r.cn
成人达己是什么意思hcv9jop8ns2r.cn 爱新觉罗是什么旗hcv8jop9ns9r.cn 彪子是什么意思hcv9jop7ns1r.cn 双肾尿酸盐结晶是什么意思hcv9jop6ns9r.cn look是什么意思hcv9jop1ns4r.cn
95年猪是什么命hcv9jop3ns8r.cn 小意思是什么意思hcv7jop9ns3r.cn 为非作歹是什么意思beikeqingting.com 什么什么于怀bysq.com 气短吃什么药效果好hcv8jop4ns8r.cn
百度