5
Computer Architecture (ICE3003-42) Homework #1 2013312707 Lee Suin Explain the terms following. - CISC vs RISC CISC(Complex Instruction Set Computing) is a CPU design where single instructions can execute several operations like memory storing, arithmetic operation. The compact instructions result smaller program sizes and fewer main memory accesses. And it provides faster execution because CISC reduced the number of main memory accessing which speed is slow. However, the instructions are too complicated; the processing ability of CPU has a limit of increasing. RISC(Reduced Instruction Set Computing) is based on the simplified instruct set, opposed to CISC. It provides higher performance than CISC. Only about 10% of instructions of CISC remained in RISC. Also the instructions are so simple, cost and length become regular. So they could easily be pipelined, in order to achieve a single clock throughput at high frequencies. It has scaled up in performance quickly and cheaply. Below are the differences of RISC and CISC. - Application Program Interface vs Application Binary Interface

CA_HA#01

  • Upload
    josiang

  • View
    213

  • Download
    0

Embed Size (px)

DESCRIPTION

computer architecture

Citation preview

Page 1: CA_HA#01

Computer Architecture (ICE3003-42)

Homework #1

2013312707

Lee Suin

Explain the terms following.

- CISC vs RISC

CISC(Complex Instruction Set Computing) is a CPU design where single instructions can

execute several operations like memory storing, arithmetic operation. The compact instructions

result smaller program sizes and fewer main memory accesses. And it provides faster execution

because CISC reduced the number of main memory accessing which speed is slow. However, the

instructions are too complicated; the processing ability of CPU has a limit of increasing.

RISC(Reduced Instruction Set Computing) is based on the simplified instruct set, opposed to

CISC. It provides higher performance than CISC. Only about 10% of instructions of CISC remained

in RISC. Also the instructions are so simple, cost and length become regular. So they could easily

be pipelined, in order to achieve a single clock throughput at high frequencies. It has scaled up in

performance quickly and cheaply.

Below are the differences of RISC and CISC.

- Application Program Interface vs Application Binary Interface

Page 2: CA_HA#01

ABI(Application Binary Interface) is the combination of the basic instruction set and the

operating system interface. It defines a standard for binary portability across computers. ABI

provides the interface between two program modules, one of which is often a library or operating

system, at the level of machine code, based on binary interface. It determines details like how

functions are called and which binary format information should be passed, or in case of a system

call, it passes to the OS. So ABI is usually the job of compiler.

API(Application Program Interface), however, defines interface between program components

at the source code level. API is a set of routines, protocols, and tools for building software

applications. API can ease the work using GUI components. It is able to make program building

blocks easier.

Below chart is the difference between API and ABI in the sight of Linux kernel system.

- Memory hierarchy

There are various types of memories: registers on CPU, Caches, Main memory, secondary

storage devices like network storage, and hard discs. These memories are related to each other.

The register on CPU is the smallest and fastest. Caches like L1, L2, L3 cache are followed by

register, HDD and SSD have huge capacity so slower than CPU and caches. To access data, each

memory level interacts with each other, and we call this process as caching. Memory system is

Page 3: CA_HA#01

organized as a hierarchy in terms of speed, size, and cost. Below diagram shows the memory

hierarchy.

- DRAM vs SRAM

Random-access memory (RAM) means a form of computer data storage which allows data

items to be read and written in the similar amount of time.

DRAM(Dynamic Random Excess Memory) is a type of random-access memory which stores

each bit of data in a separate capacitor built as an integrated circuit. The capacitor can be

charged or discharged, and this represents bit of 0 and 1. Transistor usually leak a small amount,

the capacitors will slowly discharge. So the information eventually fades if the capacitor charge is

not refreshed periodically. This characteristic is the source of “dynamic” memory. Because of losing

the data when power is removed, DRAM is volatile memory. The advantage of DRAM is the

simplicity of structure. It needs only 1 transistor and a capacitor per bit.

SRAM is an abbreviation of Static Random Access Memory. SRAM is also an integrated circuit

memory like DRAM, but it is much faster than DRAM. And SRAM does not need refreshing unlike

DRAM. The term “static” comes from this characteristic. SRAM is more expensive and less dense

than DRAM. SRAM needs 4 or 6 transitions per bit. Therefor SRAM is not used for high capacity,

low cost applications such as the main memory in PCs.

Page 4: CA_HA#01

Below chart is comparing about SRAM and DRAM.

- Instruction cycle

Instruction cycle is the basic operation cycle of a computer. A computer receives a program

instruction from its memory, and determines the action appropriate to the given instruction, and

carries out those actions. This cycle is repeated continuously by the CPU.

In the simple CPU, the instruction cycle is executed sequentially. Each instruction is completely

processed after previous instruction is done. Nowadays, most modern CPUs process the

instructions in parallel, as an instruction pipeline. Next instruction starts when current instruction

is being processed when the cycle is possible to break up into separate steps.

- Cloud computing

Cloud computing is a computing technology based on groups of utilities. Cloud computing

involves software networks that can centralize data storage and online access to resources. Also it

involves deploying groups of remote servers with various deployment models, such as Hybrid

Clouds, Private Cloud, Community Cloud, Public Cloud. Cloud computing needs broad network

access, and because of its definition and characteristics, they have resource pooling.

Since cloud computing centralize huge amount of data, security can improve with increased

security-focused techniques. But it also has concerns if it lose the control over data, the lack of

security for stored kernels.

Cost reductions is one of characteristics of cloud computing. A public-cloud delivery model

converts capital expenditure to operational expenditure. This lowers barriers to entry; it does not

need to be purchased for one-time or infrequent intensive computing tasks.

There are lots of characteristics of cloud computing, but the main thing is cloud computing is

trying and making users to take benefit from cluster of technologies without the need for deep

knowledge.

Page 5: CA_HA#01

- Programming language structures

Structured programming is a programming paradigm aimed at improving the clarity, quality,

and development time of a computer program. Jumping codes such as goto statement make the

program dangerous and complex; however, structured programming uses subroutines, block

structures, for and while loops extensively.

References

- http://en.wikipedia.org/wiki/Static_random-access_memory

- http://en.wikipedia.org/wiki/Dynamic_random-access_memory

- http://en.wikipedia.org/wiki/Random-access_memory

- http://en.wikipedia.org/wiki/Complex_instruction_set_computing

- http://en.wikipedia.org/wiki/Reduced_instruction_set_computing

- http://en.wikipedia.org/wiki/Processor_design

- http://en.wikipedia.org/wiki/Instruction_cycle

- http://en.wikipedia.org/wiki/Cloud_computing

- http://cse1.net/recaps/4-memory.html

- http://en.wikipedia.org/wiki/Structured_programming#Structured_programming_languages

- http://en.wikipedia.org/wiki/Application_binary_interface

- http://en.wikipedia.org/wiki/Application_programming_interface

- http://csarassignment.files.wordpress.com/2013/05/risc-vs-cisc.png

- David A. Patterson, et al., Computer Organization And Design: The Hardware and Software

Interface, 4th ed.