searchlore

Back to Resource

All Segments

Jim Keller: Abstraction Layers from the Atom to the Data Center | AI Podcast Clips

Jim Keller: Abstraction Layers from the Atom to the Data Center | AI Podcast Clips

10 segments available

Full episode with Jim Keller (Feb 2020): https://www.youtube.com/watch?v=Nb2tebYAaOA Clips channel (Lex Clips): https://www.youtube.com/lexclips Main channel (Lex Fridman): https://www.youtube.com/lexfridman (more links below) Podcast full episodes playlist: https://www.youtube.com/playlist?list=PLrAXtmErZgOdP_8GztsuKi9nrraNbKKp4 Podcasts clips playlist: https://www.youtube.com/playlist?list=PLrAXtmErZgOeciFP3CBCIEElOJeitOr41 Podcast website: https://lexfridman.com/ai Podcast on Apple Podcasts (iTunes): https://apple.co/2lwqZIr Podcast on Spotify: https://spoti.fi/2nEwCF8 Podcast RSS: https://lexfridman.com/category/ai/feed/ Jim Keller is a legendary microprocessor engineer, having worked at AMD, Apple, Tesla, and now Intel. He's known for his work on the AMD K7, K8, K12 and Zen microarchitectures, Apple A4, A5 processors, and co-author of the specifications for the x86-64 instruction set and HyperTransport interconnect. Subscribe to this YouTube channel or connect on: - Twitter: https://twitter.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - Medium: https://medium.com/@lexfridman - Support on Patreon: https://www.patreon.com/lexfridman

Segments Timeline

1
0:01 - 1:05
1:04 duration155 words

Building Computers from Atoms

Jim Keller introduces the foundational concepts of computer engineering, explaining how computers are built from the atomic level up to complex microarchitectures. He discusses the abstraction layers involved, from transistors to processing elements, and emphasizes the importance of understanding these layers in the context of computer design.

"so let's get into the basics before we zoom back out how do you build the computer from scratch what is a microprocessor what is it microarchitecture what's an instruction set architecture maybe even ..."

2
1:05 - 2:14
1:08 duration190 words

The Stability of Instruction Sets

Keller elaborates on the stability of instruction sets in computer architecture, highlighting the x86 and ARM instruction sets. He explains how these sets define basic operations and how they have remained largely unchanged over decades, allowing for consistent performance in modern computing.

"then software you know there's an instruction set you run and then there's assembly language C C++ Java JavaScript you know there's abstraction layers you know essentially from the atom to the data ce..."

3
2:14 - 3:39
1:25 duration213 words

Modern Execution Techniques

In this segment, Keller contrasts traditional and modern computer execution methods. He explains how modern computers fetch and execute instructions in parallel, optimizing performance through complex dependency graphs, and discusses the implications of these techniques on computer design.

"that's the fun you know I'm somewhat agnostic to that so I would say for relatively long periods of time instruction sets are stable so the x86 instruction said the arm instruction set was an instruct..."

4
3:39 - 5:01
1:22 duration230 words

Understanding Parallelism in Computing

Keller discusses the concept of parallelism in computing, differentiating between found parallelism and given parallelism. He explains how modern GPUs utilize parallel processing for tasks like graphics rendering, and how this differs from traditional CPU execution.

"for a simple complete clean slow computers is zero right we don't sell any simple clean computers now you can there's how you build it can be clean but the computer people want to buy that's say you k..."

5
5:01 - 6:20
1:18 duration196 words

The Complexity of Branch Prediction

This segment dives into the intricacies of branch prediction in modern processors. Keller explains how processors predict the flow of execution to optimize performance, detailing the evolution of prediction techniques from simple counters to advanced neural network-like systems.

"sentence and there's paragraphs now you could diagram that imagine you diagrams it properly and you said which sentences could be read in anti order any order without changing the meaning right so tha..."

6
6:20 - 7:35
1:15 duration205 words

The Cost of Prediction Errors

Keller highlights the consequences of incorrect branch predictions in computing. He explains how mispredictions can lead to performance penalties and discusses the complexity involved in maintaining high prediction accuracy in modern processors.

"pockets of parallelism large so how hard is it to discuss well how hard is it that's just transistor count right so once you crack the problem you say here's how you fetch ten instructions at a time h..."

7
7:35 - 9:01
1:25 duration246 words

The Evolution of Prediction Techniques

In this segment, Keller outlines the historical advancements in branch prediction techniques, from basic methods to sophisticated algorithms that leverage deep pattern recognition. He discusses the trade-offs involved in achieving higher accuracy and the implications for processor design.

"predictability of the narrative right so certain operations they do a bunch of calculations and if greater than one do this else do that that that decision is predicted in modern computers to high 90%..."

8
9:01 - 10:41
1:39 duration281 words

Art and Science in Computer Design

Keller reflects on the balance of art and science in computer design. He discusses the importance of creativity and intuition in making design decisions, and how diverse skill sets within teams contribute to successful computer architecture.

"what's the accuracy of that 85 percent so then somebody said hey let's keep a couple of bits and have a little counter so and it predicts one way we count up and then pins so say you have a three bit ..."

9
10:41 - 12:27
1:45 duration305 words

Determinism in Computing

This segment addresses the concept of determinism in programming. Keller explains how deterministic outputs are expected from programs, despite the inherent complexity and variability in execution paths, and discusses the implications for developers and users.

"thing so to get to 85% took a thousand bits to get to 99% takes tens of megabits so this is one of those to get the result you you know to get from a window of say 50 instructions to 500 it took three..."

10
12:27 - 17:06
4:39 duration760 words

The Nature of Noisy Calculations

Keller concludes by discussing the role of noise in modern calculations, particularly in AI and machine learning. He explains how noisy inputs can lead to faster processing and the challenges of achieving consistent results in a noisy computational environment.

"want to go the fastest way or you want to take the nicest road so it's just some set of data so imagine you're doing something complicated like a building in the computer and there's hundreds of decis..."