Hardware, Software
and Impact
Objective: Discuss the economic incentives driving the
evolution of hardware and software and relate this progress to
Moore's law. The index for this section is:
Hardware
Let us start with two basic definitions which may be obvious to
most of you. Hardware refers to the physical computer, communication
or control equipment. Software refers to the operating system and
programs which run on the physical equipment.
Background
- Leibnitz
- Babbage
- Iowa State
- Turing: WWII
- US after WWII
- Vacuum tubes to transistors
Von Neumann Digital
Computer
Principles
- a single central processor
- a single path between the central processor and memory
- program is stored in memory
- central processor fetches, decodes, and executes the stored instructions of the program sequentially
- Almost all personal computers, workstations, minicomputers, and mainframes are currently Von Neumann design computers. To understand how such a computer works consider the following schematic drawing:
The various components of a computer are:
- CPU
- Memory Pyramid
- Cache memory:
- RAM(DRAM and SRAM) and ROM
- Magnetic Disk: These are magnetic disks of various types, such as floppies (5 1/4 and 3 1/2) and hard disk
- Bubble memory: This is an expensive, magnetic type of memory device which currently has not achieved its potential.
- Laser Disk: CDs and DVD
- Holograph memory
- Input/Output Devices
- Keyboard, mouse and video screen
- Printers: Dot matrix impact, Inkjet and Laser
- Modem to phone
- Bus
- Clock
Market
Forces-Hardware
- UNIVAC
- Expansion of market: Starts at largest firms and moves down
- Hueristic Hierarchy
- Embedded
- Palm
- Personal
- Workstation
- Mini
- Mainframe
- Impact of Moores Law
- Backwards compatible
Parallel Computer
Basic Definition: More than one CPU controlled by a single operating system
Many different types of designs:
- Type and number of CPUs
- Interconnection among processors
- Memory
- Allocation of parts of the problem among the various processors
Important:
- Some problems are inherently sequential, in which case a parallel processor does not provide better performance.
- The various designs are each efficient for a subset of the types of problems for which a parallel processor is more efficient that a von Neumann deisgn.
- Also, the programming problem is how to efficiently coordinate the processors.
- Finally, parallel computers are becomming commonplace. Servers are generally parallel processors.
Artificial Neural Networks, ANN
Basic idea: An approximation to an animal brain
A diagram of a simple feedforward ANN is shown below:

Note:
- Inputs are entered at the input layer.
- Note each element in the input layer is connected to each element of the hidden layer.
- Depending in the weights of the inputs a particular element of the hidden layer activates if there sum is greater than the activation threshold for that element.
- Each element in the hidden layer is connected to each element in the output layer.
- Again depending on the weights of the output from the hidden layer the elements of the output layer fire if the sum is greater than the activation threshold..
- ANN are not programmed like conventional computers rather they are trained either with or without a teacher.
- In supervised learning the ANN is subjected to a large number of training sets of data and the weights and thresholds are adjusted to minimize the error in its predications of the training set data.
- In unsupervised learning the ANN simple processes the data sets discovering patterns.
- There are numerous technical problems to overcome in obtaining good performance from an ANN.
Performance
Neural networks often outperform traditional approaches at pattern recognition, classification, data clustering and modeling of nonlinear relationships.
- Signal Processing - data fusion from multiple sensors, acoustic failure diagnosis, flaw detection, speech recognition, biological signal identification, noise cancellation, radar processing
- Image Processing - machine vision, fingerprint identification, medical image processing, industrial inspection
- Nonlinear Modeling - risk analysis, medical diagnosis, chemical modeling, real estate appraisal, capacity planning, insurance claim validation
- Time-series analysis - economic forecasting, stock & commodity trading, weather prediction, sales forecasting
- Process Management - manufacturing process control, yield optimization, robotic control
- Classification - loan evaluation, optical character recognition, cell identification, spectral analysis, target marketing, fraud detection.
Evolution to distributed processing or network computing
Standalone Period: Originally corporations had standalone computers which were fed input from cards and magnetic tapes. Early evolution was towards more powerful mainframes.
Dumb Terminal Period: The next step were systems of terminals connected to the corporate mainframe.

