Advanced Data and Computer Architecture and Technology

Computer Hardware and System Software

This chapter takes us through computer systems architecture and the constituent components that make up a computer. It introduces one to the functions of the component parts and how each part and system organization. Ideally, computer architecture constitutes hardware that acts as a platform for systems software and network components. In addition to that, it details the internal workings of system components spanning the central processing unit (CPU) among others besides explaining their processing abilities (Burd, 2008).

Computers and their capabilities

A computer is an electronic device that accepts numeric data inputs computes the data and communicates the output into the console unit. Computers execute these tasks electronically or mechanically. This is achieved by storing data in optical discs and other forms of storage. Computers combine electrical and mechanical techniques in executing assigned tasks. Computers can either be electronic or mechanical.

The mechanical approach of performing computations is limited in terms of the complexity that is urged upon their construction, wear and tear of mechanical components and associated maintenance requirements, and the slow operating speeds associated with these computations.

On the other hand, computations can be executed electronically. Electronic signals replace the complex system of gears and wheels in mechanical systems. Electronic computations outdo mechanical computations in terms of speed, efficiency, cost, and implementation.

Besides mechanical and electronic computations, optical computations can be used to perform computations on data. This is based on the concept of the particle nature of light. Data exists in the form of light. Different areas have seen exponential growth of the use of light in different devices with much success. It is projected that optical computing will in the end overtake electronic computing (Burd, 2008).

Having compared different computational models, an in-depth look into the abilities of modern computers is inevitable. Computers classifications depend on the key characteristics of the processing hardware. The processing hardware, referred to as the processor manipulates data by performing mathematical computations such as additions, subtractions, comparisons, and moves data from memory between input storage devices and output devices. The processor achieves these through instructions that are fetched and executed by the processor. These instructions are commonly referred to as computer programs.

Processors accept instructions that direct them to perform specific tasks. These processors are classified into special-purpose and general-purpose hardware. Special-purpose processors perform special tasks while general-purpose processors perform different tasks. These computational technologies are based on the principles of classical physics. These principles have their basis on the behavior of matter at atomic and subatomic levels. Burd (2008) argues that with advances in physics, data is represented in bits and bytes in modern computers. In addition to that modern computers have huge information storage capacities. Information is stored in the form of data, programs, and results obtained from processed data.

Computer Hardware

Hardware acts as a platform for data and information processing in computers. Computer hardware provides computational abilities of processing data and information by accepting inputs and computationally transforming these inputs into outputs. These outputs are meaningful and can elicit an action (Burd, 2008). In addition to that, the hardware provides a platform for short-term and long terms storage of data.

Besides that, these computers act as communication channels from and to the outside world. In addition to that, computers enable data and information transfer between different hardware devices and coordinate the communication between a computer and its peripheral devices. These hardware parts constitute the central processing unit which manipulates data and programs by accessing information and data from temporary storage devices or permanent storage devices. The CPU works due to the coordination of the arithmetic logic unit, the control unit, and the memory registers.

The arithmetic logic unit’s architecture is primarily composed of electronic circuits through which data flows. This data is basically stored in registers whose capacity is a single bit of data. On the other hand, the control unit coordinates data communication between different hardware storage devices and the CPU and identifies program instructions, fetches them and issues relevant commands to the ALU to execute them(Burd, 2008).

Other hardware devices include the system bus that provides a path through which data flow to different destinations. In addition to that, hardware devices include primary storage devices that hold data for temporary data and information commonly referred to as random access memory (RAM). Other areas of data storage include secondary storages devices for long term data and program storages. Therefore these devices are slower and less expensive than primary storages devices. A computer system becomes complete with input and output devices referred to as I/O devices. These provide a good interface for computers to communicate with them and either access or transfer data and information into these devices. These computers can be classified into laptops, notebooks, and personal digital assistants.

System software

System software is used to capture user’s instructions and translate them for execution in the CPU. These instructions are usually translated from human readable and understandable languages to machine readable instructions that are represented in the computer as bits and bytes. Burd (2008) argues that high level abstractions are translated into low level details through system software. System software manages and allocates computer resources and performs tasks needed by various applications to run efficiently (Burd, 2008).

System software typically provides services requested by the user. These may include supporting end users, controlling user interactions, system security, detecting and throwing error conditions, and controlling input and outputs operations. These services optimize a variety of system software layers. These include the hardware interface layer, resource allocation layer, system management layer, and system services layer. One of the system software that provides system services is the Operating system. It is a platform upon which other programs run.

System software

Foundation of Technical Knowledge

This chapter provides foundational knowledge on processors, computer devices and the protocol of communication between the devices, input and output devices, and data presentation and communication between different devices.


Processors are architecturally characterized by interconnections of millions of circuits that are burned into single chips. Different processors manipulate data differently. Among these are multicore processors that are embedded in a single chip based on the multicore architecture. Different processor compartments are divided into different cache areas with different functionalities and capabilities. This also depends on the manufacture (Burd, 2008).

Data and Networks

