Introduction to Computer Hardware and Software

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

What is a System?

-A collection of components linked together and organized in such a way as to be recognizable as a single unit. -Linked components of a system also define a boundary for the system -The environment is anything outside of the system

General Purpose Registers

-Accumulators -Hold intermediate results or data values -Equivalent to LMC's calculator -Typically serval dozen in current CPUs -Can also used to transfer data between memory locations and between I/O and memory

Multiprocessor Systems

-All CPUs share access to: Programs, data, shared memory, I/O, etc. -Multi-tasking wherever possible -Programs can also be divided into independent parts and executed simultaneously -Operating System assigns work to various processors

JPEG (Joint Photographers Expert Group)

-Allows more than 16 million colors -Suitable for highly detailed photographs and paintings -Employs lossy compression algorithm that discards data to decreases file size and transmission speed, but may reduce image resolution, tends to distort sharp lines.

Memory

-Also known as primary storage, working storage, and RAM (random access memory) -Consists of bits, each of which hold a value of either 0 or 1 (8 bits = 1 byte) -Holds both instructions and data of a computer program (stored program concept)

Software Components

-Applications -Operating System -API -File Management -I/O -Kernel -Network Module

Software

-Applications and system software -Instructions tell hardware exactly what tasks to perform and in what order

Instruction Pipelining

-Assembly line technique to allow overlapping between fetch-execute cycle of sequences of instructions -Time cycle for each instruction is the same -Number of instructions per given time increases Areas of concern -Special Handling -Instructions with different number of steps (stalling) -Branch instructions may require data from previous instruction to proceed May invalidate all instructions in the pipeline depending on the condition

Keeping track of the bits

-Bits commonly stored and manipulated in groups -Number of bits used in a calculation affects accuracy of results and limits size and range of numbers manipulated by the computer

Cloud Computing Advantages

-Client's datacenter needs are simplified; reduced costs -Supports collaboration -Scalable to a variety of host platforms -Reduced maintenance downtime -Lower investment for short-term projects

Hybrid Model of Computing

-Client-server technology used to locate system and files -Then systems can participate in peer-to-peer transactions

Protocols

-Common ground rules of communication between computers, I/O devices, and may software programs

Fetch-Execute Cycle Timing

-Computer clock is used for timing purposes for each step of the instruction cycle -GHz - billion steps per second -Instructions can (and often) take more than one step -Data word width can require multiple steps -Switches may take different times

Examples of Standards

-Computer languages: Java, SQL, C, JavaScript -Display : Postscript, MPEG-2, JPEG, PNG -Character set: ASCII, Unicode, EBCDIC Multimedia: MPEG-2, MPEG-4, MP3, DVD-ROM

Peer-to-Peer Computing

-Computers on a network are treated as equals -Each computer can share resources with the other computers on the network

Object Images

-Created by drawing software or output from spreadsheet data graphs -Composed of lines and shapes in various colors -Computer translates geometric formulas to create the graphic -Storage space depends on image complexity -Movies such as Shrek and Toy Story use object images -Based om mathematical formulas -Require less storage space than bitmap images -Cannot represent photos or paintings -Must be converted to bitmap since output devices except plotters are bitmap

Standards

-Created to ensure universal compatibility of data formats and protocols -May be created by committee or may become a de facto standard through popular use

WAV

-Developed by Microsoft as part of its multimedia specification -General-purpose format for storing and reproducing small snippets of sound -Non-compressed 8 or 6 sound samples

Multiple, Parallel Execution Units

-Different instructions have different number of steps in their cycle -Instructions may also differ in each step -Each execution unit is optimized for one general type of instruction -Multiple execution units permit simultaneous execution of several instructions

IT System Architectures

-Distributed Processing Systems -Client Server Computing -Web-Based Computing -Peer-to-Peer Computing

Operation of Memory

-Each memory location has a unique address -Address from an instruction is copied to the MAR, which finds the location in memory -CPU determines if it is a store or retrieval -Transfer takes place between the MDR and memory -MDR is a two way register

