The attributes of a system visible to a programmer or that have a direct impact on the logical execution of a program
Instruction Set Architecture (ISA)
Defines instruction formats, instruction opcodes, registers, instruction and data memory
Computer Organization
The operational units and their interconnections that realize the architectural specifications
IBM System/370 architecture
Introduced in 1970, offered various models to suit different needs
Customers could start with a basic model and later upgrade to faster ones without losing their software investments
IBM continually improved technology while retaining the same architecture, ensuring software compatibility and protecting customer investments
Today, with enhancements, the System/370 architecture remains the foundation of IBM's mainframe product line
Microcomputers
The relationship between architecture and organization is very close
Computers
Complex systems with millions of electronic components
Hierarchical nature - comprised of interrelated subsystems, each containing lower-level subsystems, eventually reaching elementary components
Facilitates design and description - designers focus on one level at a time, behavior at each level depends on a simplified representation of the next lower level
Emphasis on structure and function at each level
4 basic functions a computer can perform
Data processing
Data storage
Data movement
Control
Simple Single-Processor Computer
Central Processing Unit (CPU) controls operation and handles data processing
Main Memory stores data
Input/Output (I/O) manages movement of data between computer and external environment
System Interconnection allows communication between CPU, main memory, and I/O
Major structural components of CPU
Control Unit manages CPU operation and entire computer
Arithmetic and Logic Unit (ALU) handles data processing tasks
Registers provide internal storage for CPU
CPU Interconnection enables communication between control unit, ALU, and registers
Multicore Computer Structure
Central Processing Unit (CPU) fetches and executes instructions
Core is an individual processing unit on a processor chip, can function similarly to a CPU in a single-CPU system
Processor is a physical silicon piece containing one or more cores
Motherboard Components
Printed circuit board (PCB)
Chips - integrated circuits made of semiconducting material
Processor chip - contains multiple cores and L3 cache
Core Functional Elements
Instruction logic - fetches and decodes instructions
Arithmetic and logic unit (ALU) - performs operations
Load/store logic - manages data transfer
Cache Memory
L1 cache includes instruction cache (I-cache) and data cache
L2 cache often split between instruction and data caches or combined
Motherboard for a computer with two Intel Quad-Core Xeon processor chips
Motherboard Components
PCI-Express slots for high-end display adapter and additional peripherals
Ethernet controller and ports for network connections
USB sockets for peripheral devices
Serial ATA (SATA) sockets for disk memory connection
Interfaces for DDR main memory chips
Intel 3420 chipset for I/O control and direct memory access operations
L3 control logic manages traffic between cache, cores, and external environment
Storage control (SC) logic between cores and L3 cache
Memory controller (MC) function controls external memory access
GX I/O bus manages interface to channel adapters for I/O access
IBM z13 Core Layout
ISU (Instruction Sequence Unit)
IFB (Instruction Fetch and Branch) and ICM (Instruction Cache and Merge)
IDU (Instruction Decode Unit)
LSU (Load-Store Unit)
XU (Translation Unit)
PC (Core Pervasive Unit)
FXU (Fixed-Point Unit)
VFU (Vector and Floating-Point Units)
RU (Recovery Unit)
COP (Dedicated Co-processor)
L2D (2-MB L2 data cache)
L2I (2-MB L2 instruction cache)
IAS Computer
First-generation computer using vacuum tubes for digital logic and memory
Prototype of all subsequent general-purpose computers
Implemented stored-program concept by John von Neumann at Princeton Institute for Advanced Studies
IAS Computer Structure
Main memory stores data and instructions
Arithmetic and Logic Unit (ALU) operates on binary data
Control unit interprets and executes instructions
Input-output (I/O) equipment managed by the control unit
Stored-Program Concept (Von Neumann)
Central Arithmetic Unit (CA) for arithmetic operations
Central Control (CC) for proper sequencing of operations
Memory (M) for storing instructions and data
Input (I) and Output (O) organs for sensory and motor functions
IAS Computer Operation
Memory consists of 4,096 storage locations, each storing 40 binary digits (bits)
Control unit fetches and executes instructions from memory
Control unit and ALU contain registers: Memory Buffer Register (MBR), Memory Address Register (MAR), Instruction Register (IR), Instruction Buffer Register (IBR), Program Counter (PC), Accumulator (AC), Multiplier Quotient (MQ)
Instruction cycle consists of fetch and execute subcycles, controlled by electronic circuitry
IAS Computer Instructions
Data transfer: Move data between memory and ALU registers
Unconditional branch: Change instruction sequence
Conditional branch: Decision points
Arithmetic: Operations performed by ALU
Address modify: Compute addresses in ALU
Gates and Memory Cells
Fundamental components of digital computers
Gates implement Boolean or logical functions, controlling data flow
Memory Cells store one bit of data each, enabling data storage
Functions: Data Storage, Data Processing, Data Movement, Control
Transistors
Building blocks of digital circuits used in processors, memories, and digital logic devices
Made of silicon or other semiconducting material capable of changing electrical state when pulsed
Can be conductive or non-conductive, controlling current flow based on applied voltage to the gate
Microelectronic Chips
Integrated Circuits (ICs) exploit semiconductor properties to fabricate entire circuits on small silicon wafers
Integration of transistors, resistors, and conductors into a single chip
Allows for mass production of transistors simultaneously on a wafer
Silicon wafer divided into small areas, each containing an identical circuit pattern
Chips comprise numerous gates, memory cells, and input/output points
Packaged in housing with pins for attachment to external devices
Evolution of Integrated Circuits
Initially, only a few components could be reliably manufactured together (Small-Scale Integration - SSI)
Over time, advancements led to increased component density on chips
Moore's Law - predicted doubling of transistor count on a chip every year, sustaining a rapid pace of technological advancement
Multichip Module (MCM)
Developed to meet the demand for denser and faster memories, offering a compact packaging approach
Decrease average spacing between Integrated Circuits (ICs) in an electronic system
MCM: Chip package containing multiple bare chips mounted closely on a substrate, interconnected by conductors within the substrate to enhance performance and reduce noise
Classification of MCMs by Substrate
MCM-L: Metal traces on stacked organic laminate sheets
MCM-C: Metal patterned and interconnected on co-fired ceramic layers
MCM-D: Vapor-deposited, patterned metal layers alternating with dielectric thin films
MCM Architecture
Integrated circuits: Bare chips mounted on/in the surface of the substrate
Level-1 interconnections: Paths between chips within the substrate
Substrate: Common base providing signal interconnections and mechanical support
MCM package: Offers protection, heat removal, and interconnections
Level-2 interconnections: Interface to the printed circuit board where MCM is mounted
Intel x86 Architecture
Represents the evolution of complex instruction set computers (CISCs) and incorporates design principles from mainframes and supercomputers
Evolution includes 8080, 8086, 80286, 80386, 80486, Pentium Series, Pentium Pro, Pentium II, Pentium III, Pentium 4, Core Series, Core 2
Maintains backward compatibility throughout architectural changes, ensuring programs written for older versions can execute on newer ones
Embedded Systems
Electronics and software integrated into products, distinct from general-purpose computers
Tightly coupled to their environment, often imposing real-time constraints due to interactions with the external world
Interface with external environment through sensors and actuators, making them reactive systems
Human interface can range from simple flashing lights to real-time robotic vision, sometimes lacking a human interface altogether
May include special-purpose hardware like FPGA
Embedded systems
Electronics and software integrated into products, distinct from general-purpose computers like laptops or desktops
Billions of embedded computer systems are produced annually, present in various devices ranging from cell phones and digital cameras to home appliances and automotive systems
Virtually all electric-powered devices are expected to incorporate embedded computing systems in the near future
Characteristics of Embedded Systems
Tightly coupled to their environment, often imposing real-time constraints due to interactions with the external world
Interface with external environment through sensors and actuators, making them reactive systems
Human interface can range from simple flashing lights to real-time robotic vision, sometimes lacking a human interface altogether
May include special-purpose hardware like FPGA or ASIC to enhance performance or reliability
Software typically has fixed functionality tailored to the specific application
Optimized for efficiency in terms of energy consumption, code size, execution time, weight, dimensions, and cost
Similarities to General-Purpose Computers
Ability to field upgrade software for bug fixes, security enhancements, and additional functionality, even in fixed-function software
Emergence of embedded system platforms supporting a wide variety of applications, such as smartphones and smart TVs
Internet of Things (IoT)
The increasing interconnection of smart devices, spanning from appliances to tiny sensors
Key aspect of IoT
Incorporation of short-range mobile transceivers into various gadgets, enabling communication between people and things, and between things themselves
Billions of industrial and personal objects are interconnected via the internet, often facilitated by cloud systems
Objects deliver sensor data, interact with their environment, and sometimes self-modify to manage larger systems like factories or cities