Вы находитесь на странице: 1из 10

Ch 1:

Information System Development


Business Modeling (a.k.a. Survey Phase) and Requirements Disciplines – Performed by Systems
Analysts; understand the system environment and tasks the system must perform. Technical Knowledge:
assess degree to which users’ needs are being met & resources required to address unmet needs.
Design Discipline: Performed by Systems designer, determine structure of a specific information
system that fulfills system requirements. Technical knowledge: Select hardware and network components,
Evaluate compatibility.
Architectural design/ Detailed design
Implementation and Testing Disciplines: Performed by Application programmer; build, acquire,
and integrate (BAI), application software components. Testing verifies correct functioning of infrastructure
and application software components and ensures they satisfy system requirements. Technical knowledge:
knowledge of hardware, networks, and system software
Deployment Discipline: install and configure infrastructure and application software components
and bring them into operation. Technical knowledge: Format storage devices, Set up system security,
Install and configure network services, Establish accounting and auditing controls; (FSuIcE)

Systems Evaluation and Maintenance: Accounts for much of long range system cost. Technical
knowledge: Address maintenance changes, Classify a proposed change as major or minor, Modify an
existing system (A,C,M).

Managing Computer Resources: Observes compatibility and future trends. Technical knowledge:
Ensure that each new system operates, and software/hardware acquisitions provide a good foundation for
current and future systems.

Roles and Job Titles


Application Developers: creates or maintains application software. Responsible for the
Implementation and Testing Disciplines phase.
Application software: Software class consisting of all application programs.
Application Program: addresses a single specific need of user or a specific class of information
processing tasks.

Systems Programmers: Person who creates or maintains systems software.


Systems Software: perform hardware interface, resource management, or application supports
function. (HiRmAs)
Hardware Personnel: Design, install, and maintain hardware (D,I,M). Technical degree in
computer science or computer engineering (higher level). Extensive knowledge of computer hardware.
Systems Managers: Managerial actions required to ensure efficient, reliable, and secure computer
system operation (E,R,S).
Computer operations manager – manager responsible for the operation and maintenance of a
large data processing center or information system
Network administrator – manager charged with operating and maintaining a local or wide area
network
Database administrator – manager responsible for ensuring data integrity, reliability, security
and availability (IRSA)
Chief information officer – manager charged with responsibility for planning, maintaining and
operating (PMO) all information-processing resources within the organization

Computer Technology Information Sources


Periodical Literature: ACM Computing surveys – information on the latest research trends in
computer software and hardware. Computerworld – weekly magazine geared toward computer news items.
Communications of the ACM – widely used source of information about research topics in computer
science.
Technology-Oriented Web Sites: cnet – oriented to consumers, earthweb – information for IS
professionals, gartnergroup – consulting and research company specializing in services for CIOs and other
executive decision makers, ITworld, TechWeb.
Vendor and Manufacturer Web Sites:
Professional Societies: Association for Computing Machinery (ACM), Association for
Information Technology Professionals (AITP), IEEE (Institute of Electrical and Electronics
Engineers),

Ch 2:
Automated Computation
Mechanical Implementation: Slow speed, unreliable (due to friction and wear), and fabrication
complexity. Babbage difference engine was an automatic, mechanical calculator designed to
tabulate polynomial functions
Electronic Implementation: Stores numerical values as magnetic charges or by positioning
electrical switches. Converts physical movement into electrical signals, or vice versa. Fabrication
complexity (lack of wiring) and unreliability due to heat, friction, and resistance.
Optical Implementation: Harnesses energy of a moving photon. Represents data as pulses of
light stored directly or indirectly by materials that reflect or don’t reflect light. Now common in computer
networks that cover large distances. Gallium Arsenide.

Technology Focus – Quantum Computing


Ability of subatomic particle, like a photon, to be at multiple places at one time. Stored by a qubit instead
of a bit. 64 bit quantum computer is 2^64 times faster than a conventional 64 bit computer. Downsides are
computational efficiency.

Computer Capabilities
Processor device capable of performing data transformation operations
Algorithm is a series of processing steps that describes the solution to problem.
Instruction is a bit string containing an operation code and zero or more operands that
cause a processor to do a processing operation
Storage Capacity
microcomputer - can meet low intensity processing needs of single user)
midrange computer - meets the processing needs of small to medium sized group of
interactive users
mainframe - high capacity computer system designed to support hundreds of interactive
users and process simultaneously
supercomputer - computer designed for very fast processing of real numbers, typically
implemented with some form of parallel processing. Designed for rapid mathematical
computation.

