Architecture

RISC vs CISC Architecture

Overview

Computing in the modern era is extremely advanced, smaller, and easier to use than ever. Advances in processor technology have helped to shape the industry and provide accessible and relatively inexpensive computing to all. Many of the design philosophies if CISC and RISC architecture have led to the innovation that we call the modern day processor. This web page will discuss and examine the impact that these two architectures have had upon the computer industry.

x86
processor
ARM
House
Power PC
House
SPARC
House

Tech Brief

Introduction

Computing is extremely abundant and intimately linked to the internet in this modern age, there are many different platforms and applications for users to choose from that allow a computing solution for almost every need. Many different and often competing innovations have given rise to this diverse systems that have lead to the availability of computers today. CISC and RISC architectures are the predominant computing design philosophies which have lead the hardware market to modern day computing.

Most computers that exist in the market today are either a RISC or CISC machine; RISC is a Reduced Instruction Set Computing and CISC is Complex Instruction Set Computing. An Instruction set is the way the software (assembly) is issued and executed by the processor. These two competing instruction sets have very different design philosophies that allow for a various set of advantages on the respective instruction sets.

This tech brief will examine the impact that both of these instruction sets have had on the computer market and how these design philosophies changed computing. The rich history of both of these design philosophies will also be explained and examined as to how they influenced modern day computing and the proliferation of information systems.

History of CISC

Computers are driven by technology and innovation, with this in mind there are a few main corporations that are responsible for processor design, these are Intel, Motorola, ARM, and IBM. In the 1960s the first transistor based computer chips start to become popular in the tech industry; This led to the microprocessor and CISC architecture. Microprocessor design is important in that instructions are executed in microcode directly by the processor. This means that the overall design for computing got more powerful as peripheral hardware such as RAM were extremely expensive at the time. Microcode is useful in that is allowed to programmers to issue more complex instructions to the processor which in turn was translated the code into more simple instructions thus saving the programmer time. (Osdev.org, 2016, Anthes, 2008)

This method of design remained popular and led to the creation of Intel in 1968, a titan in the computer tech industry. Intels first great innovation was the metal oxide semiconductor RAM, this led to great changes in the industry. The company then created the world's first microprocessor in 1971. This led to the creation of the x86 in 1978 with the Intel 8086 processor, the architecture would become the leading design in modern day personal computing.

Intel gained huge market dominance with the creation of the 8086 microprocessor as it became the industry standard for microprocessors still to this day. In 1981 intel won a contract with IBM to power the PC. Intel would continue to remain the major market producer of CISC x86 processors winning huge contracts with most PC manufacturers and Apple. (Osdev.org, 2016, Anthes, 2008)

History of RISC

RISC, Reduced Instruction Set Computing, would be the first competitor that would challenge Intels dominance in the processor market. RISC computing would change electronics forever as they are the preferred architecture for microcontrollers in almost every electronic, in addition to being used in servers, desktops and mobile computing. When examining RISC, ARM, IBM, Motorola, and Sun have been the dominant companies in this industry. X86 is the most common type of CISC processing; this is the opposite with RISC computing, RISC has several different and successful architectures such as ARM, Powerpc, and SPARC processing.

IBM was the first company to research RISC computing back in the mid 70s. RISC had a very different design philosophy than CISC, RISC was designed to be as simple as possible, with no microcode, simple instruction sets that are executed every cycle, and the majority of calculations happening inside the register as opposed to performing them inside of memory. These design implementations greatly outperformed the x86 counterparts of their time and eventually led to the creation of the first workstation in 1986 by IBM, the RT Personal Computer Workstation. This was the first consumer workstation that was available, these machines were extremely popular in the scientific and engineering communities due to their computing power. (IBM.com)

ARM

Having great success with the RT, IBM continued to improve RISC computing; their dominance in the market would then be challenged by ARM and Sun with the ARM and SPARC processors. In 1985, Acorn RISC Machine (ARM) was established in Cambridge and was one of Englands most used education and research computers. ARM developed the first low cost RISC processor in 1987. Later in 1990, Advanced RISC Machines (also known as ARM), was a coventure founded with Acorn and Apple. (Telegraph.co.uk, 2011)

ARM is the most popular processor platform of the modern era, with almost 100% dominance in the mobile market and ARM used in microcontrollers, and becoming popular for servers and low-cost personal computing. Virtually almost all cell phones use an ARM processor with the exception of a few x86 based phones which have never gained traction in the mobile market due to their insufficient power consumption.

One key factor that distinguished ARM from different companies like Intel, is that ARM manufactures no processors. ARM is exclusively a design firm which creates new processor designs then licenses the design to various manufactures such a Qualcomm; this contrasts to Intel who manufactures their own processors exclusively.