Data is stored in a variety of ways and communicated through network devices. Data representation and processing is logical and mathematically manipulated. Data storage and representation in a computer optimizes binary rules. Binary data is well mapped into Boolean logic. Besides that, data storage and processing can be in hexadecimal and octal. This ensures data compactness and range, accuracy, flexibility in manipulations, and complete standardizations.

Data types can be integers, Booleans, among others. In addition to that, data communication though networks follows standards that have been established by various international organizations (Burd, 2008). To sum it all, data in all computing devices is represented in 0s and 1s. The CPU recognizes and processes these primitive data types that are categorized into characters, Boolean values, integers and real numbers. These representations of data follow standard protocols established by the IEEE.

Data structures define data storage formats. Different algorithmic approaches are used to optimize access to data stored different data structures. Software developers make extensive use of pointers and arrays and lists to access data stores. Data stores can be formatted as files that are defined by primitive data elements that are organized and accessed through a specified sequence of steps. However, sequential access methods suffer from inefficient time optimization in accessing data elements. A linked list is a data structure that optimizes search for a data element in a more efficient way and is less time consuming.

Data storage and presentation and access is defined by data structures such as pointers and addresses, arrays and lists, and records and files. Other data structures include classes and objects. An example of a customer class is illustrated below.

Data and Networks

System Integration and Performance

The system bus is the backbone to a functioning system as it’s the one to which different components and peripheral devices are ported. Communication protocols and data transfer rates are determined by a host of bus attributes as discussed hereunder.

Integration and Performance

A focus on how computer devices coordinate their operations affords this discussion. Among them is the system bus. This component has an established protocol with other computer devices and provides a link for diverse system components communications in transferring data through electrical or optical signals. The data bus translates data from and to target memory addresses by reading and identifying status information of all transmitted data, memory registers, commands, and responses (Burd, 2008). The constituency of the system bus is composed of the data bus, control bus, and address us. The system bus circuitry has evolved from wired to data communication lines.

Devices ported to the system bus coordinate their activities by a bus clock with bit rates of the magnitude of 2.5 nanosecond and a data transfer rate of 3200,000,000 byte per second. Coordination of data and devices is done through a bus protocol. This protocol governs data formatting and representation, controls system usages and messages sent, and identifies data and its contents and requisite memory addresses. Bus cycles and device controls based on system bus protocols decrepit system optimization in data transfer rates. However efficient protocols optimize system capacity and provide faster data transfer rates between different devices (Burd, 2008).

The performance of each bus protocol depends on the strategy used to access data, transfer data, and store temporary data files. Such control devices include direct memory accesses (DMA) and the DMA controller. The DMA controller is the master of the data bus. In addition to that, various types of data buses exist. Among them are video buses, I/O bus among others. Information on various types of devices and buses can be accessed from the device manager.

The data bus provides access to information through logical and physical mechanisms. Various devices are ported to the data bus to provide data conduits for information flow and storage (Burd, 2008). In addition to that, device controllers implement interface and access protocols, control system access by different components, and provide mechanisms of physical data translations. Other devices of vital importance are interrupt handlers that listens and handles interrupts and calls for services. These handlers report error conditions, service requests, and I/O tasks.

Other protocols handle performance mismatches, buffering and caching, sand tack processing.

Integration and Performance

Input/ Output Technology

These technology spans devices that organizations use to capture data and information for processing and methods of outputting processed data for organizational use. Basic concepts output and input capture concepts are covered here. Devices covered include videos, optical scanners among others.

The computer system bus architecture hosts input output devices that are largely categorized into human and computer devices. These can be modems, keyboards or printers. Data transfer between the system bus and these devices is governed by system bus protocols. Input and output devices optimize basic display concepts that range from image compositions that are matrix oriented which are characterized by display resolutions (Burd, 2008). These include fonts and their sizes, color, image storage and communication, video displays, image description technologies. Other output devices include barcode readers and scanners.

These devices detect specific data patterns in an item for a large number of items within a short span of time. In addition to that, an optical scanner generates a map typical of a printed page. These scanners rely on photoelectric sensitivity to different frequencies of light. They integrate pattern searching abilities with special purpose software to read and print a block of data. On the other hand, data capture devices integrate capabilities of input output devices and computer enabled communication channels. The diagram below illustrates typical components of the CPU.

Input/ Output Technology

Foundational knowledge on System analysis, design, configuration, procurement, and management

System development methodologies particularly for large systems, system configuration, and acquisition are discussed below.

Foundational knowledge on System analysis, design, configuration, procurement, and management

Above illustration designates disciplined system and software development methodology for large systems. Business modeling techniques and requirements gathering and specifications model the basis of developing and configuring large systems. On the other hand, the design discipline provides an architectural framework of the new system. Architectural limitations and detailed design specifications are identified and incorporated as illustrated below.

Foundational knowledge on System analysis, design, configuration, procurement, and management

A complete system is follows disciplined and benchmarked implementation and testing strategies defined against organizational goals.

System installation and configuration leads to system operability. Each part of the deployment and configuration process is done by specialized personnel. That is followed by system evaluation and maintenance spanning post implementation issues.

Acquiring and configuring technological devices