Input/Output Capability:
Computer Hardware
Central Processing Unit
Register high speed storage location within a central processing unit that can hold a single
word.
Arithmethic Logic Unit circuitry within a processing unit that performs computation, comparison,
and Boolean logic operations
Control Unit responsible for moving data, accessing instructions, and controlling the arithmetic
logic unit (MAC)
System Bus: Internal communication channel that connects all other hardware devices. Primary
pathway for moving data and instructions among hardware components

Primary Storage: Holds program instructions and data for currently executing programs.
Implemented with random access memory (RAM). Provides access speed and allows CPU to read or write
to specific memory locations. Volatile; does not provide permanent storage.
Secondary Storage: Composed of high-capacity nonvolatile storage devices that hold
programs not currently being executed, Data not needed by currently executing programs, Data
needed by currently executing programs that does not fit within available primary storage.

Input/Output Devices: Implement external communication functions; Human-oriented


communication devices (e.g., keyboard, mouse, printer). Computer-oriented communication devices
(e.g., modem, network interface unit).

Computer System Classes


Multicomputer Configurations: Any organization of multiple computers to support a specific set
of services or applications. (CBG)
Cluster - Group of similar or identical computers that cooperate to provide services or execute a
common application. Connected by high-speed network & typically located close to one another.
Scalability and fault tolerance, but complex in configuration and administration.
Blade is a Circuit board that contains most of a server computer; a specialized cluster. Can
concentrate more computing power in less space and is simpler to modify.
Grid dissimilar computer systems, connected by high-speed network, that cooperate to provide
services or execute a common application. May be in separate rooms, buildings, or continents.
Cooperative at some times, independently at others.
Fault Tolerance: methods of securing file content against hardware failure.
Bigger Isn’t Always Better
Grosch’s Law - Computer performance increases as the square of the cost. If computer A costs
twice as much as computer B, you should expect computer A to be four times as fast as computer

Technology Focus – IBM POWER-Based Computer Systems


Power CPU architecture introduced in 1990. Primarily used by Apple Computer. Power5 has .13 micron,
copper chip wiring, large on & off chip copper wiring, simultaneous multi-threading.
Business Focus – Do We Need a Mainframe?
Bauer Industries a jewel machinery manufacturer has an: IBM RS/6000 S70 midrange computer became a
bottleneck for transaction storing. Switched to a mainframe due to: expected four-fold increase in business,
relocation to new facilities, end outsourcing of web based catalog & online order system, increase and
modernize automated support of management. Options are add more components, upgrade to a pSeries 670
computer system, develop a highly scalable hardware platform.

The Role of Software: Translates user requests into machine instructions


Software Types
Application Program or Software

Utility Programs performs a commonly used function, such as printing a text file or copying a file.
Systems Software (SSRH)
System Software Layers
System Management- utility programs used by end users and system administrators to manage
and control computer resources.
System Services - utility programs used by system management and application programs to
perform common function
Resources Allocation - utility programs that allocate hardware and other resources among
multiple users and programs.
Hardware interface - utility programs that control and interact with individual hardware devices.

Operating Systems: A collection of utility programs that supports users and application
programs, allocates computer resources among multiple users and application programs, and controls
access to computer hardware.
Application Development Software: programs used to develop other programs
Program Translator – a program that translates instructions in a programming language into
CPU instruction. E.g. FORTRAN, Java, C++ and Visual Basic.

Newer Programming Languages


Ruby, TOM, LUA, IPhone SDK, Java is the easiest to program with but C is more commonly used.

Economics of System and Application Development Software


System software consumes hardware resources. Cost per unit of computing power has rapidly decreased.
Software is more cost-efficient when it is reused many times.

Technology Focus – Intel CPUs and Microsoft Operating Systems


IBM introduced the first mass market midrange computer in 1981 with an intel 8088CPU and ran MS DOS
1.0 OS. INTEL and M$ became standard setters. Operating System technology has often lagged 3 years
behind supporting CPU due to: Software labor being a long and labor-intensive process. As CPU become
powerful, operating systems become more complex.

Computer Networks: Hardware and software that enables multiple users and computer systems to
share information, software, and other resources.
External Resources: Ability to share data, programs, and hardware resources among, computers,
gives modern organizations flexibility to deploy and redeploy computing and information resources to
satisfy rapidly changing needs.
Network Software: Finds requested resources on the network; negotiates resource access with
distant resource allocation software; receives and delivers resources to requesting user or program (FNRD);
may also listen for and validate resource requests, and deliver resources via the network.
Network Communication and the Physical Network: Simpler than I/O devices; do not need to
convert data represented electronically into another form; supports communication at high speeds. Complex
combination of communication protocols, methods of data transmission, and network hardware devices

