Von Neumann model: A theoretical computer architecture proposed by mathematician and computer scientist John Von Neumann in the 1940s. This model is based on the concept of a stored program, where both instructions and data are stored in the same memory and can be accessed and manipulated by the central processing unit (CPU).
Stored Program Concept: A fundamental concept of modern computing, where both program instructions and data are stored in the same memory and can be accessed and manipulated by the CPU. This concept is central to the Von Neumann model and forms the basis of most modern computer architectures.
CPU (Central Processing Unit): The primary component of a computer that performs most of the processing and controls the operation of the computer. The CPU consists of several sub-components, including the arithmetic and logic unit (ALU), control unit, and registers.
The system bus: A communication pathway that connects the various components of a computer system, including the CPU, memory, and input/output devices. The system bus is responsible for transmitting data, instructions, and control signals between components.
The Address Bus: A component of the system bus that carries memory addresses between the CPU and memory. The address bus determines the location in memory where data or instructions will be read from or written to.
The Data Bus: A component of the system bus that carries data between the CPU and memory or other devices. The data bus is used to transfer data to and from memory, input/output devices, and other components of the computer system.
The Control Bus: A component of the system bus that carries control signals between the CPU and other components of the computer system. The control bus is used to synchronize the operation of different components and ensure proper communication.
RAM (Random Access Memory): A type of computer memory that allows data to be read from and written to randomly, meaning any location in memory can be accessed with equal speed. RAM is volatile, meaning that it loses its data when the computer is turned off.
ROM (Read-Only Memory): A type of computer memory that stores data and instructions that cannot be changed or modified by the user. ROM is non-volatile, meaning it retains its data even when the computer is turned off.
Arithmetic and Logic Unit (ALU): A component of the CPU that performs arithmetic and logical operations on data. The ALU is responsible for performing operations such as addition, subtraction, multiplication, and comparison.
Registers: A small amount of high-speed memory located within the CPU that is used to store data and instructions that the CPU is currently working on. Registers are used to store intermediate results of calculations and to hold memory addresses and instruction pointers.
PC (Program Counter): A register within the CPU that stores the memory address of the next instruction to be executed.
MAR (Memory Address Register): A register within the CPU that stores the memory address of the location in memory that the CPU wants to read from or write to.
MDR (Memory Data Register): A register within the CPU that stores the data that the CPU has just read from or written to memory.
CIR (Current Instruction Register): A register within the CPU that holds the instruction currently being executed.
IR (Index Register): A register within the CPU that holds an index or offset value that is added to a memory address to access a specific location in memory.
SR (Status Register): A register within the CPU that holds flags indicating the current state of the CPU, such as whether an arithmetic operation resulted in a zero value or whether an overflow occurred.
The fetch decode execute cycle: The basic sequence of operations that the CPU performs when executing an instruction. This cycle consists of three stages: fetching the instruction from memory, decoding the instruction to determine the operation to be performed, and executing the instruction.
Cache: A small, high-speed memory located within the CPU or between the CPU and memory that stores frequently used data and instructions to improve the performance of the system. The cache allows the CPU to access frequently used data and instructions quickly, without having to wait for slower main memory to retrieve the data. The cache operates on the principle of locality, where recently accessed data or instructions are more likely to be accessed again in the near future.
Assembly Language: A low-level programming language that is a step above machine code and is designed to be easily translated into machine code. Assembly language uses mnemonics to represent machine instructions, making it easier for programmers to write code that can be directly executed by the computer.
High Level Languages: Programming languages that are designed to be easy for humans to read and write, using keywords and syntax that are similar to natural language. High level languages typically require a compiler or interpreter to translate the code into machine code or bytecode that can be executed by the computer.
Low Level Languages: Programming languages that are closer to the machine code and require more knowledge of computer architecture to use. Low level languages are typically less abstract and use more direct commands and syntax than high level languages.
Machine code: The lowest level of programming language that consists of binary instructions that can be executed directly by the computer's CPU. Machine code is specific to the computer's architecture and is difficult for humans to read and write directly.
Instruction set: The set of instructions that a CPU is designed to execute. The instruction set determines the types of operations that can be performed by the CPU and the format of the machine code used to represent those instructions.
Logic Gates: Electronic circuits that perform logical operations on one or more binary inputs to produce a binary output. Logic gates form the building blocks of digital circuits and are used to construct more complex circuits such as processors and memory.
Logic Expression: A mathematical expression that represents a logical operation using logical operators such as AND, OR, and NOT. Logic expressions are used in digital circuits and programming to perform logical operations on binary values.
Boolean algebra: A branch of algebra that deals with logical expressions and values. Boolean algebra is used to analyze and design digital circuits and is the basis for many programming languages and software systems.
Primary Storage: The main memory of a computer, consisting of RAM (Random Access Memory) and other volatile memory technologies. Primary storage is used to store data and instructions that the CPU is currently processing.
Secondary Storage: Non-volatile storage devices such as hard disk drives (HDDs) and solid-state drives (SSDs) that are used to store data and programs for long-term storage. Secondary storage is typically slower than primary storage but can store much larger amounts of data.
Virtual Memory: A technique used by operating systems to simulate more memory than is physically available on a computer. Virtual memory uses secondary storage as an extension of primary storage, allowing the CPU to swap data between primary and secondary storage as needed.
Cloud Storage: A type of storage service that allows users to store and access data over the internet using remote servers hosted by third-party providers. Cloud storage services provide a convenient way to store and access data from anywhere with an internet connection and are often used for backups, file sharing, and collaboration.