Preview
|
Title
|
Description
|

|
Road Map summary
|
We take a look at how computer architecture
is placed in the tree of knowledge
|

|
Digital Systems Summary 1/3
|
A summary of the block of lectures above
|

|
Digital Systems Summary 2/3 |
A summary of the block of lectures above
|

|
Digital Systems Summary 3/3 |
A summary of the block of lectures above
|
 |
Adders
|
Half adders and full adders as the
cornerstone of computer calculations
|

|
Ripple-carry adder
|
Ripple-carry adder. How to make an n-bit
adder from full adders. And how to turn an adder into a
subtractor |

|
Carry-look-ahead adder
|
To improve speed of calculation, instead
of 32 full adders in a ripple-carry adder, we will use 8
carry-look-ahead adders of 4 bits |

|
Left/right Shift
|
How a left/right 1-bit shifter is made |

|
(DE)MUX
|
A multiplexer (MUX) and demultiplexer
(DEMUX) |

|
(DE)CODER |
A coder and a decoder |

|
Comparator
|
A 4-bit comparator: A=B, A<B and A>B
|

|
Arithmetic and Logic Unit (ALU)
|
A look at the Arithmetic and Logic Unit
(ALU) |

|
Central Processing Unit (CPU)
|
A close look at a Central Processing Unit
(CPU) |

|
Control Logic
|
How does the control logic work inside a
CPU |

|
Multiplication
Russian-peasant algorithm |
How to go from addition hardware to a
multiplication algorithm. The Russian-peasant algorithm |

|
Division
|
A shift-compare-subtract algorithm to do
divisions with simple hardware
|

|
Karatsuba
|
Some advanced multiplication techniques.
Karatsuba algorithm (dividing large 2m bit numbers into 2
m bit numbers and doing the multiplication with them) and
the look-up-table algorithm, in fact done with only a
table of squares
|
|
Static/dynamic RAM
|
How a basic memory (RAM) chip works
|
|
Combining memory chips
|
How to join memory chips to have larger
memory size.
|
|
Information
|
The philosophical/physical aspects of
information. About the amount of information when
receiving a message and the entropy of a message before
sending it.
|
|
Physical memory organization
|
The physical organization of memory
|
|
Memory (Software aspects 1/4)
|
How is the memory in a computer organized
logically
|
|
Endianness
|
Endianness (Little endian vs. Big endian)
|
|
Memory (Software aspects 2/4)
|
More logic aspects of memory organization
are presented. Heap vs. stack. Recursivity. Garbage
collection. Global pointer, frame pointer.
|
|
Memory (Software aspects 3/4)
|
More aspects of memory organization.
Paging. Virtual memory. Memory management unit (MMU).
Assembly addressing methods
|
|
Memory (Software aspects 4/4). Overlays
|
Memory overlays
|
|
Memory: ROM
|
How ROM (read-only memory) is made and it
is compared to static and dynamic RAM
|
|
BIOS and bootstrapping
|
About the BIOS and how it can bootstrap the
computer into action
|
|
Buses and motherboards
|
How does the CPU communicate with other
components? Here we will see the hierarchy of
communication buses. We'll also take a look where all the
components are on a Motherboard
|
|
Communication
|
We will see here how in communication
bit-errors can be avoided by hardware and software.
hardware: twisted pair. Software: parity checking and
forward-error correction (FEC) using Hamming 7.4 coding
|
|
Floating point IEEE 754 (1/4)
|
How do we represent real numbers on a
computer? In comparison to integer numbers.
|
|
Floating point IEEE 754 (2/4)
|
With a limited number of digits, what are
the ranges and precision of the numbers?
|
|
Floating point IEEE 754 (3/4)
|
The IEEE 754 standard. How floating point
numbers are represented in 32 bit (single) and 64 bit
(double). Normalized and denormalized numbers. Fractions
and significands. Exponent, excess-127
|
|
Floating point (4/4). Divisions
|
How multiplications and divisions are done
on a computer. Divisions consists of finding the
reciprocal of the denominator
|
|
Floating point: Newton Raphson method
|
How to implement other mathematical
functions.
Here we will see how to use the method of Newton-Raphson
to find the square root of an argument.
|
|
Architecture examples
|
A list of items to take into consideration
when analyzing a computer architecture
|
|
Difference Engine
|
A close look at how the Difference Engine
of Charles Babbage looked (beginning of 19th century)
|
|
Intel 4004
|
A short summary of the Intel 4004
processor. Bad sound!!!
|
|
Intel 4004 (addendum)
|
Some extra features of the Intel 4004
processor described
|
|
Intel 4004 (1/2)
|
A short summary of the Intel 4004 processor
|
|
MOS 65xx (1/2)
|
It was used in the first Apple computers
and the famous Commodore C=64, but how does the MOS 65xx
family of CPUs work?
|
|
MOS 65xx (2/2)
|
How a 65xx Assembly instruction is
constructed and translated into machine code
|
|
x86 (1/2)
|
A look at the Intel x86 family of
processors
|
|
x86 (2/2)
|
A look at the Intel x86 family of
processors
|
|
AVR Atmel (Arduino)
|
A close look at the AVR Atmel used in for
instance the Arduino platform
|
|
x86 Assembly Hello World (1/3): NASM
|
How to use the NASM compiler to write an
x86 Assembly program to print "Hello World" using system
calls and interrupts (0x80)
|
|
x86 Hello World (2/3): AS
|
How to use the AS compiler to write an x86
Assembly program to print "Hello World!" using interrupts
(0x80)
|
|
x86 Assembly: Hello World (3/3): printf
|
How to use libraries from other languages
in x86 Assembly. More specifically, how to use printf to
output strings and integers
|