GIF (Graphics Interchange Format)

-First developed by CompuServe in 1987. -GIF89a enabled animated images -Allows images to be displayed sequentially at fix time sequences -Image compressed by LZW(Lempel-Zif-Welch) algorithm -Preferred for line drawings, clip art, and pictures with large blocks of solid color -Lossless compression

Overflow

-Fixed word size has a fixed range size -Combination of numbers that add to result outside the range -End-around carry in modular arithmetic avoids problem -Complementary arithmetic: numbers out of range have the opposite sign

Storing Bitmap Images

-Frequently large files -Files size is affected by Resolution, Levels, and data compression

Examples of Protocols

-HTTP: between Web servers and Web browsers -TCP/IP: between computers on the internet and local area networks -SATA: between storage devices and computers -XML, RSS, SIP: new potocols developed to meet new demands

ROM (Read-only-Memory)

-Holds software that is not expected to change over the life of the system such as firmware used for the system BIOS (Basic Input Output System) Examples are maskROM, PROM, EPROM, EEPROM, flash

Current CPU Architectures

-IBM Mainframe Series -Intel x86 Family -IBM POWER/PowerPC Family -ARM Architecture -Oracle SPARC Family

Op Code

-In LMC, represented by a single digit -Operation code -Arbitrary mnemonic

Operand

-In LMC, represented by two digits following the op code -Object to be manipulated -Data or address of data

Flash Memory

-Inexpensive nonvolatile secondary storage -Useful for nonvolatile portable computer storage, digital cameras, tablets, smartphones -Slower rewrite time compared to RAM -Memory READ/WRITE is performed in blocks

Hardware Components

-Input/Output devices -Storage Devices -CPU: Central Processing Unit -Memory

Examples of Hybrid Model of Computing

-Instant messaging -Skype -Google Drive

Little Man Computer (LMC)

-LMC model is a very simple example that accurately represents the architecture and operations of a real computer -Based on Von Neumann architecture -Stored program concept, memory, instructions, and operations -Uses only decimal and positive numbers -100 mailboxes (to hold 3 digit numbers), input tray, output tray, instruction location counter (ILC), ILC incrementor switch, reset switch, simple calculator, and a little man

Traditional Modern Architectures

-Large number of specialized instructions were rarely used but added hardware complexity and slowed down other instructions -Slow data memory access could be reduced by increasing the number of general purpose registers -Using general registers to hold addresses could reduce the number of addressing modes and simplify architecture design -Fixed-length, fixed-format instruction words would allow instructions to be fetched and decoded independently and in parallel. This is not easy with variable length instructions -No upward compatible or compatible between different machines

How LMC works

-Load program into memory -Instructions stored in mailboxes starting at 00 -LM performs an instruction --Looks at the ILC --Goes to the mailbox specific to the address in the ILC --Performs the operation specified by the instructions in the mailbox --Increments the ILC or updates the ILC with a new address specified by a particular instruction -Puts data into In Basket

PNG (Portable Network Graphics)

-Losslesly-compressed alternative to GIF -Can store up to 48 bits of color per pixel -Can also store transparency percentage values and color correction factor for monitor or printer -More efficient compression algorithm than GIF

Floating Point Format

-Mantissa: Sign-digit in sign-magnitude format -Assume decimal point located at beginning of mantissa - generally before a nonzero # -Format: 0.MMMMMx10^EE

Memory Enhancements

-Memory access is slow compared to CPU -Methods to improvement memory access: Wide Path Memory Access, Memory Interleaving, Cache Memory

CPU and Memory

-Memory and CPU are physically and functionally separate Units -Every instruction executed by the CPU requires memory access -Instructions are executed electronically using Boolean algebra -Primary memory holds program instructions and data -Data is moved from secondary storage to primary memory for CPU execution -BUS - Interconnection between various components of CPU, memory, and I/O devices

Unicode

