脂肪球是什么意思| 25分贝相当于什么声音| 麻长什么样子图片| 属龙的今年要注意什么| 米糊是什么| 股票填权是什么意思| 丁丁是什么| 油条配什么好吃| 一孕傻三年是什么意思| 五行白色属什么| 七夕送老婆什么| 尿肌酐高是什么原因| 转氨酶高说明什么| 甲状腺过氧化物酶抗体高说明什么| 为什么脸突然肿了| 荟字五行属什么| 矫枉过正是什么意思| 面黄肌瘦是什么意思| 豆角没熟中毒什么症状| cts是什么意思| 莲花代表什么生肖| 什么叫市级以上医院| 画地为牢什么意思| 肛瘘是什么病| 壮腰健肾丸有什么功效| 爱屋及乌什么意思| 朋友是什么意思| 不自主的摇头是什么病| tiamo是什么意思| 长骨刺是什么原因导致的| 经常喝茶叶有什么好处| 腰子是什么| 意识是什么| 71年猪是什么命| 吃什么降血压| 乳头凹陷是什么原因| 氟利昂什么味道| 自律是什么意思| 惯犯是什么意思| 章鱼吃什么| e代表什么| 助产学是干什么的| 小孩嗓子哑了吃什么药| 吸水石是什么石头| 什么时候放假| 小孩感冒吃什么药| 虚岁27岁属什么生肖| 杏不能和什么一起吃| 王羲之兰亭序是什么字体| 核磁共振什么时候出结果| 什么是体制内的工作| 湿气太重了吃什么药| rl是什么单位| 美女如云什么意思| 你本来就很美是什么广告| cod表示什么| 当今社会做什么赚钱| 什么是离子| 荔枝可以做什么| 翡翠是什么材质| 午门是什么意思| jimmychoo是什么牌子| 白色情人节什么意思| 啤酒加鸡蛋有什么功效| 心不在焉什么意思| 百合花什么颜色| 荣辱与共是什么意思| 吃止疼药有什么副作用| 肠道门诊看什么病| 什么颜色加什么颜色是红色| 接龙是什么意思| 输尿管不扩张什么意思| 手心痒痒是什么预兆| 刑警队是干什么的| 什么是英语自然拼读| 舌头发黄是什么问题| 牙周袋是什么| 防晒什么时候涂| 为老不尊是什么意思| 出汗多是什么病| 喉咙发甜是什么原因| 手麻是什么原因| 马拉松是什么意思| 为什么奢侈品都是pvc| 茄子炒什么好吃又简单| 湿热是什么原因引起的| 男人精液少是什么原因| 西地那非有什么副作用| 丧偶式婚姻是什么意思| 眼眶周围发黑什么原因| 老是犯困是什么原因| 苕皮是什么做的| 农历今天属什么| 神经病吃什么药效果好| 梵蒂冈为什么没人敢打| 丼什么意思| 扁桃体切除有什么坏处| 智齿为什么会长出来| 窈窕淑女君子好逑是什么意思| 高血压是什么| 怀孕的脉象是什么样的| z是什么火车| 眼胀是什么原因| 什么蛇有毒| 什么是支原体感染| 苹果有什么功效和营养| 眼干是什么原因| 八一建军节是什么节日| acl医学上是什么意思| 六月26日是什么日子| 蚊子讨厌什么气味| aut0是什么意思| 门面是什么意思| 一饿就心慌是什么原因引起的| 什么是中性洗涤剂| 紫癜是一种什么病严重吗| 精氨酸是什么| 阑尾炎应该挂什么科| bossini是什么牌子| 为什么指甲会凹凸不平| 朋友搬家送什么礼物好| 为什么不爱我| 十一朵玫瑰花代表什么意思| 尿检白细胞阳性是什么意思| 1930年属什么生肖| 六味地黄丸有什么副作用吗| 散粉和粉饼有什么区别| 韩国的思密达是什么意思| 耀字五行属什么| 屁股抽筋疼是什么原因| 椭圆机是什么| 什么是g点| 洁面液是干什么用的| 金牛座和什么星座最不配| 来月经腰酸腰痛什么原因造成的| 血红素高是什么原因| 今天是什么甲子| 盆腔b超检查什么| 危险期是什么时候| 中途疲软吃什么药| 什么是力量训练| 腱鞘炎在什么位置| 8月6号是什么星座| 肺气虚吃什么药| 胃疼可以吃什么药| 秋天有什么水果| 做什么来钱快| 身上长小红点是什么原因| 吃辣椒过敏是什么症状| gmail是什么邮箱| 女人喝什么茶叶好| 氯吡格雷是什么药| 怀孕不能吃什么| 柳丁是什么水果| 红旗代表什么生肖| 北京为什么叫帝都| 舌苔厚白湿气重吃什么药| 天津有什么好吃的| 吃菌子不能吃什么| 为什么嘴唇发紫| 受用是什么意思| 喝酒不能吃什么水果| 什么的诉说| 我是什么星座| 单脱是什么意思| 眉毛淡的男人代表什么| 不知餍足什么意思| 不什么其什么的成语| 鼻子和嘴巴连接的地方叫什么| 月经没来吃什么药可以催月经来| 送女朋友什么礼物| 孕吐是什么原因造成的| 阿姨的老公叫什么| 中国最早的文字是什么| 第二学士学位是什么意思| 出汗少的人是什么原因| 领导喜欢什么样的员工| 负数是什么| 腿疼挂什么科| 金瓜和南瓜有什么区别| 凉粉用什么做的| 党的性质是什么| 蚊子喜欢什么颜色| 这是什么病| 彪马属于什么档次| 痔疮的症状是什么| 馕是什么意思| 泡黄芪水喝有什么好处| 无事不登三宝殿什么意思| 纪梵希属于什么档次| 补蛋白吃什么最好| 地区和市有什么区别| 胎膜是什么| 明太鱼是什么鱼| 奇花初胎矞矞皇皇是什么意思| 玉竹有什么功效| 梦见好多蛇是什么预兆| 无料案内所是什么意思| 中性粒细胞百分比低是什么原因| 番石榴什么时候成熟| 咽喉炎吃什么好| lv属于什么档次| 肝经不通吃什么中成药| 血脂厚有什么症状| 及是什么意思| 什么是基本养老金| 烫伤用什么消毒| 双侧乳腺腺病是什么意思| 五花肉炒什么配菜好吃| 秦二世叫什么名字| 肠胃性感冒吃什么药| 请问紫苏叶有什么功效| 三百多分能上什么大学| 核素治疗是什么| 没有美瞳护理液用什么代替| 甘油是什么成分| 上坟用什么水果| 女性阴毛变白是什么原因| 生命是什么意思| 左氧氟沙星氯化钠注射作用是什么| 小孩晚上磨牙是什么原因引起的| 深海鱼油什么时候吃最好| 镭射有什么危害| 股骨长是什么意思| 体感是什么意思| 张良为什么不救韩信| 6月25什么星座| 步兵是什么意思| 脸上有红血丝是什么原因| 鼻子下面长痘痘是什么原因引起的| 由可以组什么词| 孙悟空的真名叫什么| 咽喉痛什么原因| 吃什么补精| 胃不好喝什么茶好| 感冒咳嗽吃什么药好| 无蔗糖是什么意思| 糖醋排骨用什么醋好吃| 包饺子用什么面粉| 孕吐吃什么可以缓解| 臀推是什么意思| 老打喷嚏是什么原因| 码是什么单位| gm是什么意思| 吃秋葵有什么好处| 血精和精囊炎吃什么药| 尾椎骨痛挂什么科| 夏天是什么时候| 产褥热是什么病| 高玩是什么意思| 合肥属于什么省| 身体起水泡是什么病症| 阿赖耶识是什么意思| 药敏试验是什么意思| 涤棉是什么材质| 坐骨神经吃什么药效果最好| 测骨龄挂什么科| 胶原蛋白是什么东西| 什么情况下会流前列腺液| 孕妇喝什么茶对胎儿好| 蜂蜜水什么时候喝最好| 吃什么能化解肾结石| 脸上长癣用什么药膏| 银五行属性是什么| 百度Jump to content

