Computer Architecture-C952 Chapter 2

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Software as a Service

(SaaS) delivers software and data as a service over the Internet, usually via a thin program such as a browser that runs on local client devices, instead of binary code that must be installed, and runs wholly on that device. Examples include web search and social networking.

Moore's Law

-states that integrated circuit resources double every 18-24 months or The number of transistors per square inch on an integrated chip doubles every 18 months

Machine language

A binary representation of machine instructions.

Supercomputer

A class of computers with the highest performance and cost; they are configured as servers and typically cost tens to hundreds of millions of dollars

Instruction

A command that computer hardware understands and obeys.

Personal Computer (PC)

A computer designed for use by an individual, usually incorporating a graphics display, a keyboard, and a mouse.

Embedded Computer

A computer inside another device used for running one predetermined application or collection of software.

Server

A computer used for running larger programs for multiple users, often simultaneously, and typically accessed only via a network.

Liquid crystal display

A display technology using a thin layer of liquid polymers that can be used to transmit or block light according to whether a charge is applied.

Active matrix display

A liquid crystal display using a transistor to control the transmission of light at each individual pixel.

abstractions

A major productivity technique for hardware and software is to use abstractions to characterize the design at different levels of representation; lower-level details are hidden to offer a simpler model at higher levels.

Output device

A mechanism that conveys the result of a computation to a user, such as a display, or to another computer

Input device

A mechanism through which the computer is fed information, such as a keyboard.

Multicore microprocessor

A microprocessor containing multiple processors ("cores") in a single integrated circuit.

Assembler

A program that translates a symbolic version of instructions into the binary version.

Compiler

A program that translates high-level language statements into assembly language statements.

Assembly language

A symbolic representation of machine instructions

Acronym

A word constructed by taking the initial letters of a string of words. For example: RAM is an acronym for Random Access Memory, and CPU is an acronym for Central Processing Unit

Behind a car's simple items like steering wheel, gas pedal, and brake pedal are complex mechanical/computerized details. Those simple items represent _____. abstraction an operating system Linux

Abstraction: Abstraction lets users deal with higher-level operations.

Binary digit

Also called a bit. One of the two numbers in base 2 (0 or 1) that are the components of information.

Integrated circuit:

Also called a chip. A device combining dozens to millions of transistors.

Central processor unit (CPU)

Also called processor. The active part of the computer, which contains the datapath and control and which adds numbers, tests numbers, signals I/O devices to activate, and so on

A program to play tic-tac-toe. Systems software Application software

Application Software: The specific programs that users commonly interact with (web browsers, word processors, games) are called applications.

An integrated circuit is often called a _____. chip CPU

Chip: The word comes from a silicon chip being a chip from a larger piece of silicon (like a potato chip is a chip from a larger potato).

information revolution

Computers have led to a third revolution for civilization, with the information revolution taking its place alongside the agricultural and the industrial revolutions.

Sends signals that determine the operation of the other components.

Control: Control and datapath are commonly together and called a processor.

Performs computations.

Datapath: The datapath is where data is transformed via computations like addition or subtraction. Control and datapath are commonly together and called a processor.

A drummer's stick breaks, but he quickly grabs another one and continues playing the song.

Dependability via Redundancy: Having extras/backups is a good idea in many scenarios.

A soccer player runs not to where the ball is, but to where the ball will be.

Design for Moore's Law: Looking ahead is common, such as a married couple buying a house large enough for future kids.

A computer in a cardiac pacemaker, which delivers electric shocks to keep a human's heart beating properly.

Embedded: The computer embedded inside that pacemaker is about the size of a small fingernail. Medical devices are a common form of embedded computers.

A liquid crystal display works by having the liquid crystal generate different colors of light.

False: An LCD doesn't actually generate light, but rather either passes or blocks light.

The following could be an assembly language instruction: 1000110010100000.

False: An assembly language instruction uses symbols that are more understandable to humans, such as: ADD A,B.

Binary refers to 10-1.

False: Binary refers to "two things."

A typical computer display is made up of hundreds of pixels.

False: Millions, not just hundreds, of pixels make up a display. Each pixel is barely visible alone. "Pixel" is short for "picture element".

The number 12 can be represented in binary as 1100. If a computer's memory location contains 00001100, then that location contains the number 12.

False: Bits can have whatever meaning the computer assigns. 0001100 might represent 12, but those bits might instead represent an instruction to add two values in memory. Ex: Just by looking at the letters xxyzxx, a person doesn't know if xxyzxx represents a person's name, a computer password, or a coded instruction to a co-worker.

A multicore microprocessor is a single processor capable of switching between multiple programs.

False: A multicore microprocessor is a single processor capable of switching between multiple programs.

A smart phone isn't actually a computer.

False: A smart phone is a highly capable computer, more powerful than many PCs of just a decade ago.

Software as a Service refers to installing large software applications on a PC, such as Microsoft Office.

False: More and more software is accessed via a browser or other "thin" client, with the main software running on a server that is accessed over the Internet.

Acronyms are rarely used in the field of computers.