-Most common 16-bit form representing 65,536 characters -ASCII Latin-I subset of Unicode (values 0 to 255 in Unicode table) -Multilingual: defines codes for nearly every character-based alphabet and composite characters for vowels and syllabic clusters required by some languages. -Allows software modifications for local languages

DRAM (Dynamic Random Access Memory)

-Most common, cheap, less electrical power, less heat, smaller space -Volatile: contents are lost when power is turned off -Data must be refreshed (recharged with power) 1000's of times each second - extra circuitry

Choice of Representation

-Must be consistent with rules of normal arithmetic -If we complement the value twice, it should return to its original value

Signed-Integer Representation

-No obvious direct way to represent the sign in binary notation Options: -Sign-and-Magnitude representation -2's complement (most common)

Memory Capacity and Addressing the Limitations

-Number of bits in the MAR -Size of the address portion of the instruction -Addressing Modes : Alternative ways of extending the address specified by an instruction so that more addresses are reached than the size of address field in the instruction allows -In reality, size of the memory is limited by physical space or time required to access large memories

Sampling Rate

-Number of times per second that sound is measured during the recording process -Height of each sample saved as: 8-bit number for radio-quality recordings, 16-bit number for high fidelity recordings, 2x16 bits for stereo

Cloud Computing

-Off-site storage facilities for an organization -Software as a service (SaaS): applications run on a server or processing may be divided on server and client -Platform as as service (PaaS): tools for a developer to create and run applications on cloud platform -Infrastructure as a service (IaaS): cloud-based hardware emulation of virtual machines and networking

Superscalar Issues

-Out-of-order processing - dependencies (hazards) -data dependencies -Control dependencies - flow or branch dependencies -Separate bank of registers hold results from speculative instructions until previous instructions are complete, and results are transferred to actual locations in correct order or thrown away -Branch history table to aid in branch prediction -Small dedicated memory internal to CPU -Register access conflicts -Prevented by using register alias tables (also called rename or logic registers)

CISC (Complex Instruction Set Computer)

-Overdesigned assembly language to support high level programming languages -Attempted to minimize number of instructions per program vs number of cycles per instruction -Complex instructions -Few general purpose registers -many addressing methods to access registers or memory -Many specialized instructions -Instruction word size = 1-15 bytes

Superscalar Processing

-Process more than one instruction per clock cycle -Separate fetch and execute cycles as much as possible -Buffers for fetch and decode phases -Parallel execution units -Execution units have pipeline capability -Timeline of individual instruction is unaffected -Complicated Design

Hardware

-Processes data by executing instructions. -Provides input and output -control input, output, and storage components

Cloud Computing Risks

-Quality of security is critical -Outages or loss of connectivity may prevent users from working -Requires long-term commitment and viability of cloud services -Changes in operating procedures can result in data loss

Compression

-Represents data in a more compact form -recoding data so that it requires fewer bytes of storage space

Video Images

-Requires massive amount of data -Options for reducing file size includes decreasing size of image, limit number of colors, reduce frame rates -Video format determined by a codec -Best known codec standards: MPEG-2, MPEG-4, and H. 264 -Data may be compressed to 10-60 MB or less of data per minute -Container serves as a superstructure to encode, decode, hold, and stream the video

Wide Path Memory Access

