Complex instruction set computer

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

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

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

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

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

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

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.[citation needed][4][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 Intel 80386, an Intel 4004, a Motorola 68000, a System 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

References

  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. ^ 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

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

Further reading

Read other articles:

Battaglia del fiume Ebroparte della seconda guerra punica DataPrimavera 217 a.C. LuogoFoce dell'Ebro EsitoVittoria romana SchieramentiCartagineRepubblica romana ComandantiImilconeGneo Cornelio Scipione Calvo Effettivi40 quinqueremi55 quinqueremi e triremi Perdite4 affondate,25 catturaten.d. Voci di battaglie presenti su Wikipedia Manuale V · D · MSeconda guerra punica(219 a.C.) Sagunto(218 a.C.) Mutina - Cissa – Lilibeo – Alpi – Ticino – Trebbia(217 a.C.) Piacenz...

 

Katedral HaifaKatedral Santo Eliaكاتدرائية مار إلياسKatedral HaifaLokasiHaifaNegara IsraelDenominasiGereja Katolik Roma(sui iuris: Gereja Katolik Yunani Melkit)ArsitekturArsitekSammihom AtallahAdministrasiKeuskupan AgungEparki Agung Akka Katedral Santo Elia[1][2] (Arab: كاتدرائية مار إلياسcode: ar is deprecated , Ibrani: קתדרלת אליהו הנביאcode: he is deprecated ), disebut juga Katedral Yunani Melkit Santo Elia,[3] ...

 

Serie D 1963-1964 Competizione Serie D Sport Calcio Edizione 5ª Organizzatore Lega Semiprofessionisti Luogo  Italia Partecipanti 108 Formula 6 gironi all'italiana Risultati Promozioni Entella, Piacenza;Carpi, Ternana;Avellino, Crotone. Retrocessioni (le squadre scritte in corsivo sono poi state riammesse)Lavagnese, Sangiovannese;Sammargheritese, Sondrio;Vigevano, Seregno;Merano, Pro Gorizia;Cesenatico, Elpidiense; San Crispino, Mezzanotte Pescara;Nuorese, Fondi; Atripalda, Enna; Mazara...

Liga Utama InggrisMusim2011–12JuaraManchester Citygelar pertama Liga Utama gelar ke-3 dalam sepak bola InggrisDegradasiWolverhampton WanderersBlackburn RoversBolton WanderersLiga ChampionsManchester UnitedManchester CityArsenalChelseaLiga EropaTottenham HotspurNewcastle UnitedLiverpoolJumlah pertandingan380Jumlah gol1.066 (2,81 per pertandingan)Pencetak golterbanyakRobin van Persie (30 gol)Kemenangan kandangterbesarManchester United 8–2 ArsenalArsenal 7–1 Blackburn RoversFulham 6�...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2023. Valerie BergereThe Actors' Birthday Book, 1908LahirValerie Zenobia de Beaumont Lieb(1867-02-08)8 Februari 1867[1][2]Metz, Kekaisaran Kedua PrancisMeninggal16 September 1938(1938-09-16) (umur 71)Hollywood, California, A.S.Pekerjaan...

 

Campeonato CearenseSport Calcio Tiposquadre di club FederazioneFederação Cearense de Futebol Paese Ceará, Brasile OrganizzatoreFederação Cearense de Futebol TitoloCampione dello stato del Ceará Cadenzaannuale Partecipanti10 Retrocessione inCearense Série B Sito Internetwww.futebolcearense.com.br StoriaFondazione1915 Numero edizioni110 Detentore Ceará Record vittorie Fortaleza  Ceará (46) Trofeo o riconoscimento Modifica dati su Wikidata · Manuale Il Cam...

Сибирский горный козёл Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:СинапсидыКла�...

 

Chronologies Données clés 1645 1646 1647  1648  1649 1650 1651Décennies :1610 1620 1630  1640  1650 1660 1670Siècles :XVe XVIe  XVIIe  XVIIIe XIXeMillénaires :-Ier Ier  IIe  IIIe Chronologies thématiques Art Architecture, Arts plastiques (Dessin, Gravure, Peinture et Sculpture), (), Littérature (), Musique (Classique) et Théâtre   Ingénierie (), Architecture et ()   Politique Droit et ()   Religion (,)   Sci...

 

Batter- or dough-based food cooked between two patterned, shaped plates This article is about the batter/dough-based food. For other uses, see Waffle (disambiguation). WaffleWaffles with strawberry toppingPlace of originBelgium, FranceRegion or stateWestern EuropeMain ingredientsBatter or doughVariationsLiège waffle, Brussels waffle, Flemish waffle, Bergische waffle, Stroopwafel and others Cookbook: Waffle  Media: Waffle A waffle is a dish made from leavened batter or dough that is ...

Pour les articles homonymes, voir Quinze-Novembre. Éphémérides Novembre 1er 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30           15 octobre 15 décembre Chronologies thématiques Croisades Ferroviaires Sports Disney Anarchisme Catholicisme Abréviations / Voir aussi (° 1852) = né en 1852 († 1885) = mort en 1885 a.s. = calendrier julien n.s. = calendrier grégorien Calendrier Calendrier perpétuel Liste de calendriers Naissan...

 

Hanebado!はねバド!GenreOlahraga (badminton) MangaPengarangKōsuke HamadaPenerbitKodanshaMajalahgood! AfternoonDemografiSeinenTerbit7 Juni 2013 – 7 Oktober 2019Volume16 (Daftar volume) Seri animeSutradaraShinpei EzakiSkenarioTaku KishimotoMusikTatsuya KatoStudioLiden FilmsPelisensiNA CrunchyrollFunimationSaluranasliTokyo MX, KTV, BS11, AT-XTayang 2 Juli 2018 – 1 Oktober 2018Episode13 (Daftar episode)  Portal anime dan manga Hanebado! (はねバド!code: ja is deprecated ), dik...

 

Pour les articles homonymes, voir Sartre (homonymie). Maurice SartreMaurice Sartre en 2017.BiographieNaissance 3 octobre 1944 (79 ans)4e arrondissement de LyonNationalité françaiseActivité HistorienConjoint Annie Sartre-FauriatAutres informationsA travaillé pour Université de ToursDomaine histoire du Proche Orient antiqueMembre de Institut universitaire de FranceDistinctions Grand prix des Rendez-vous de l'histoire (2002)Prix Pierre-Lafue (2016)Chevalier des Arts et des Lettres (20...

Medical and pharmaceutical fraternity Kappa PsiΚΨFoundedMay 30, 1879; 144 years ago (May 30, 1879)Russell Military Academy in New Haven, ConnecticutTypeProfessionalAffiliationPFAEmphasisPharmacyScopeNational (formerly International)Colors  Scarlet and   Cadet grayFlowerRed CarnationPublicationThe MaskChapters110 collegiate, 75 graduateHeadquarters2060 N Collins Boulevard Suite 128Richardson, TX 75080 USAWebsiteKappa Psi homepage Kappa Psi Pharmaceutical Fraternity, In...

 

For the publishing house, see Philtrum Press.Vertical groove in the middle area of the upper lip PhiltrumPhiltrum of a healthy, one-month-old babyPhiltrum of a domestic dog (marked in red)DetailsPrecursorMedial nasal prominence[1]IdentifiersTA98A05.1.01.007TA2222FMA59819Anatomical terminology[edit on Wikidata] The philtrum (Latin: philtrum from Ancient Greek φίλτρον phíltron, lit. love charm[2]) or medial cleft is a vertical indentation in the middle area of the up...

 

Art gallery in London, England This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Hayward Gallery – news · newspapers · books · scholar · JSTOR (September 2014) (Learn how and when to remove this message) Hayward GalleryLocation in Central LondonGeneral informationTypeGalleryArchitectural styleBrutalistTown or ...

University in Mozambique This article contains content that is written like an advertisement. Please help improve it by removing promotional content and inappropriate external links, and by adding encyclopedic content written from a neutral point of view. (May 2016) (Learn how and when to remove this message) Catholic University of MozambiqueUniversidade Católica de MoçambiqueA view of Catholic University of MozambiqueEstablished1996Students7,000AddressRua Comandante Gaivão Nº 688, Ponta-...

 

Music of a geographical region You can help expand this article with text translated from the corresponding article in Spanish. (April 2023) Click [show] for important translation instructions. View a machine-translated version of the Spanish article. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translat...

 

Extinct genus of mammals HemiaucheniaTemporal range: Mid Miocene-Late Pleistocene~10.3–0.012 Ma PreꞒ Ꞓ O S D C P T J K Pg N Fossil skull of the type species Hemiauchenia paradoxa Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Mammalia Order: Artiodactyla Family: Camelidae Tribe: Lamini Genus: †HemiaucheniaGervais & Ameghino, 1880 Species H. macrocephala (Cope, 1893) H. minima (Leidy, 1886) H. blancoensis (Meade,1945) H. vera (Matthew, 19...

American writer and activist (1910–1985) The ReverendPauli MurrayPersonal detailsBornAnna Pauline Murray(1910-11-20)November 20, 1910Baltimore, Maryland, U.S.DiedJuly 1, 1985(1985-07-01) (aged 74)Pittsburgh, Pennsylvania, U.S.PartnerRenee Barlow (deceased 1973)SainthoodFeast day1 JulyVenerated inEpiscopal Church (United States)ChurchEpiscopal Church (United States)OrdersOrdination1976 (deacon)1977 (priest)Personal detailsDenominationChristianity (Anglican) Academic backgroundEducationC...

 

Series of novels by Jude Watson The topic of this article may not meet Wikipedia's notability guideline for books. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.Find sources: Jedi Quest – news · newspapers · books · schola...