Design of CISC

When discussing processor design, one important metric which generally measures processing speed is instruction per second. The equation for this metric is (Time/Program) = (Time/Cycle) x (Cycles/Instruction) x (Instructions/Task). This is an important metric as CISC (x86) processors tend to have a faster clock speed (Time/Cycle) than their RISC counterparts despite the performance between the two chips is comparable. (Chen, Novick, & Shimano)

There are a few distinct features which differentiate the CISC architecture from RISK, the first one of these is the use of microcode. Microcode uses memory contained within the processor, this allows the CPU to receive complex instructions and decode them into more simple instructions. This design allows programming code to be shorter as the programer can execute multiple lines of assembly code with complex commands instead of having to write each line separately. Since multiple line of code are executed by complex commands, many of the commands execute throughout many clock cycles. (Chen, Novick, & Shimano)

The main advantage of doing this is the size of code, the programmer has to write is less and the size of the overall programs are smaller. Another reason for this design is placing the complex instruction sets on the hardware itself allowing easy translation between the high level languages and assembly. (Chen, Novick, & Shimano)

Design of RISC

The design of RISC is often the opposite of CISC, while CISC has rich complex instruction sets RISC is designed to be simple. RISC instructions do not have complex commands which means that often the programs were much longer than their x86 counterparts. Another key difference between the two architectures are how the instructions are executed, since the instructions are simple all RISC instructions are executed in one clock cycle. Because of these differences RISC chips need more memory than x86 chips and the compiler must work harder to translate the higher level code to lower level code. The advantage of this design is that since there are no complex commands there are less transistors needed for them, allowing more registers on the chip. (Chen, Novick, & Shimano)

Comparison of the two Architectures

Both RISC and CISC are widely used today in either x86 or mostly ARM machines. CISC uses complex instructions which are executed in multiple cycles while RISC uses reduced instructions which execute one clock cycle at a time. CISK programs tend to be small which means less work for the compiler while RISC programs are longer placing more work on the compiler. This difference allows ARM chips to contain less transistors allowing more room for general purpose registers while x86 contains more transistors to accommodate their rich and complex instruction sets. X86 chips tend to run at a higher clock speed but executing complex commands quickly yields near the same speed for both architectures. (Chen, Novick, & Shimano)

RISC is often regarded as a more efficient architecture and has more manufactures that CISC processors; despite this Intel has dominated the market with their x86 processors. Intel is an extremely large corporation with a vast amount of funding, this allows them to research modify and adapt their existing processors to remain on top of the market. Intel leads the industry in personal computing and server processors, this however is starting to change with ARM server processors. ARM dominates the mobile phone, tablet, and microcontroller market; this is due to ARMs superior power management over x86 systems, which has led to their popularity in the server market as a company can greatly reduce their power consumption.

Conclusion

CISC and RISC design have led to modern day computing, Intel with the x86 processor and ARM with many different manufactures such as Qualcomm, Texas instruments and Samsung. Intel remains dominant in the PC and server market while ARM remains the preferred processors for mobile computing, microcontrollers (embedded systems), and gaining traction in the server market. These design philosophies have shaped computing and are fundamental in understanding modern computer design and the market that produces these machines.

Semantic Markup

Semantic markup is the process of using identifying html tags that indicate how words in an html document are used. This allows search engines to recognize what the semantic context of the word was intended to be. Ultimately, this provides the search engine with keywords to search from so websites can be aggregated to the top of the search engine. An example of this would be using the h1, p, ol, ul, and other similar tags in the proper place to identify headings, paragraphs, lists and other HTML elements.

Section 508 Accessibility

The Rehabilitation Act of 1973 is a law which prohibits discrimination on the basis of disability. This law has four primary sections: Section 501, Section 503, and Section 508. Congress amended The Rehabilitation Act of 1973 in 1998 with the addition of Section 508. Section 508 states that Federal agencies must make their electronic systems and information comparably accessible to persons with a disability.

Search Engine Optimization

Search Engine Optimization is the process of affecting the population of results in a web search engine. An example of this is when a user performs a search, on google for instance, which websites appear first, at the top of the list, is determined on how the search engine was optimized. This is often a ranking or a weighted metric which determines what websites get placed where in the search. By using semantic markup correctly, search engines can provide more accurate and better results. Easy accessibility and mobile friendliness are two metrics that are often examined, in addition to semantic markup, to providing users with the top suggested web sites. Web pages that do not score as mobile friendly and easily accessible often do not appear to mobile users and will not be brought to the top of the list when performing a search.

References