-Retrieve multiple bytes instead of 1 byte at a time -Widen data bus path (64 bit on modern systems -Larger MDR -CPU separates the bytes and processes them -Group of instructions can be retrieved in parallel, and passed directly to Execution unit for parallel execution -Complex circuitry -Extra bytes may not be used

CPU Features and Enhancements

-Separate Fetch/Execute Units -Pipelining -Multiple, Parallel Execution Units -Scalar Processing -Branch Instruction Processing

Branch Problem Solutions

-Separate pipelines for both possibilities -Probabilistic approach for prediction -Instruction reordering (superscalar processing) -Can minimize delay -Can use parallel pipelines for simultaneous execution of multiple instructions -Can complicate the electronic design circuitry

Advantages to Peer-to-Peer Computing

-Shares files between personal computers -Internet file sharing

Complementary Representation

-Sign of the number does not have to be handled separately -Consistent for all different signed combinations of input numbers -Two methods: Radix: value used is the base number Diminished radix: valued used is the base number minus 1

Cache Memory

-Small, high speed memory access by CPU -Based on the principle of locality of reference: at any given time, most memory references will be confined to a small region of memory

Concept of Registers

-Small, permanent storage locations within the CPU used for a particular purpose -Registers hold data, address, or instruction temporarily -Data storage, manipulation, calculations, or flags -Manipulated directly by the Control Unit -Wired for specific function -Size in bits or bytes

Register Operations

-Stores values from other locations (registers and memory) -Addition and subtraction -Shift or rotate data -Test contents for conditions such as zero or positive -Special provisions like increment, complement, clear, set or reset flags

RISC (Reduced Instruction Set Computer)

-The amount of work any single instruction accomplishes is reduced compared to CISC; reduce number of cycles per instruction -Power efficient, seen in portable electronics -Simpler instructions -Many general purpose registters -Single register-based addressing mode -Fixed length instruction word = 32 bits

Van Neumann Architecture (1945)

-The organization of a computer is made up of CPU (CU + ALU) and Memory -Stored program concept -Memory is addressed linearly - every location has a unique sequential address -Memory is addressed by location number without regard to content -Instructions are executed sequentially unless some event (or instruction) causes a branch -

Lossy

-Trades off data degradation for file size and download speed -Much higher compression ratios, often 10 to 1 -Examples: JPEG, MP3

Current CPU Architecture Designs

-Traditional modern architectures -Complex Instruction Set Computers (CISC) -Reduced Instruction Set Computers (RISC)

Audio Data

-Transmission and processing requirements less demanding than those for video -Analog Waveform: digital representation of sound =Analog sound converted to digital values by A-to-D converter -MIDI (Musical Instrument Digital Interface): instructions to recreate or synthesize music

Fetch-Execute Cycle

-Two-cycle process because both instructions and data are in memory -Every instruction must be fetched from memory before excute -Most of the process involves data movement from one register to another

Sign-and-Magitude

-Use left-most bit for sign (0 = +; 1 = -) -Total range of integers still the same, only half are positive and the other half are negative -Magnitude of largest integer is half as large

Bitmap Images

-Used for realistic images with continuous variations in shading, color, shape, and texture -Preferred when image contains large amount of detail and processing requirements are fairly simple Input devices -Scanners -Digital cameras and video captures devices -Graphical input devices like mice and pens -Managed by photo editing software or paint software -Each individual pixel, or picture element, in a graphic is stored as a binary number

Visual Data

-Videos, photographs, bio metric images, figures, icons, drawings, charts, and graphs Two approaches: -Bitmap or raster images of photos and paintings with continuous variations -Object or vector images composed of graphical objects like lines and curves defined geometrically Difference include: -Quality of the image -Storage space required -Time to transmit -Ease of modification -Processing required

8 bits

1 byte

4 bytes

1 word

LMC Instruction Set

1xx - Add 2xx - Subtract 3xx - Store 5xx - Load 6xx - Jump 7xx - Branch on 0 8xx - Branch on Positive 901 - Input 902 - Output 000 - Halt/Coffee Break

Content

A 3 digit number that hold instructions or data

Major Components of CPU

ALU(arithmetic logic unit) and CU (control unit) Subcomponents: Memory Management Unit and I/O interface

Floating Point Calculations

Addition and Subtraction Exponent and Mantissa treated separately -Exponents of number must agree -Mantissa overflow requires exponent again shifted right Multiplication and Division -Mantissa: Multiplied or Divided -Exponents: added or subtracted

Memory Address Register (MAR)

Address or memory location

Program Counter Register (PC)

Also called instruction pointer (IP) Holds the address of current or next instruction

Alphanumeric Codes

Arbitrary choice of bits to represent characters -Consistency: Input and output devices must recognize same code -Value of binary number representing character corresponds to placement in the alphabet Representing Characters -ASCII: most widely used coding scheme -EBCDIC: IBM Mainframe (legacy) -Unicode: developed for worldwide use

ALU

Arithmetic/logic unit -Performs arithmetic and Boolean logical calculations -Hold data temporarily

Decimal

Base 10

Hexadecimal

Base 16; 16 digits: 0-F

Binary

Base 2; two digits: 0 & 1

Octal

Base 8; 8 digits: to 7

Sources of Data

Binary Input -Begins as discrete input -Keyboard generates a binary number code for each key Analog -Continuous data such as sound or images -Requires hardware to convert data into binary numbers

Organization of Cache

Blocks -Also called Cache Lines -Unit of transfer between storage and cache memory -Contain tags: pointer to location in main memory Cache Controller (hardware) -Manages the cache -Checks tags to determine if it is in the cache

Bus

Bundle of wires that carry signals and power between different components

Advantages of Client Server Architecture

Centralization of services permits: -easier administration of services by IT professionals -easier availability and location by users -consistency of resources, such as files and data, can be managed and assured -more efficient and cost-effective hardware procurement through purchasing a small number of very powerful computers

Multiprocessing

Challenges -Larger and more complex system -Overhead in instruction distribution -Conflict resolution for shares resources -More power consumption Advantages -Increase computational power -Increased throughput -Can reduce stress and wear on components by operating at lower clock speeds

Communication Protocol

Communication protocol is a set of rules that govern data communication. It represents an agreement between the communicating devices. Without a protocol two devices can only be connected but not communicated, just as a person speaking French cannot be understood by a person who speaks only Japanese.

Data Formats

Computers and computer-based devices -Process and store all forms of data in binary format Human communication -Includes language, images, and sounds Data Formats -Specifications for converting data into computer-usable forms -Define the different ways human data may be represented, stored, and processed by a computer

CU

Control Unit -Controls processing of instructions -Controls movement of data within the CPU -Accesses program instructions based on Program Counter (PC) and issues commands to the ALU

Virtualization

Created, simulated, or carried on by means of a computer or computer network

Memory Data Register (MDR)

Data retrieved from or stored to memory based on MAR

Metadata

Data that describes or interprets the meaning of data

Disadvantages of Peer-to-Peer Computing

Difficult to establish centralized control of services -Difficult to locate services -Difficult to synchronize versions of files or software Difficult to secure network from unauthorized access and from viruses

BCD

Direct Binary equivalent of decimal integer

Internal Data Representation

Ease of manipulation -Processing simple audio vs. high-fidelity sounds Standardization -Proprietary formats for storing and processing data De facto standards: proprietary standards based on general user acceptance

Symmetrical Multiprocessing

Every CPU -has equal access to resources -determines what to run using a standard algorithm -Is equally busy Disadvantages -Resource conflicts, complex implementation Advantages -High reliablility -Flexibilty -Balanced workload -Fault tolerant - critical task dispatched to all CPUs simultaneously -Single CPU system doesn't call system failure

SRAM (Static Random Access Memory)

Faster and more expensive than DRAM -Volatile -Small amounts are often used in cache memory for high-speed memory access -Lower bit density

Separate Fetch Execute Units

Fetch Unit -Instruction fetch unit -Instruction decode unit -Several instructions are fetched in parallel and held in a buffer until decoded and executed -Instruction Pointer (IP) register holds instruction location of current instruction being processed Execution Unit -Receives instructions from the decoder unit -Appropriate execution unit services the instruction

Data

Fundamental representation of facts and observations

I/O Interface

Handles all input and output requests

Special Purpose Registers

Includes Program Counter Register (PC), Instruction Register (IR), Memory Address Register (MAR), Memory Data Register (MDR), and Status Registers

Lossless

Inverse algorithm restores data to exact original form (examples: GIF, ZIP)

Fetch

Little Man finds out what instruction he is to execute -Go to ILC -Read the value (address) in ILC -Go to the appropriate mailbox with that address -Read the 3 digit # stored in the mailbox

Execute

Little Man performs the work -Depends on the instruction that is fetched -Performs the task required by the instruction -Increments the ILC

Mailboxes

Mailbox addresses are consecutively starting at 00 and ending at 99

Master-Slave Multiprocessing

Master CPU -Manages the system, resources and scheduling -Assigns tasks to slave CPUs Advantages -Simplicity -Protection of system and data Disadvantages -Master CPU becomes a bottleneck -Lower efficiency - Slave CPU has to wait if Master CPU is busy -Reliability issues - if master CPU fails entire system fails -Flexibility

Multiprocessing Configurations

Master Slave Multiprocessing and Symmetrical Multiprocessing (SMP)

Interface Unit

Moves instructions and data between the CPU and other hardware components

Boolean Logic

NOT : Output is inverted AND: Output is 1 only if both inputs are 1 OR: Output is 1 if either or both inputs are 1 XOR: Output is only 1 if ehter inputs are 1 NAND, NOR, and XNOR: Complements of AND, OR, and XOR, respectively.

Underflow

Number is too small for the specific representation

Data Types: Alphanumeric

Numbers and characters both entered as ordinary characters, the the computer converts them into numbers for calculation or treats characters as processed text

Flags

One bit boolean variable to track conditions like arithmetic carry and overflow, power failure, internal computer error

Floating Point Format Specification

Predefined format, usually in 8 bits -Increased range of values (two digits of exponent) traded for decreased precision (two digits of mantissa)

MP3

Predominant digital audio data format -Derivative of MPEG-2 (ISO Moving Picture Experts Group) -Uses psycho acoustic lossy compression techniques to reduce storage requirements

Range of possible numbers

R = B^k R = range B = base k = number of digits

Internal Data Representation

Reflects the -Complexity of input source -Type of processing required Trade-offs -Accuracy and resolution -Compactness (storage Transmission -More data required for improved accuracy and resolution

Communications

Sharing data and processing among different systems

Pixel

Short for picture element, is a small area with a associated coordinate location

Status Registers

Status of CPU and currently executing program

Instruction Cycle

Steps required to perform an instruction are fetch and execute

Instruction Register (IR)

Stores instruction fetched from memory

Taking the Complement

Subtracting a value from a standard basis value

Memory Management Unit

Supervises fetching instructions and data from memory

Compression ratio

The amount file size is reduced

System Architecture

The fundamental properties, and the patterns of relationships, connections, constraints, and linkages among the components and between the system and its environment are know collectively as the architecture of the system.

Levels

The number of bits for displaying shades of gray or multiple colors

Base

The number of different digits, including zero, in the number system

Resolution

The number of pixels per inch or the amount of detail affecting clarity and sharpness of an image

RAM (Random Access Memory)

Two types: Volatile and non-Volatile Volatile: DRAM (Dynamic RAM) and SRAM (Static RAM) Non-Volatile: ROM (Read-only-Memory) and Flash Memory

Registers

Use of Registers -Scratchpad for currently executing program -Holds data needed quickly or frequently -Stores information about status of CPU and currently executing program -Address of next program instruction -Signals from external devices

Multiprocessing - More CPUs

Why? -Increase the processing power of a system -Parallel processing through threads: independent segments of a program that can be executed concurrently Multiprocessor system -Tightly coupled - share system resources Multicore Processors -When CPUs are on a single integrated circuit


Set pelajaran terkait

NSG 242 Chapter 31: Health Supervision

View Set

Unit 4 Chapter 3: Measuring Earthquake Magnitude

View Set

GI AND ABDOMINAL WALL REVIEW QUESTIONS

View Set

org mgmntExam Study Guide Number 3

View Set

Homework 8: Money and Monetary Policy

View Set

RN Concept-Based Assessment Level 2 Online Practice B

View Set

Capitales de Sudamérica, España y Guinea Ecuatorial

View Set