• Post category:StudyBullet-3
  • Reading time:15 mins read


Master Digital Electronics and Robotics. Go from Zero to building a real CPU !

What you will learn

Fundamental concepts in digital electronics

How a CPU works by building one from 0

How microprocessors and microcontrollers work and the difference between the two

How softwares are loaded and executed on a microprocessor and a microcontroller

Key building blocks of designing a CPU, a microprocessor and a microcontroller

Memory types like Register, Cache, RAM, SRAM, DRAM, ROM, EEPROM and Flash

The different peripherals that exists in both microprocessor and microcontroller

How has technology progressed starting from the 18th century up to 2022

The different communication protocols that are extensively used in a microcontroller

How operating systems (OS) work and why we need them in the first place

The concepts you will learn can be applied in Robotics, Embedded Software Engineering, Computer Science and of course, Electronics

A solid foundation in the area of digital electronics on which it’s easy to build and fruther grow your knowledge

Description

Welcome to Crash Course Digital Electronics!

CAUTION: If you don’t like history, in particular, you are not interested in finding out how the technology has evolved from ancient programming methods to high-level programming languages, or how we scaled from Intel 4004 (first MPU in the world) with a transistor count of just 2300 to modern microprocessors like the M1 microprocessor with a transistor count of a whopping 16 billion, then this course is not for you.

This course was developed to teach not only how the fundamental parts of digital electronics work, but how on earth we have reached to build such amazing things? We are going back all the way to 1839 to the Jacquard machine which is considered as the first programmable mechanical computer that was programmed using punch cards, all the way to modern compilers, programming languages, microprocessors, microcontrollers, and operating systems.

All the tutorials are built using animation techniques to illustrate the concepts and for ease of understanding (I’m not the best animator by far, but I’m trying really hard !).


Get Instant Notification of New Courses on our Telegram channel.


Your knowledge will be tested! – After finishing a chapter, you will be given a quiz with a plethora of questions (including images and diagrams) you will need to answer. If you get them right, you can be confident that you have understood what I had to say in that chapter.

Overall what you will learn after finishing this course :

– the basics of digital electronics

– how positive/negative numbers, floating-point numbers, characters are encoded in binary

how a CPU works by building one from SCRATCH!

– how a program is executed on a CPU

– how to build an external RAM, starting from a 1-bit memory cell and how to scale it up to a bigger one

– the difference between a CPU, a Microprocessor and a Microcontroller

– how a Microprocessor and a Microcontroller works

– the multitude of internal peripherals that can be found inside a modern Microprocessor and a Microcontroller

– how a compiler works, including linker and linker script file

– how to program a microcontroller

– how the different communication protocols work in a microcontroller

– how does an Operating System works and why do we need them

REMEMBER… I’m so confident that you’ll love this course that we’re offering a FULL money-back guarantee for 30 days! So it’s a complete no-brainer, sign up today with ZERO risk and EVERYTHING to gain.

English
language

Content

The Basics of Digital Electronics
Analog vs Digital Electronics
Logic States
Binary Numbers (Conversions and MSB/LSB)
Test your knowledge !
Logic Gates
Introduction (From Vacuum Tubes to Transistors)
Fundamental Logic Gates – Part I
Fundamental Logic Gates – Part II
Test your knowledge !
Negative and Floating Point Numbers, ASCII , UNICODE
Introduction (Negative Number Representation)
Floating Point Numbers and Letters
Test your knowledge !
Boolean Arithmetic Using Logic Gates
Arithmetic Logic Unit (ALU) -Intro
Half-Adder
Full-Adder
8-Bit Adder
Logic Unit (ALU)
Test your knowledge !
Registers and RAM
Introduction
AND-OR Latch (Storing 1 Bit)
Gated-Latch
Register Structure
Building an SRAM
Test your knowledge !
Central Processing Unit – CPU
CPU-Introduction
Fetch-Decode-Execute Phase
Running our first program
Final Touch – Adding Clock !
Test your knowledge !
More advanced Instruction Set
4-bit Instruction Set: LOAD, ADD , STORE instructions
Adding more instructions
Adding Conditional Instructions
Test your knowledge !
Advanced CPU Design
Cache Memory – Introduction
Cache Memory – How it Works
Instruction Pipelining
Hazard 1: Out-Of-Order Execution
Hazard 2: Speculative Execution
Superscalar Processor
Multi-Core CPUs
Test your knowledge !
Early Computers and CPU Architectures
Earliest form of programming (Punch Cards)
Plug Boards and Memory
CPU Architecture – Von Neumann
CPU Architecture – Harvard
Punched Card Reader
Panel Programming
Test your knowledge !
How Programming Languages Were Born
Opcodes and Memory
Machine Language
Assembly Language and Assembler
First high-level programming language (A-0 system)
High-level Programming Languages (Fortran and C)
Compilers (Write Once, Run Anywhere)
Test your knowledge !
Integrated Circuits
Integrated Circuits – How were they born
Printed Circuit Boards – PCB
Photolithography – How it works
Photolithography – Part II
TTL Inverter (Transistor-transistor Logic)
BJT Transistor- Current Controlled Devices
MOSFET – How does it work ?!
TTL vs CMOS Technology
Evolution of ICs from 1940 to 2021
Test your knowledge !
Microprocessors – General Overview
CPU vs Microprocessor: What are the differences ?
Instruction Set
Instruction Set Architecture
RISC vs CISC Marketing Disinformation !
CISC (Complex Instruction Set Computing)
RISC (Reduced Instruction Set Computing)
Test your knowledge !
Microcontrollers
Microprocessor vs Microcontroller – What’s the difference
Flash , RAM and EEPROM Memory
Memory Layout (.text .rodata .stack)
Memory Layout (.heap .bss .data)
How does your program gets loaded into the microcontroller ? (Compilation Steps)
Linker Script File
Microcontroller Peripherals
Voltage Divider and Potentiometer
Analog to Digital Converter (ADC) – Programming Aspect
Multiple Input Logic Gates
Operational Amplifier (Op-Amp)
Flash ADC- The fastest of all.
Arduino UNO (ATmega328P) – Pinout and Technical Specifications
LED Current Limiting Resistor Calculation
Digital I/O Pins
CMOS vs ATmega328 vs TTL Logic Levels
Pull-up and Pull-down Resistors / INPUT_PULLUP
Test your knowledge !
Serial Communication Protocol
UART (Universal Asynchronous Receiver-Transmitter)
Arduino to Arduino Communication
UART Frame , Parity and Sync vs Async Protocol
UART on Hardware Level
What’s wrong with UART? Say hi to SPI!
SPI – How does it work ?
SPI – Multiple Slaves/Peripherials
SPI – Tips and Tricks
Disadvantage of UART and SPI
I2C- Best of both worlds !
I2C – Slave/Peripheral Addressing
I2C – Frame explained
I2C – Programming and Datasheet Overview Part 1
I2C – Programming and Datashet Overview Part II
Test your knowledge !
Operating Systems – OS
Why we need operating systems
OSs and Device Drivers
Preemptive Multitasking
System calls. What are they?
How memory allocation happens in a OS environment ?
Virtual Memory
Test your knowledge !
Final thoughts.