Creating a Computer using Transistors and Logic gates
learn computer architecture and design at the transistor and logic gate level by creating a CPU from scratch
Description
only by doing you could truly understand the computer science.
why a computer is able to execute programs?
why could we communicate calculate using computer?
how could we build something which is able to save and process information?
AND
what do we mean by information?
how do we teach a an object, information?
what do we mean by programming languages?
and
what is the difference between computer and chairs and tables if both of them are objects?
in this course we will never take anything for granted. we start by introducing a transistor as a simple switch and create all of our computer using that simple switch. we start from beginning and work all way through to program our cpu to do some calculations and show the result over the monitor that we also create.
30 years ago the idea of a programmer was obvious. someone who completely understood everything about computer architecture and now wants to implement his ideas using programming languages for the computer to execute. but now its different.
we see a lot of people who call themselves programmers, web developers ,... but they don't know how their programs are providing the result that they want? if something goes wrong, they need to ask others or wait for the others to troubleshoot that.
because rather than why, they cared more about finding the answers of how questions.
and thats the main difference between a professional programmer, a real hacker, a good software developer and a hardware designer with a script kiddie. sometimes they say that the difference between a programmer and you, is because they are interested, but i assure you its because they know the architecture behind their codes rather than copy/pasting of it. and actually that is the reason that we see a lot of successful programmer are now that old. because instead of waiting for the experience, they know why they need that code and why that code does what it does.
What You Will Learn!
- design a cpu from scratch
- understanding how computer works in lowest level possible
- transistors and why its the main part of every digital device
- what is information in general
- concepts of bits and bytes
- different numbering systems(hex,binary and decimal)
- creating logic gates using transistors
- what do we mean by remembering information and how could we create a device which could remember information
- creating an 8-bit register using transistors
- why do we need decoders
- creating a 3x8 decoder using transistors
- why do we need multiplexers
- creating a multiplexer using transistors
- how real chips are made in the world
- how could we transfer information and the creation of bus
- how to create devices for processing data
- create an adder using transistors
- 2's complement to represent negatice numbers in binary
- create XOR and NOTer using transistors
- creating a complete ALU using transistors
- flow of data in computer
- how to create a monitor and the idea of a graphic card
- why are computers fast and powerful
- control unit and why we need it
- the instruction set architecture (ISA) of our computer
- implementing instructions for in our cpu control unit
- implementing data transfer,data manipulation and program control instructions in our working made computer in logisim
- creating a counter using transistors
- executing instructions using our computer
- executing programs with loop and if-else in our computer
- showing our complete computer at the transistor level
Who Should Attend!
- everybody who wants to know the computer architecture and improving his understanding at the transistor level
- every programmer who wants to know why computers are able to execute programs
- everyone who wants to become a hardware designer
- everyone interested in the relation and border between software and hardware