This repository is created to document the learning process about the internal Organization and Architecture of a PC, as well as the use of the Assembly programming language, which is the closest to machine language.
-
Computer Organization.
- Introduction to Computer Organization - Basic Hardware.
- History of Computing - Early Developments and 20th Century Advances.
- Number Systems - History, components, and operations.
- Deep Dive into von Neumann Architecture - ALU, CU, Registers, and Instruction Cycles.
-
Computer Architecture.
-
Assembly Language Programming.
Computer organization refers to the structure and behavior of the physical components of a computer. This includes basic hardware such as the CPU, memory, and input/output devices. In this section, we will explore how these components interact with each other and how they are managed to perform computational tasks.
Computer architecture focuses on the conceptual design and operational structure of computer systems. Unlike computer organization, which deals more with physical aspects, computer architecture is concerned with how systems are designed and optimized to improve performance and efficiency. Here we will discuss topics such as instruction sets, CPU architecture, and optimization techniques.
Assembly is a low-level programming language used to write programs that are very close to machine language. Unlike high-level languages, Assembly allows precise control over the computer hardware, making it ideal for tasks that require extreme performance optimization. In this section, we will learn about Assembly syntax, how to write and debug programs in this language, and its application in systems programming.