The configuration and procurement strategies are technically complex feats to accomplish. The process depends on organizational computational needs and can be a choice based on a wide variety of software and hardware available in the market today. Organizational policies also play role in the procurement process.

Managing computer resources

Managing computer resources and resources is based on different personnel and their roles. These include software developers, who develop applications and system software, hardware personnel, and system managers. These roles are played well based on information obtained from periodicals, vendor and manufacturer websites, technology oriented websites, and professional societies.

Data Storage Technologies

This chapter focuses on characteristics of input and output devices, their functionalities, cost, access methods, portability, speed, memory types, volatility and capacity. In essence, storage devices are spread into primary and secondary with characterizing storage component parts.


One of the characterizing marks of a storage device is volatility. Highly volatile devices hold data for a short period while nonvolatile devices hold data for a long period. Non-volatility distinguishes secondary devices from primary devices that are highly volatile. Burd (2008) argues that data access is characterized by serial, parallel, or random. Serial access is linear and sequential therefore painfully slow, while random access methods are optimal since they follow no predefined sequence in accessing data. On the other hand, parallel access affords is characterized by direct and multiple access data.

Speed characterizes secondary and primary devices. While primary storage hold small amounts of data in registers, secondary storage deals with the transfer and writing of large amounts of data. Characteristically, secondary devices are slower than primary devices. This is also due to the time difference between access and loading of data to the target destination. Cost for these data storage devices appreciates as speed increases. Secondary devices are portable and can be ported and removed at will from the target computer (Burd, 2008).

Primary Devices

Primary devices have speeds that match that of the CPU for data synchronization during the fetching and execution cycles of the CPU. Burd (2008) asserts that data transfer within these components optimizes digital signal. Access to specific memory locations optimizes different algorithmic strategies. These are defined by clock rates measures in hertz. Primary storage has evolved from SDRAM to DRAM with characteristic speeds. Current devices are smaller, faster, and employ strategies faster storage capabilities and concepts.

Memory Access

As highlighted above, memory access typically relies on the type of storage device, speed of data transfer, and the technology involved in the process. These also rely on the type of memory. Secondary devices are slower and register a time difference between fetch and executing cycles while primary devices are faster as their speeds closely match that of the CPU. That greatly influences the performance of a computer. Among the memory types involved include pre-charge memory, magnetoresistive memory among others. Technologically, memory can be packages using different strategies. These include SIMM, DIPs and DIMM. Memory access is achieved through logical and physical methods.


Magnetic storage devices complement electrical and magnetic concepts in their design and development. Despite the fact that magnetic components suffer from magnetic leakages, these devices are popularly used today. These include magnetic tapes which optimize serial data access that makes it seriously slow. However, other magnetic devices provide long term data storages and are popularly in use today. These include hard disks. Data can be accessed from hard disks through serially or otherwise (Burd, 2008). These disks arrange data in tracks called sectors. These arrangements largely determine data access efficiency.


Optical storage technology has been on the rise in the recent past. These are in the form of CDs and DVDs. Data storage is in light variables. In addition to that, other mechanisms involved include photoelectric cells on highly reflective materials. Optical storage devices include CD-ROMs, DVD-ROMs, and BDs. Each of these devices has its identifying characteristics. The table below compares storage types.

Storage Implementation approach Content Quantity, typical of the storage type
CPU registers High-speed, within the CPU Current instructions and programs A few dozens
Primary Fast electrically driven devices in the CPU (RAM) Executes input and output instructions and data. A few to several hundreds of instructions
Secondary Low speed devices Data and programs not currently in use. Billions of instructions

In addition to that, computer systems are classified into microcomputers for single users, portable computers such as laptops, midrange computers for multiple users, mainframe computers for large organizations, and supercomputers for rapid mathematical manipulations (Burd, 2008).

Developing, Managing and Sizing Architectures for Large Organizations

Large organizations incorporate division of labor, are complex and large. To develop, manage, and size the architecture of these organizations, a application development manager should identify and define roles and responsibilities of the staff, critically measure the input and output deliverables, ensure system development methodologies are adhered to in the development process, and that sound management principles are upheld in the development process.

Getting Started

Some of the basic considerations in developing these systems include identifying the information architecture of the target organization. That is in addition to identifying roles and responsibilities of the chief technology officer who defines the architecture map to be followed in the development process. The number of systems that interact within and outside of an organization determines the level of security to be incorporated in the design process. Other responsibilities include system auditing, business control and project management.

The chief technology officer in collaboration with other organizational managers outlines technical requirements in relation to organizational needs. An organization’s needs and information architecture, budget, and skilled personnel are among organizational requirements in developing large systems. That is the case with large systems whose scope covers more than 14 cities.

Large organizations require systems that support and coordinate their activities and provide real time communication between these cities. Therefore, hardware and software requirements should be carefully evaluated to determine their relevance. Software development methodologies incorporated in system development should characterize large systems in terms of hardware architecture and software modules and storage capabilities.

Other issues to consider include the size of the organization, data processing requirements, data storage, access, and retrieval requirement, different hardware vendors, and budgetary allocations.


Burd, S. D. (2008). Systems Architecture. New York. Vikas Publishing House.