False: On the contrary, acronyms and abbreviations abound; get ready to learn many common ones.

The computing industry has not improved quite as rapidly as the transportation industry.

False: On the contrary, the speed, size, and cost of computing has improved dramatically faster than most other industries.

The number of PCs sold annually continues to increase at a dramatic rate.

False: PC sales have leveled off, and may soon decrease.

Computer improvements have led to previously undreamt applications like cell phones, but most signs suggest the improvements are now coming to an end.

False: The improvements are ongoing and will likely continue for many years.

Today's programmers of PCs and servers emphasize improving program performance by using a minimal amount of memory.

False: While previously true, computer advances have led to emphasis instead on parallel processors and hierarchical memory, which will be introduced later.

A gibibyte is close, but not equal, to a _____byte.

Giga

The physical machinery on which software runs. Instructions Hardware Compiler

Hardware: A person can touch hardware. Not all hardware runs software, but microprocessor hardware does.

A customer talks to a phone agent. If there's a problem, he talks to the agent's supervisor.

Hierarchy of Memories: Supervisors are expensive, so less-capable but cheaper agents are placed closer to the customer.

What kind of language is C? Machine Assembly High-level

High-Level: C was developed in the early 1970s, and is still widely used today. Many newer languages like C++ and Java borrow much from C.

Writes data to memory. Ex: Keyboard.

Input: An input device feeds information to a computer. Input may come from various sources, like a keyboard, mouse, a microphone, a touchscreen, a network (connected with another computer), etc.

A college student rents an apartment closer to campus than to her favorite weekend beach spot.

Make the Common Case Fast: The student goes to campus more frequently than the beach, so she optimizes her commute for the common case.

Dynamic random access memory (DRAM)

Memory built as an integrated circuit; it provides random access to any location. Access times are 50 nanoseconds and cost per gigabyte in 2012 was $5 to $10

Stores instructions and data.

Memory: Stores instructions and data.

Software that manages hardware resources on behalf of other programs. Hardware Compiler Operating system

Operating System: The OS carries out details related to things like storing data on a hard drive, or displaying data to a screen, so that an application programmer need to worry about such details and can instead focus on higher-level operations (known as abstraction).

Terabyte (TB)

Originally 1,099,511,627,776 (240) bytes, although communications and secondary storage systems developers started using the term to mean 1,000,000,000,000 (1012) bytes. To reduce confusion, we now use the term

Reads data from memory. Ex: Display.

Output: An output device conveys the result of a computation to a user. Output may go to various destinations, like a display, a speaker, or a network (connected with another computer).

A home computer kept on a desktop and used by family members for emails, web browsing, social networking, and movie watching.

PC: PCs are commonly used in the home or office.

A sister is hanging clothes to dry. Her brother helps by hanging clothes simultaneously.

Performance via Parallelism: In this case, two people working in parallel can halve the task's time.

A brother is washing and drying dishes. His sister helps by drying each dish immediately after the brother washes each.

Performance via Pipelining: Dividing a task into pieces in a way of improving performance. If pieces are equal sizes, task time may be halved.

A mom expects her son will be hungry after a long airplane flight, so she cooks dinner just in case. If he's not hungry, she'll whip up a dessert instead.

Performance via Prediction: By predicting he'll be hungry, she's able to finish the job (end his hunger) faster than if she waited for him to get home.

A computer in an Amazon building accessed by thousands of people for online shopping.

Server: The computer is serving information to thousands of users, accessed via a network.

A computer at a federal laboratory that continually executes sophisticated algorithms on massive amounts of data from various weather stations to develop accurate weather forecasts.

Server: Weather forecasting, along with modeling of tornadoes, hurricanes, tidal waves, and more, are common uses of supercomputers (a form of server).

parallel

Since the dawn of computing, computer architects have offered designs that get more performance by computing operations in parallel

Systems software

Software that provides services that are commonly useful, including operating systems, compilers, loaders, and assemblers.

Operating system

Supervising program that manages the resources of a computer for the benefit of the programs that run on that computer.

The collection of software on a computer that provides services to application software. Systems software Compiler

System Software: Systems software makes the job of an applications programmer much simpler, by providing various abstractions so the programmer need not worry about details regarding storage, keyboards, low-level instructions, etc.

Warehouse Scale Computers (WSCs)

Taking over from the conventional server is Cloud Computing, which relies upon giant datacenters

Control

The component of the processor that commands the datapath, memory, and I/O devices according to the instructions of the program.

Datapath

The component of the processor that performs arithmetic operations.

Pixel

The smallest individual picture element. Screens are composed of hundreds of thousands to millions of pixels, organized in a matrix.

Memory

The storage area in which programs are kept when they are running and that contains the data needed by the running programs.

binary numbers

The two symbols for these two letters are the numbers 0 and 1, and we commonly think of the computer language as numbers in base 2,

"Bit" is short for "binary digit."

True: A bit can be 0 or 1.

A frame buffer stores the pixel values for a display.

True: A program writes desired pixel values to the buffer, and hardware then updates the display using those values.

A touchscreen combines a display for output with a touch-sensitive screen for input.