这个重磅改革方案,为何获得广泛好评?

From Wikipedia, the free encyclopedia
百度 4.开车前12小时。

A complex instruction set computer (CISC /?s?sk/) is a computer architecture in which single instructions can execute several low-level operations (such as a load from memory, an arithmetic operation, and a memory store) or are capable of multi-step operations or addressing modes within single instructions.[citation needed] The term was retroactively coined in contrast to reduced instruction set computer (RISC)[1] and has therefore become something of an umbrella term for everything that is not RISC,[citation needed] where the typical differentiating characteristic[dubiousdiscuss] is that most RISC designs use uniform instruction length for almost all instructions, and employ strictly separate load and store instructions.

Examples of CISC architectures include complex mainframe computers to simplistic microcontrollers where memory load and store operations are not separated from arithmetic instructions.[citation needed] Specific instruction set architectures that have been retroactively labeled CISC are System/360 through z/Architecture, the PDP-11 and VAX architectures, and many others. Well known microprocessors and microcontrollers that have also been labeled CISC in many academic publications[citation needed] include the Motorola 6800, 6809 and 68000 families; the Intel 8080, iAPX 432, x86 and 8051 families; the Zilog Z80, Z8 and Z8000 families; the National Semiconductor NS320xx family; the MOS Technology 6502 family; and others.