Ch 3:
Unsigned Binary: 2^n – 1
1 at the front represents signed; 0 represents unsigned

Automated Data Processing:


Data is converted from native format into a form suitable for the processing device; representing data
electrically and process it with electrical switches; electronic devices perform computational functions
embedded in the equations
Binary Data Representation
Hexadecimal Notation
http://www.permadi.com/tutorial/numDecToHex/
http://calculators.mathwarehouse.com/binary-hexadecimal-
calculator.php#hexadecimalBinaryCalculator

Octal Notation

Goals of Computer Data Representation


Compactness: Describes number of bits used to represent a numeric value; less expensive to
implement in computer hardware.
Accuracy: Precision of representation increases with number of data bits used.
Ease of Manipulation: Machine efficiency when executing processor instructions (addition,
subtraction, equality comparison). Efficiency is based on complexity of the processor.
Standardization: Ensures correct and efficient data transmission; Provides flexibility to combine
hardware from different vendors with minimal data communication problems
Range:
CPU Data Types: balances compactness, accuracy, ease of manipulation, and standardization
Integers: A whole number—a value that does not have a fractional part.
Excess Notation: Used to represent signed integers (RSI). A binary coding method that
represents numeric values as the value by which they exceed a fixed base. Divides a range of
ordinary binary numbers in half; uses lower half for negative values and upper half for
nonnegative values.
Signed Binary
1 at the front represents signed; 0 represents unsigned
Two’s Complement Notation: A notation system that represents positive integers as an
ordinary bit string and negative integers by adding one to the bit string that represents the absolute
value. Leftmost bit represents the sign; Only two logic circuits required to perform addition on
single-bit values.

Integer 2's Complement


Signed Unsigned
5 5 0000 0101
4 4 0000 0100
3 3 0000 0011
2 2 0000 0010
1 1 0000 0001
0 0 0000 0000
-1 255 1111 1111
-2 254 1111 1110
-3 253 1111 1101
-4 252 1111 1100
-5 251 1111 1011

Tip: when finding negatives just subtract them into 256


http://academic.evergreen.edu/projects/biophysics/technotes/program/2s_comp.htm
Binary converter: http://acc6.its.brooklyn.cuny.edu/~gurwitz/core5/nav2tool.html
2’s complement Converter: http://www.rsu.edu/faculty/PMacpherson/Programs/twos.html

Floating Point Notation: Method of encoding real numbers in a bit string consisting of two
parts – mantissa and an exponent. Just like scientific notation (x * 10^n) except that 2 is the base
not 10. value = mantissa x 2^n. (x * 2^n)
Mantissa (a.k.a. Significand): the part of a floating-point number that contains its
significant digits.

Range: The possible values that may be stored in a variable; The upper and lower bounds
of an array.
Overflow: absolute value of a computational result contains too many bits to fit into fixed-
width data format. Avoided by double precision data formats & Careful programming.
Overflow and Underflow can be avoided by: allocating a sufficient number of bit positions
for data storage (e.g., using double precision data types) or by scaling input values (i.e., adjusting
units of measure upward or downward in magnitude).

Real Numbers
Underflow: absolute value of a negative exponent is too large to fit within allocated bits.
Precision:
Long or Double Precision: Storing a numeric value in double the number of normal bit
positions. Floating point format that occupies 8 bytes (64 bits in modern computers) in computer
memory.
Truncation: limiting the number of digits right of the decimal point, by discarding the least
significant ones
Processing Complexity: Programmers never use real numbers when an integer will suffice
(speed and accuracy). Floating point formats are optimized for processing efficiency & require
complex processing circuitry (translates to difference in speed).

Character Data: processed by defining a table that assigns numeric values to individual characters
EBCDIC (Extended Binary Coded Decimal Interchange Code): 8-bit character
encoding (code page) used on IBM mainframe operating systems such as z/OS, OS/390, VM and
VSE, as well as IBM midrange computer operating systems such as OS/400 and i5/OS (see also
Binary Coded Decimal).
ASCII (American Standard Code for Information Interchange): a character-encoding
scheme based on the ordering of the English alphabet. ASCII codes represent text in computers,
communications equipment, and other devices that use text. Insufficient due to: Uses 7-bit code,
providing 128 table entries (33 for device control). Only 95 printable characters can be
represented. English based.
Device Control:
Software and Hardware Support
Unicode: Larger coding table than ASCII due to using 16-bit code providing 65,536 table. Supports
any modern language, and supported by modern software.