True: A user can thus point directly to displayed objects, and even drag objects, rather than using a mouse or other less-direct input technique.

An assembler translates assembly language instructions likeADD A,Bto machine-language instructions like 1000110010100000.

True: An assembly language's symbols are more-readily understandable than 0's and 1's. An assembler translates the symbols to 0's and 1's.

Each pixel of a display typically involves 24 bits, with 8 bits for each of red, blue, and green.

True: The 8 bits enable 256 values for each color. Millions of colors are thus possible via different combinations of red, blue, and green.

An active matrix display is an LCD that uses a transistor to control whether light passes for each pixel.

True: The result is a sharper picture due to more carefully-controlled electric current.

Although binary's alphabet contains only two "letters", 0 and 1, the binary alphabet can represent as much information as the English alphabet's 26 letters.

True: The same information is representable; binary just uses more letters. Ex: CAT in binary (using a character encoding known as ASCII) is: 01000011 01000001 01010100.

The following could be a machine-language instruction: 1000110010100000.

True: Machine-language instructions consist of 0's and 1's.

The performance of a program depends on many things, like the original program, how the program is translated to a computer's language, and the hardware.

True: As such, improving performance is done both by programmers and by hardware designers.

Today's programmers also emphasize energy efficiency of programs.

True: PCs and servers consume much electricity, and embedded computers often run on batteries, so energy efficiency is critical across all kinds of programs.

The agricultural and industrial revolutions each transformed society. Computers have led to a relatively recent information revolution.

True: Similarly to those earlier revolutions, massive transformations in society are taking place as a result of the information revolution, on an even faster scale.

Cloud computing often involves thousands of servers in giant warehouses.

True: Such giant warehouses of computers were non-existent a couple decades ago.

In 2012, about 600 million smart phones were sold.

True: That number is quite astounding considering the world population was 7 billion in 2012, meaning nearly 1 in 10 people bought a smart phone.

"Post-PC" era refers to today's situation of today's most widely-used computers being things other than PCs.

True: smart phones and tablets are experiencing tremendous growth.

A house architect first designs a house with 5 rooms, then designs room details like closets, windows, and flooring.

Use Abstraction to Simplify Design: A "room" is a higher level abstraction important during early design. Later, the architect thinks of lower-levels details.

The CPU chip physically occupies _____ of the size of the iPad 2. most a small fraction

a small fraction: Input/output components occupy most of the size. The CPU is important, but relatively tiny.

Personal mobile devices (PMDs)

are small wireless devices to connect to the Internet; they rely on batteries for power, and software is installed by downloading apps. Conventional examples are smart phones and tablets.

dependable

by including redundant components that can take over when a failure occurs and to help detect failures

common case

fast will tend to enhance performance better than optimizing the rare case. Ironically, the common case is often simpler than the rare case and hence is usually easier to enhance.

tebibyte (TiB)

for 240 bytes, defining terabyte (TB) to mean 1012 bytes. The figure below shows the full range of decimal and binary values and names.

An advantage of a high-level language is enabling a programmer to _________. change a program implement a program in less time

implement a program in less time: By using higher-level instructions, the programmer is more productive.

prediction

in some cases it can be faster on average to guess and start working rather than wait until you know for sure, assuming that the mechanism to recover from a misprediction is not too expensive and your prediction is relatively accurate

An advantage of a high-level language is that a program ________. is specific to a particular machine is independent of a particular machine

is independent of a particular machine: Modern programs may be run on dozens or hundreds of different machines; not having to rewrite the program for each machine is a big advantage over assembly and machine language.

10^15 bytes is a _____byte.

peta

Cloud computing

refers to large collections of servers that provide services over the Internet; some providers rent dynamically varying numbers of servers as a utility.

Which is a high-level language instruction? 00000000101000100000000100011000 ADD X2, X4, X2 temp = v[k];

temp = v[k]: High-level languages are designed to be closer to the computing notations that a person naturally uses.

An advantage of a high-level language is allowing a programmer to ________. think more naturally think like a machine

think more naturally: A programmer might think of a calculation C = (5/9)*(F - 32), which can be captured nearly as such in a high-level language.

A terabyte is one _____bytes

trillion

pipelining

which moves multiple operations through hardware units that each do a piece of an operation, akin to water flowing through a pipeline. For example, before fire engines, a "bucket brigade" would respond to a fire, which many cowboy movies show in response to a dastardly act by the villain. The townsfolk form a human chain to carry a water source to fire, as they could much more quickly move buckets up the chain instead of individuals running back and forth.

hierarchy of memories

with the fastest, smallest, and most expensive memory per bit at the top of the hierarchy and the slowest, largest, and cheapest per bit at the bottom


Ensembles d'études connexes

Gov Exam Mass Media and Interest Groups

View Set

Chapter 13: Aging & Elderly Quiz and Terms

View Set

NU 300 EXAM 1: CANCER, CULTURE, PAIN, MED-SURG NURSING

View Set

NUR2101 Test #4 QUESTIONS Neurology and Musculoskeletal

View Set