Some designs have been regarded as borderline cases by some writers.[who?] For instance, the Microchip Technology PIC has been labeled RISC in some circles and CISC in others.

Incitements and benefits

[edit]

Before the RISC philosophy became prominent, many computer architects tried to bridge the so-called semantic gap, i.e., to design instruction sets that directly support high-level programming constructs such as procedure calls, loop control, and complex addressing modes, allowing data structure and array accesses to be combined into single instructions. Instructions are also typically highly encoded in order to further enhance the code density. The compact nature of such instruction sets results in smaller program sizes and fewer main memory accesses (which were often slow), which at the time (early 1960s and onwards) resulted in a tremendous saving on the cost of computer memory and disc storage, as well as faster execution. It also meant good programming productivity even in assembly language, as high level languages such as Fortran or Algol were not always available or appropriate. Indeed, microprocessors in this category are sometimes still programmed in assembly language for certain types of critical applications.[citation needed]

New instructions

[edit]

In the 1970s, analysis of high-level languages indicated compilers produced some complex corresponding machine language. It was determined that new instructions could improve performance. Some instructions were added that were never intended to be used in assembly language but fit well with compiled high-level languages. Compilers were updated to take advantage of these instructions. The benefits of semantically rich instructions with compact encodings can be seen in modern processors as well, particularly in the high-performance segment where caches are a central component (as opposed to most embedded systems). This is because these fast, but complex and expensive, memories are inherently limited in size, making compact code beneficial. Of course, the fundamental reason they are needed is that main memories (i.e., dynamic RAM today) remain slow compared to a (high-performance) CPU core.

Design issues

[edit]

While many designs achieved the aim of higher throughput at lower cost and also allowed high-level language constructs to be expressed by fewer instructions, it was observed that this was not always the case. For instance, low-end versions of complex architectures (i.e. using less hardware) could lead to situations where it was possible to improve performance by not using a complex instruction (such as a procedure call or enter instruction) but instead using a sequence of simpler instructions.

One reason for this was that architects (microcode writers) sometimes "over-designed" assembly language instructions, including features that could not be implemented efficiently on the basic hardware available. There could, for instance, be "side effects" (above conventional flags), such as the setting of a register or memory location that was perhaps seldom used; if this was done via ordinary (non duplicated) internal buses, or even the external bus, it would demand extra cycles every time, and thus be quite inefficient.

Even in balanced high-performance designs, highly encoded and (relatively) high-level instructions could be complicated to decode and execute efficiently within a limited transistor budget. Such architectures therefore required a great deal of work on the part of the processor designer in cases where a simpler, but (typically) slower, solution based on decode tables and/or microcode sequencing is not appropriate. At a time when transistors and other components were a limited resource, this also left fewer components and less opportunity for other types of performance optimizations.

The RISC idea

[edit]

The circuitry that performs the actions defined by the microcode in many (but not all) CISC processors is, in itself, a processor which in many ways is reminiscent in structure to very early CPU designs. In the early 1970s, this gave rise to ideas to return to simpler processor designs in order to make it more feasible to cope without (then relatively large and expensive) ROM tables and/or PLA structures for sequencing and/or decoding.