Boolean Data: two data values —true and false. The most concise coding format due to needing
only a single bit.
Memory Addresses - an identifier for a memory location, at which a computer program or a
hardware device can store data and later retrieve it. Considered 1 of the 5 primitive datatypes.

Technology Focus – Intel Memory Address Format


Intel CPUs have been used since the first IBM PC was sold in 1981. The Intel 80xxx series
maintained backwards compatibility making them more desirable for programmers and consumers. With
8088 the following were introduced: a 20 bit size for memory addresses. A segmented memory model. This
limited usable RAM to 1MB. 4 bit segment identifier and a 16 bit segment offset.
Two methods of addressing these issues were introduced with 80386: Real mode, which enabled
backwards compatibility with 8088 & Protected mode addressing, which eliminated performance penalty
for programs larger than 64 KB.

Data Structures: related group of primitive data elements that is organized for some type of
common processing. Defined and manipulated with software.
Pointers: Data element that contains the address of another element.
Addresses: Location of some data element within a storage device.

Arrays: Ordered list in which each element can be referenced by an index to its position; Sequence
of primitive data elements stored in sequential storage locations. Stored in contiguous sequential memory
locations, with the first element at the lowest address.
Lists: A set of related data values.
Linked List: data structure that uses pointers so list elements can be scattered among non sequential
storage location. Easier to expand or shrink than an array.
An array has a fixed size throughout its existence whereas a linked list does not. A linked list has no
boundary on its capacity other than the limitations of memory space. Linked lists are also easier to manage.
Depending on which references are changed in a linked list, a node can be inserted at the front, among the
interior, or at the end of the linked list, and/or simply deleted. To manage an array is much more
complicated.

Singly Linked List: stores one pointer with each list element.

Records: Data structures composed of other data structures or primitive data elements; used as a
unit of input and output to files.
Files: Sequence of records on secondary storage.

Classes: Data structures that contain traditional data elements and programs that manipulate that
data. Combine related data items and extend the record to include methods that manipulate the data items
Objects: One instance, or variable, of the class.
Ch 4:
CPU Operation
Register high speed storage location within a central processing unit that can hold a single
word.
Arithmetic Logic Unit circuitry within a processing unit that performs computation, comparison,
and Boolean logic operations
Control Unit responsible for moving data, accessing instructions, and controlling the arithmetic
logic unit (MAC).

Instructions and Instruction Sets


Data Movement
Fetch Cycle: Fetches an instruction from primary storage; increments a pointer to location of next
instruction; Separates instruction into components (instruction code and data inputs); Stores each
component in a separate register.
Execution cycle: ALU retrieves instruction code from a register & data inputs from registers;
Passes data inputs through internal circuits to perform data transformation & then Stores results in a
register.
Operand: Component field of an instruction containing a data value or address used as input to or
output from a specific processing operation.
Operation Code: coded value or bit string representing the function or operation to be performed by a
processor.
Pointers: Data element that contains the address of another element.
Addresses: Location of some data element within a storage device.

Data Transformations
NOT transforms a 0 bit value to 1 and a 1 bit value to 0.
AND generates false unless the input bit values are 1 and 1
OR generates true when applied to the input values 1 and 1
XOR generates false when applied to the input values 1 and 1
ADD: Implement addition

SHIFT: Implement bit manipulation;


Logical shift – operation used to extract a single bit from a bit string.
Arithmetic shift - operation that performs division or multiplication.
Sequence Control: Controls the next instruction to be fetched or executed.
Branch – Processor operation that causes an instruction other than the next sequential
instruction to be fetched and executed.
HALT – Instruction that suspends the execution of any further instructions by the CPU.
Instruction – Bit string containing an operation code and zero or more operands that
cause a processor to perform a processing operation.

Complex Processing Operations: Implemented by appropriate sequences of primitive


instructions; A combinations of primitive processing operations. Represents a tradeoff between
programming simplicity & execution speed.

Short Programming Example

Instruction Set Extensions


Instruction Format - Length and order of operation code and operands within a machine language
instruction. Most CPUs support multiple instructional formats.
Instruction Length - Fixed Length Instruction – one member of an instruction set in which all
instructions contain the same number of bits.
Instruction Sets: a collection of machine language instructions that a CPU can process
Reduced Instruction Set Computing (RISC): Uses fixed length instructions, short instruction
length, and a large number of general-purpose registers. Emphasizes short, primitive instructions that
reference operands contained in registers. Simpler but less efficient than CISC.

