Digital Logic, Memory, and CAN Bus Communication Principles
Computer Fundamentals and Signal Processing
Defining a Computer System
A computer is a physical form for information processing. It takes data, adapts and compares it, and then generates signals for actuators.
Four Basic Functions of a Computer
- Input (Entry): This is a voltage signal sent by a sensor or switch.
- Processing: The input signal is compared with programmed instructions. Logic circuits transform the input entries into the required output order.
- Storage: Data is stored for comparison with current
Understanding CPU Registers, Instructions, and Addressing Modes
CPU Registers and Architecture Fundamentals
General Purpose Registers (GPRs)
These 16-bit registers are typically used for arithmetic and data manipulation:
- AX (Accumulator): Used for main arithmetic operations, disk I/O, multiplication and division instructions, and decimal corrections.
- BX (Base): Serves as the base register for memory addresses referenced indirectly.
- CX (Counter): Primarily used as a counter in loops and repetitive string operations.
- DX (Data): Used in conjunction with AX during multiplication
Distributed Systems: Concepts, Protocols, and Architectures
Fundamentals of Distributed Systems
Distributed Mutual Exclusion
Distributed mutual exclusion algorithms coordinate access to shared resources in a distributed system, ensuring only one process uses the resource at a time. Unlike centralized systems, there is no single coordinator. These algorithms rely on message passing among processes to achieve mutual exclusion.
Approaches include:
- Token-Based: A unique token grants access to the critical section.
- Non-Token-Based: Processes request permission using
Essential Computing Concepts: Protocols, Security, and Parallelism
Email Retrieval Protocols: POP3 vs. IMAP
POP3 (Post Office Protocol version 3) and IMAP (Internet Message Access Protocol) are fundamental email retrieval protocols used by email clients to access messages from a mail server.
POP3 (Post Office Protocol version 3)
- Downloads emails from the server to the local device.
- Usually deletes them from the server, making emails accessible only on that specific device.
- Pros: Simple, uses less server storage.
- Cons: Not ideal for accessing mail from multiple devices.
Essential Algorithms and Data Structures Reference
Asymptotic Notation (Growth Rates)
- O(f(n)) – Upper Bound (Worst Case)
- Ω(f(n)) – Lower Bound (Best Case)
- Θ(f(n)) – Tight Bound (Exact)
Growth Rate Hierarchy
O(1) < O(log n) < O(n) < O(n log n) < O(n2) < O(2n) < O(n!)
Sorting Algorithms – Time Complexities
| Algorithm | Best Case | Worst Case | Stable | In-Place |
|---|---|---|---|---|
| Bubble Sort | O(n) | O(n2) | Yes | Yes |
| Selection Sort | O(n2) | O(n2) | No | Yes |
| Insertion Sort | O(n) | O(n2) | Yes | Yes |
| Merge Sort | O(n log n) | O(n log n) | Yes | No |
| Heapsort | O(n log n) | O(n log n) | No | Yes |
| Quicksort | O(n log n) | O(n2) | No | Yes |
Search
Read MoreArduino Programming Essentials: Logic & Control Flow
Digital Read Serial Example
This section presents an Arduino sketch demonstrating how to read a digital input and print its state to the Serial Monitor.
/*
Leen - Digital Read Serial - May 13
DigitalReadSerial
Reads a digital input on pin 2, prints the result to the Serial Monitor
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/DigitalReadSerial
*/
// digital pin 2 has a pushbutton attached to it. Give it a name:
int pushButton = 4;
// the Read More