An early (retroactively) RISC-labeled processor (IBM 801 – IBM's Watson Research Center, mid-1970s) was a tightly pipelined simple machine originally intended to be used as an internal microcode kernel, or engine, in CISC designs,[citation needed] but also became the processor that introduced the RISC idea to a somewhat larger audience. Simplicity and regularity also in the visible instruction set would make it easier to implement overlapping processor stages (pipelining) at the machine code level (i.e. the level seen by compilers). However, pipelining at that level was already used in some high-performance CISC "supercomputers" in order to reduce the instruction cycle time (despite the complications of implementing within the limited component count and wiring complexity feasible at the time). Internal microcode execution in CISC processors, on the other hand, could be more or less pipelined depending on the particular design, and therefore more or less akin to the basic structure of RISC processors.

The CDC 6600 supercomputer, first delivered in 1965, has also been retroactively described as RISC.[2][3] It had a load–store architecture which allowed up to five loads and two stores to be in progress simultaneously under programmer control. It also had multiple function units which could operate at the same time.

Superscalar

[edit]

In a more modern context, the complex variable-length encoding used by some of the typical CISC architectures makes it complicated, but still feasible, to build a superscalar implementation of a CISC programming model directly; the in-order superscalar original Pentium and the out-of-order superscalar Cyrix 6x86 are well-known examples of this. The frequent memory accesses for operands of a typical CISC machine may limit the instruction-level parallelism that can be extracted from the code, although this is strongly mediated by the fast cache structures used in modern designs, as well as by other measures. Due to inherently compact and semantically rich instructions, the average amount of work performed per machine code unit (i.e. per byte or bit) is higher for a CISC than a RISC processor, which may give it a significant advantage in a modern cache-based implementation.

Transistors for logic, PLAs, and microcode are no longer scarce resources; only large high-speed cache memories are limited by the maximum number of transistors today. Although complex, the transistor count of CISC decoders do not grow exponentially like the total number of transistors per processor (the majority typically used for caches). Together with better tools and enhanced technologies, this has led to new implementations of highly encoded and variable-length designs without load–store limitations (i.e. non-RISC). This governs re-implementations of older architectures such as the ubiquitous x86 (see below) as well as new designs for microcontrollers for embedded systems, and similar uses. The superscalar complexity in the case of modern x86 was solved by converting instructions into one or more micro-operations and dynamically issuing those micro-operations, i.e. indirect and dynamic superscalar execution; the Pentium Pro and AMD K5 are early examples of this. It allows a fairly simple superscalar design to be located after the (fairly complex) decoders (and buffers), giving, so to speak, the best of both worlds in many respects. This technique is also used in IBM z196 and later z/Architecture microprocessors.

CISC and RISC terms

[edit]

By the mid-1980s the computer industry's consensus was that RISC was more efficient than CISC. Digital Equipment Corporation estimated that RISC had a price/performance ratio at least twice that of CISC. Two possible responses from CISC vendors were:[4]

  • Improve CISC as much as possible until reaching the current architecture's limits. Chosen for IBM mainframes and x86.

Intel was successful in improving x86 to match RISC's performance.[5] The terms CISC and RISC have become less meaningful with the continued evolution of both CISC and RISC designs and implementations. The first highly (or tightly) pipelined x86 implementations, the 486 designs from Intel, AMD, Cyrix, and IBM, supported every instruction that their predecessors did, but achieved maximum efficiency only on a fairly simple x86 subset that was only a little more than a typical RISC instruction set (i.e., without typical RISC load–store limits).[citation needed] The Intel P5 Pentium generation was a superscalar version of these principles. However, modern x86 processors also (typically) decode and split instructions into dynamic sequences of internally buffered micro-operations, which helps execute a larger subset of instructions in a pipelined (overlapping) fashion, and facilitates more advanced extraction of parallelism out of the code stream, for even higher performance.

Contrary to popular simplifications (present also in some academic texts,) not all CISCs are microcoded or have "complex" instructions.[citation needed] As CISC became a catch-all term meaning anything that's not a load–store (RISC) architecture, it's not the number of instructions, nor the complexity of the implementation or of the instructions, that define CISC, but that arithmetic instructions also perform memory accesses.[6][failed verification] Compared to a small 8-bit CISC processor, a RISC floating-point instruction is complex. CISC does not even need to have complex addressing modes; 32- or 64-bit RISC processors may well have more complex addressing modes than small 8-bit CISC processors.

A PDP-10, a PDP-8, an x86 processor, an Intel 4004, a Motorola 68000-series processor, a IBM Z mainframe, a Burroughs B5000, a VAX, a Zilog Z80000, and a MOS Technology 6502 all vary widely in the number, sizes, and formats of instructions, the number, types, and sizes of registers, and the available data types. Some have hardware support for operations like scanning for a substring, arbitrary-precision BCD arithmetic, or transcendental functions, while others have only 8-bit addition and subtraction. But they are all in the CISC category[citation needed]. because they have "load-operate" instructions that load and/or store memory contents within the same instructions that perform the actual calculations. For instance, the PDP-8, having only 8 fixed-length instructions and no microcode at all, is a CISC because of how the instructions work, PowerPC, which has over 230 instructions (more than some VAXes), and complex internals like register renaming and a reorder buffer, is a RISC, while Minimal CISC has 8 instructions, but is clearly a CISC because it combines memory access and computation in the same instructions.

See also

[edit]

References

[edit]
  1. ^ Patterson, D. A.; Ditzel, D. R. (October 1980). "The case for the reduced instruction set computer". ACM SIGARCH Computer Architecture News. 8 (6). ACM: 25–33. doi:10.1145/641914.641917. S2CID 12034303.
  2. ^ "Computer history: CDC 6000 series Hardware Architecture". Museum Waalsdorp. July 23, 2023. Retrieved January 19, 2024.
  3. ^ Anthony, Sebastian (April 10, 2012). "The history of supercomputers". ExtremeTech. Retrieved January 19, 2024.
  4. ^ Bell, Gordon; Strecker, W.D. What Have We Learned from the PDP-11 - What We Have Learned from VAX and Alpha (PDF) (Report). Retrieved 2025-08-05.
  5. ^ "Ex-Apple CEO Regrets Nixing Intel". Forbes. 2025-08-05. Retrieved 2025-08-05.
  6. ^ Hennessy, John; Patterson, David. Computer Architecture: A Quantitative Approach (PDF). Archived (PDF) from the original on June 14, 2023. Retrieved June 13, 2023.

General references

[edit]
  • Tanenbaum, Andrew S. (2006) Structured Computer Organization, Fifth Edition, Pearson Education, Inc. Upper Saddle River, NJ.

Further reading

[edit]
什么东西补血 renewal什么意思 武则天叫什么 pick什么意思 领盒饭是什么意思
咽喉炎吃什么药管用 洋葱不能跟什么一起吃 什么的天空填合适的词 容忍是什么意思 什么梨最好吃
冬虫夏草有什么功效 头发干燥是什么原因 骨皮质断裂是什么意思 玉对人体有什么好处 的近义词是什么
银行卡年费是什么意思 月经第三天属于什么期 解脲脲原体阳性是什么 曦字五行属什么 弯了是什么意思
董字五行属什么hcv7jop9ns1r.cn 南宁有什么好玩的地方hcv9jop4ns6r.cn 5月7日什么星座hcv8jop3ns7r.cn 心志是什么意思hcv7jop6ns9r.cn 叉烧是什么肉hcv9jop6ns4r.cn
蒙脱石散不能和什么药一起吃hcv9jop3ns7r.cn 娇妻是什么意思wzqsfys.com 退翳什么意思hcv7jop5ns4r.cn 明朝为什么会灭亡hcv9jop6ns5r.cn 阴枣是什么hcv9jop6ns2r.cn
姨妈期能吃什么水果hcv9jop1ns9r.cn 眼睑痉挛挂什么科hcv7jop9ns3r.cn 肺大泡是什么意思hcv8jop2ns7r.cn 原则上是什么意思hcv7jop6ns3r.cn 重阳节是什么意思hcv8jop1ns9r.cn
黄鼠狼的天敌是什么动物hcv8jop5ns2r.cn 拍身份证穿什么衣服hcv7jop6ns3r.cn 姓贾的男孩取什么名字好hcv9jop2ns2r.cn 中央委员什么级别adwl56.com 达英35是什么hcv7jop6ns1r.cn
百度