Clock Rate: the rate in cycles per second (measured in hertz) for a CPU
Clock rate = 1 / cycle time
Cycle time = 1 / clock rate

CPU Registers
General-Purpose Registers: Used only by currently executing program. Used to typically hold
intermediate results or to hold data values that will be used frequently, like loop counters or array indices.
Special-Purpose Registers: Used by CPU for specific purpose like Instruction Register,
Instruction pointer, and program status word.

Instuction Register - holds an instruction prior to decoding


Instruction Pointer - stores the address of the next instruction to be fetched from primary storage.
Program Status Word: contains data that describes the status of CPU and currently executing
program. Uses a separate Boolean variable, flag, that represents one data item.
Flags: Store the result of comparison operation, control conditional branch execution, indicates
actual or potential error condition.

Word Size: Unit of data that contains a fixed number of bytes or bits. Amount of data a CPU processes at
one time.

Enhancing Processor Performance


Pipelining - Method of organizing CPU circuitry to enable multiple instructions to execute
simultaneously in different stages
Multiprocessing: CPU design technique in which instruction execution is broken into multiple
stages and different instructions can execute in different stages simultaneously
Three ways to implement multiprocessing:
Duplicate circuitry for some or all processing stages within a single CPU
Duplicate CPUs implemented as separate microprocessors sharing main memory and a single
system bus
Duplicate CPUs on a single microprocessor that also contains main memory caches and a
special bus to interconnect the CPUs
Parallel Processing:
Multi-threading: portion of a process that can be scheduled and executed independently. Share all
resources allocated to their parent process, including primary storage, IO devices, and files.

Branch Prediction: Technique to increase the benefits of pipelining in which the CPU guesses
whether a branch condition will be true or false based on past experience.
Speculative Execution: Executing instructions after branch prediction but before the final branch
condition value is known with certainty.

Segmented Memory Address: memory allocation and partitioning based on equal sized
segments and segmented memory address. Each memory address is represented by two integers

Technology Focus - Intel Pentium Processor Family


Pentium processor introduced in 1993 and maintains backwards compatibility with the 808x series. Intel
MMX (MultiMedia eXtensions). Contains 128-bit data type containing 4 32-bit floating point number. 4
different memory address formats are provided.
Contains 28 system instructions, 92 floating-point instructions, 52 MMX instructions, 61 streaming
multimedia instructions, and sets among modern microprocessors. Extended Memory 64 Technology
(EM64T), enabled full 64 bit computations on integers and memory address which allows for greater than 4
gigabyte of memory & access terabytes of it instead.
The Physical CPU
Switches: Control electrical current flow in a circuit; Implemented as transistors.
Gates: circuit that can perform a processing function on an individual binary electrical signal or
bit. An interconnection of switches.
Transistor: solid state electrical switch that forms the basic component of most computer
circuitry

Electrical Properties
Conductivity: Ability of an element to enable electron flow.
Resistance: Loss of electrical power that occurs within a conductor.
Heat: Physical damage to conductor; Changes to inherent resistance of conductor.
Speed and Circuit Length: Time required to perform a processing operation and is a
function of length of circuit and speed of light. Reduce circuit length for faster processing.

Processor Fabrication
Transistors: solid state electrical switch that forms the basic component of most
computer circuitry
Integrated Circuits: Semiconductor device, manufactured as a single unit, that
incorporates multiple gates.
Microchip: semiconductor device that implements integrated electronic
components in a single unit.
Microprocessor: Microchip containing all the components of a CPU.

Moore’s Law: Rate of increase in transistor density on microchips doubles every 18-24
months with no increase in unit cost.
Rock’s Law: Cost of fabrication facilities for chip generation doubles every four years

Current Technology Capabilities and Limitations


Semiconductors are approaching fundamental physical size limits.
Technologies that may improve performance beyond semiconductor limitations
Optical processing Could eliminate interconnection and simplify fabrication problems; photon
pathways can cross without interfering with one another.
Hybrid electro-optical processing Devices provide interface between semiconductor and purely
optical memory and storage devices. Gallium arsenide (both optical and electrical properties). Silicon-
based semiconductor devices (encode data in externally generated laser light)
Quantum processing: Uses quantum states to simultaneously encode two values per bit (qubit).
well-suited to solving problems that require massive amounts of computation

Вам также может понравиться