Computer Architecture 2nd Week
Duties of Computer Architect
Computer architects are primarily tasked with increasing overall system
performances to meet the needs of businesses and other organizations. Their
responsibilities can range from designing gaming software to improving
meteorological models for weather forecasting. Computer architects put together
individual components to build new systems that meet cost, performance and
functional goals. They research, design, develop and test computers and related
equipment. This may include designing supercomputers for government agencies or
new business tools, such as phone applications. Some write algorithms to help
computer operations run more smoothly and effectively.
A Computer Architect usually has the following responsibilities:
1.
Overall design - the
blueprints which provide the map
2.
High level planning
for the development - overall steps for creation of the solution from the
blueprints
3.
Complete models and
simulations, using manual or automated tools, to analyze or predict system
performance under different operating conditions.
4.
Document design
specifications, installation instructions, and other system-related
information.
5.
Identify system data,
hardware, or software components required to meet user needs.
6.
Provide advice on
project costs, design concepts, or design changes.
7.
Verify stability,
interoperability, portability, security, or scalability of system architecture.
8.
Communicate with
staff or clients to understand specific system requirements.
9.
Design and conduct
hardware or software tests.
10.
Direct the
installation of operating systems, network or application software, or computer
or network hardware.
11.
Evaluate current or
emerging technologies to consider factors such as cost, portability,
compatibility, or usability.
12.
Evaluate existing
systems to determine effectiveness and suggest changes to meet organizational
requirements.
13.
14.
Collaborate with
engineers or software developers to select appropriate design solutions or
ensure the compatibility of system components.
15.
Investigate system
component suitability for specified purposes and make recommendations regarding
component use.
16.
Provide technical
guidance or support for the development or troubleshooting of systems.
17.
Communicate project
information through presentations, technical reports or white papers.
18.
Configure servers to
meet functional specifications.
19.
Develop or approve
project plans, schedules, or budgets.
20.
Direct the analysis,
development, and operation of complete computer systems.
21.
Establish functional
or system standards to ensure operational requirements, quality requirements,
and design constraints are addressed.
22.
Monitor system
operation to detect potential problems.
23.
Provide guidelines
for implementing secure systems to customers or installation teams.
24.
Define and analyze
objectives, scope, issues, or organizational impact of information systems.
25.
Develop system
engineering, software engineering, system integration, or distributed system
architectures.
26.
Perform ongoing hardware
and software maintenance operations, including installing or upgrading hardware
or software.
27.
Research, test, or
verify proper functioning of software patches and fixes.
28.
Train system users in
system operation or maintenance.
29.
Develop
application-specific software.
Memory Mapping
A memory map is a massive table that comprises complete information
about how the memory is structured in a computer system. A memory map works
something like a very large office organizer. In the map, each computer file
has a unique memory address reserved especially for it, so that no other data
can inadvertently overwrite or corrupt it.
In order
for a computer to function properly, its operating system must always be able
to access the right parts of its memory at the right times. When a computer
first boots up (starts), the memory map tells the OS how much memory is
available. As the computer runs, the memory map ensures that data is always
written to, and read from, the proper places. The memory map also ensures that
the computer's debuggers can resolve memory addresses to actual stored data.
Taxonomy of Computer
Flynn Taxonomy:
The four
classifications defined by Flynn are based upon the number of concurrent
instruction (or control) and data streams available in the architecture:
Single Instruction, Single Data stream (SISD)
A
sequential computer which exploits no parallelism in either the instruction or
data streams. Single control unit (CU) fetches single Instruction Stream (IS)
from memory. The CU then generates appropriate control signals to direct single
processing element (PE) to operate on single Data Stream (DS) i.e. one
operation at a time
Examples
of SISD architecture are the traditional uniprocessor machines like a PC
(currently manufactured PCs have multiple processors) or old mainframes.
Single Instruction, Multiple Data streams (SIMD)
A computer
which exploits multiple data streams against a single instruction stream to
perform operations which may be naturally parallelized. For example, an array
processor or GPU.
Multiple Instructions, Single Data stream (MISD)
Multiple
instructions operate on a single data stream. Uncommon architecture which is
generally used for fault tolerance. Heterogeneous systems operate on the same
data stream and must agree on the result. Examples include the Space Shuttle
flight control computer.[citation needed]
Multiple Instruction, Multiple Data streams (MIMD)
Multiple
autonomous processors simultaneously executing different instructions on
different data. Distributed systems are generally recognized to be MIMD
architectures; either exploiting a single shared memory space or a distributed
memory space. A multi-core superscalar processor is an MIMD processor.
Semantic Gap
The
difference between the complex operations performed by high-level language
constructs and the simple ones provided by computer instruction sets. It was in
an attempt to try to close this gap that computer architects designed
increasingly complex instruction set computers.
No comments:
Post a Comment