Pro and Con:
- Pro: The dumb terminal user directly interacts with the mainframe without having to use cards.
- Con: Mainframe is a sequential processor. Swithing from one terminal to the next involves a lot of overhead.
Client Server network:
A picture of a client server network: Client provides clients with software and data that runs on the client computer. Some jobs are run on server or remote computer.
Advantages:
- By linking personal computers on employee's desks to firm's data structure greatly improved efficiency
- Much cheaper than mainframe with dumb terminals.
- Issues:
- Fat or thin clients
- Security
- Distributing processing in general:
- Coordinating distributed processing is more complicated than parallel processing because of the different operating systems.
- Coordination through browsers on the internet simplifies coordination.
DNA Computer
An experimental computer is a DNA computer that has the potential to solve NP problems efficiently.
Hardware: Surf the
Net
There are a large number of computer hardware company sites which you might
wish to visit. The list covers an example from each size of computers and an
example of each type of computer.
Software
How are the market forces determining the evolution of software?
Software Basics
- Operating systems
- Programming languages
- Application programs
Impact of Moore's Law
- New features--man is a visual animal
- Reduce labor in creating software
- Reduce effort in using software
Market Forces: Software
More features:
- Numbers
- Text
- Graphics: static
- Graphics: Dynamic
- Virtual reality
- More specialized software for market niches
More efficiency in program creation:
- Machine language
- Assembly language
- Fortran and Cobol
- Proliferation of languages
- The economics of shifting from one language to a better language
- Object Oriented Programing: eg Java and C++
- Encapsulation: Self contained entity
- Inheritance: module B from A => B inherits all code that runs on B
- Polymorphism: General code can be applied to different objects.
- Limited automation of program creation
- Controlling errors on larrge projects. turning
CHAOS into SUCCESS"
User friendly: Reduce the labor costs of using computers and application programs
Operating systems:
- Text commands: Syntax is a pain in the ass
- GUI: Xerox, Apple, Microsoft
- Voice: Future
- Application Programs
- All programs have the same structure: Apple
- Integration
- Personal Computers--Office Suites
- Business--All aspects of businness has been integrated
- Voice recognition
Quasi-intelligent Software (Artificial
Intelligence)
Software does not need intelligence to be economically viable.
Expert or Knowledge-Based
Systems: Decsion tree of rules.( Go to EXPERT SYSTEMS: A QUICK TUTORIAL
Examples:
a. XCON of Digital: This expert program configures VAX computers
for customers and makes fewer mistakes than humans.
b. Dipmeter advisor of Schlumberger: This expert program interprets readings
from oil wells and performs as well as a junior geologist 90% of the time.
c. Prospector of the US Geological Service: This expert program
found a major deposit worth $100M.
d. MYCIN of Stanford: This expert program can diagnose disorders
of the blood better than a GP but not as well as an expert.
AI fiasco of the 80s
Some advances:
- The development of software to implement expert systems is more and more
intuitive allowing the decision maker to create and maintain the program.
On example is Computer Associates object oriented program axion
- Software developers are creating software to create expert systems on the
WEB, such as Brightware's eCommerce Assistance.
- Expert system concepts have expanded in include Zadeh's Fuzzy Logic that
is an extension of Boolean True-False (0,1) logic that has partially true
(or false) statements, for example 0.4 true. An example is FuzzyCLIPS
Case-based Reasoning, CBR, Systems:
Using a case-based reasoning system, the decision maker with a new problem:
- Searches the library of previous cases to find the most relevant.
- Applies the procedures from these cases to the current problem.
- Revises the procedures as necessary.
- Saves the results of the current case in the database of cases.
CBR systems are used in:
Other types of quasi-intelligent software: genetic algorithm.
Intelligent Agents
Software that a user sends to a remote server to accomplish a task is called
an agent. The adjectives associated with intelligent agents are mobile, autonomous,
intelligent, and represents interests.
Uses of intelligent agents:
- The first major use was information retrieval. Search engines send intelligent
agents throughout the WEB to report back their findings.
- E-commerce will promotes intelligent agents in all aspects of buying and
selling.
- Management: This is a growth area where, for example, intelligent agents
are released throughout an enterprise network to accomplish a task such as
updating and reconfiguring software.
- Electronic devices: If the future Palms will release intelligent agents
into the internet to accomplish tasks while the PDA is disconnected.
Intelligent agents will grow because they are easier to program than trying
to accomplish the task from a central site and they impose less load on the
network. As the number of agents released into the Internet grows, a major congestion
problem will occur. Will server charge users for memory space and server time
to regulate congestion, an economic approach, or will they use a bureaucratic
approach such as a queue. There is a major security problem in agents because
an important class of agents is computer viruses.
Software: Surf the
Net
There are a large number of software sites you should visit.
When you surf to software firms notice how much effort these firms
are making to create internet and intranet products.
Impact of Computation
Objective: In order to forecast the future impact of
computers on society, the first step is to consider the impact
computers have already had on society. We will consider the impact of
computers on mathematics and the sciences, engineering and policy,
business and institutions, and other human activities.
Impact does not require
computers to think
Loebner
Prize
Mathematics and
science
Engineering and
policy
Business and
administration
All human activities
Impact: Surf the Net
To see some impact of computing check out the
following:
norman@eco.utexas.edu
Friday: 16 Jan 00