Hardware Basics

  Рет қаралды 94,739

Brian Will

Brian Will

Күн бұрын

Essential concepts of computer hardware. Part of a larger series teaching programming. Visit codeschool.org

Пікірлер: 67
@ecapers7231
@ecapers7231 10 жыл бұрын
I just want to say thank you for these videos. I've researched dozens of online comp sci videos and tutorials, and none of them come close to the clarity, elegance, and thoroughness of explanation I find in your vids. I've really come to rely on them a lot.
@TheDuhbin
@TheDuhbin 6 жыл бұрын
Your channel is a gold mine on KZbin. Thank you.
@coolguy-dw5jq
@coolguy-dw5jq 3 жыл бұрын
The quality of this content is way ahead of its time.
@brokenchains69
@brokenchains69 2 жыл бұрын
this was way ahead of its time. Not the information itself but the quality and dedication and kind of content which was being provided. Great explaination brian will
@Cires1987
@Cires1987 8 жыл бұрын
this is the first time I've ever found any one explain how a computer works. instead of they all try to explain how programs work
@ThePandaGuitar
@ThePandaGuitar 4 жыл бұрын
THANK YOU SO MUCH! Please please keep making videos Brian they're so rare on KZbin 🙏
@skullbear1
@skullbear1 3 жыл бұрын
OMG I just found your channel today! I am a graphics programmer and even though I am aware of a lot of these things, I feel I learnt something just because of how well presented and interesting your videos are. And even if it is a known topic, they are an absolute joy to watch! Thank you for these!
@briantwill
@briantwill 10 жыл бұрын
To be clear, I'm legitimately not an authority on these details, but calling foul when your objections are at best arguable just isn't very helpful. For future corrections, please keep in mind the audience. Spreading misinformation is bad, for sure, and I make plenty of mistakes, but often I elide over details for a reason.
@michaelsoutherland3023
@michaelsoutherland3023 5 жыл бұрын
What do you expect, you're intimidating egos here... You know, if I correct you on something, then it must mean I'm smart, right ? LOL Great videos !
@Abdullah-mg5zl
@Abdullah-mg5zl 9 жыл бұрын
Thank you for your videos. I have been programming for a while but I had always neglected to actually think about HOW the computer executes my instructions. This was very interesting.
@Decco6306
@Decco6306 3 жыл бұрын
"typical for servers to have 8 or more cores each" Threadripper: "Am I a joke to you?"
@cormano64
@cormano64 10 жыл бұрын
I was studying most of this last semester in my college and your small class is way more intuitive, congratulations! Also, I love how they used Gulliver as a mnemonic jab at the order of bits in memory.
@Ahmad_dev
@Ahmad_dev 6 жыл бұрын
There's a mistake in minute 12:56 : "The figure to the right should flip the memory while keeping the index the same. Example: [0A => 'a+3 '], [0D => 'a' ] "... it was correct in the previous slide, but wrong in this slide. Thanks!
@greatbullet7372
@greatbullet7372 3 жыл бұрын
i didnt even notice that mistake ^^
@industrialdonut7681
@industrialdonut7681 3 жыл бұрын
This is very interesting, I always thought the OS or something would manage the cache, now I looked more into it after this and see that it's literally a hardware implementation. Cool!
@salatiel6022
@salatiel6022 3 жыл бұрын
Tirando o fato de um leve erro (eu acho que é um erro) em 13:13, esse maluco é um monstro! Quanto conhecimento em um só vídeo. Passei horas fazendo anotações! Parabéns e obrigado pelo conteúdo.
@redricochet
@redricochet 6 жыл бұрын
You are so good at this. And your voice is pleasant. I wish you’d keep making these :)
@shivkumarpippal1765
@shivkumarpippal1765 6 жыл бұрын
Excellent. Nicely done!!!
@vanviccardi7553
@vanviccardi7553 5 ай бұрын
This channel is a gem, thanks!
@briantwill
@briantwill 10 жыл бұрын
Yes, IA-64 was the non-x86 compatible and now defunct Itanium, x86-64 and x64 are actually informal names for 64-bit x86. The official AMD name is AMD64. The official Intel name is EM64T. Everyone else just call it x86-64 or x64.
@klaskycsupo121
@klaskycsupo121 4 жыл бұрын
Excellent introduction.
@saurabhkumar-yb8tw
@saurabhkumar-yb8tw 10 жыл бұрын
awesome work..
@sunnohh
@sunnohh 5 жыл бұрын
Wonderful video, oldballs here, actually the licensing agreements go back to the late 70’s as a prerequisite for government contracts. intel has weaseled all the other manufacturers out of x86 land but amd, cyrix, ibm, national semi, shit even NEC was a licensee! Again great video, I have always struggled with computer science and your videos are concise and illuminating!
@guliyevshahriyar
@guliyevshahriyar 10 ай бұрын
Very good video. Took 3.5 pages of notes from it😎Thank you very much!🎉 Keep up the good work.
@briantwill
@briantwill 10 жыл бұрын
I appreciate any corrections, but I don't think I was wrong in these cases. I never said Intel created the first 64-bit x86 processors. The byte size issue is very arguable: did the industry adopt the 360 standard because it was popular or because it was a sensible choice that also happened to be popular? Besides, I believe my wording was "mainly because 8 is a power of two and not too large". You're assuming I don't have the right story because I'm not necessarily giving the full story.
@hl2mukkel
@hl2mukkel 10 жыл бұрын
Great video =D! & your tutorials are awesome and correct :) Thanks for the work you put into this!
@sanlistonmadzima
@sanlistonmadzima 8 жыл бұрын
So.Much.Knowledge.
@hl2mukkel
@hl2mukkel 10 жыл бұрын
Yes :D You should consider uploading them as a whole, like you already do :) Great tutorials! :D Even though you cover the same topic, you can always learn something new you haven't mentioned yet :) I really enjoy watching your videos =D Keep it up :) Always happy when I see a new video of you ^.^
@Mr.Nichan
@Mr.Nichan Жыл бұрын
I'm not saying you actually weren't saying this, but, to clarify, the intuitiveness of big-endian vs little-endian is about more than just the reading left-to-right vs right-to-left convention. What matters more is the fact that we say and read the big end FIRST and the little end LAST. Interestingly, numerals are written with the big end on the left and the little end on the right in Arabic, just as in English, meaning that that, even though numbers are written in the same physical direction in both languages (when written with Hindu-Arabic numerals), the convention is big-endian in English, and little-endian in Arabic. Funnily enough, Arabic, Sanskrit, German, and archaic English (as well as modern English for 13-19, noting that "-teen" means "ten"; "-ty" means "groups of ten", FYI) all use the little-endian convention in speech specifically for 2-digit numbers, with the big-endian convention only applying with hundreds, thousands, etc. Generally, whatever convention is used with smaller numbers is the older convention (except sometimes with very small numbers like 0, 1, and 2, and with other special numbers), since, for the most part, bigger numbers used to be very rare (so the conventions for how to say them were ad hoc and easily changed) and bigger and bigger numbers have become more and more commonly mentioned over time, with new standards developing and growing more entrenched.* Given that we cultural descendants of Europeans often call them "Arabic numberals", the fact that Arabic uses little-endian numerals and the fact that Arabic and disparate Indo-European languages (FYI Arabic is not Indo-European) say the ones' place before the tens' place combine to form a strengthened suggestion that maybe a lot of Eurasia used to use a little-endian convention in saying numbers. However, even if that's true, it's not why Arabic uses a little-endian convention. That's because they're actually HINDU-Arabic numerals, and the Brahmic scripts are all written left-to-right, and, despite the fact that Sanskrit said the ones' place before the tens' place, their numerals were written with a big-endian convention, which meant big end on the left, little end on the right, since they wrote left-to-right. (I've confirmed that some pictures of ancient Indian artifacts on Wikipedia When the Arabs (and Islamized Persians, notably) adopted the Indian system of writing numbers, I guess they must have preserved the physical direction of the writing, which the Europeans also preserved when they adopted it from the Arabs. Thus, an originally big-endian convention became little-endian and then big-endian again. *One example of this is how so many languages that used to use other bases or mixed bases, like 20, 5, 12, or 60, now use essentially base 10 for large numbers (look up French, Danish, Wolof, and Mesoamerican languages), even if they have remnants of other bases in smaller numbers, and many languages actually borrow a number system from a completely different language to count large numbers, like people using Spanish instead of their native Native American language to count, or languages that only have number up to 2 or 4 or something and have all the larger numbers borrowed from a neighboring language. For example, I believe usually uses Chinese numeral words (called the on'yomi, or Sino-Japanese pronunciation, of the numerals) for any number larger than 10, and usually only uses native Japanese numerals (kun'yomi) for numbers smaller than 10, and not in all situations.
@naruto5437
@naruto5437 9 жыл бұрын
great..awesome lecture..thanks a lot.. I am totally addicted to your videos(Javascript,OS,C etc)..you are a awesome teacher .. just one request -Could you please speak a little bit slowly Waiting for more lectures .
@lukegriffiths4333
@lukegriffiths4333 8 жыл бұрын
+deen john Check out the gear icon in the player window. Clicking that brings up a menu which has a "speed" sub-menu. You can slow the video down to 0.5 or 0.25 speed. I like to do this for particularly dense sections because it lets my brain do more processing per word and sometimes this leads to better understanding and retention.
@swyxTV
@swyxTV 4 жыл бұрын
great video, thank you
@47Mortuus
@47Mortuus 3 жыл бұрын
13:11 Little endian is neither "arbitrary" nor does it "not make sense with modern hardware". First off, the picture suggesting that CPU registers in little endian machines use big endian is wrong. The best example to prove that are bitshift operations in assembly. The second best example are probably SIMD registers. Secondly, dereferencing the memory location of an unsigned long long as a 32 bit integer truncates the value correctly. That's not easily achievable with big endian machines...
@rhyscornock687
@rhyscornock687 6 жыл бұрын
Excellent
@lucastavares3518
@lucastavares3518 2 жыл бұрын
Your videos are absolutely amazing man "Hand-held" lol
@DMWatchesYoutube
@DMWatchesYoutube 7 ай бұрын
Should just have a byte ordering that switches between little and big at an interval
@lonnybulldozer8426
@lonnybulldozer8426 5 жыл бұрын
Is an Arduino a good way to get started learning low-level programming and working with hardware? I'm asking for a friend. This particular friend happens to have a very particular set of skills. Namely, that he can serve as a substitute for myself when asking embarrassing questions, such as if an Arduino is a good way to get started learning low-level programming and working with hardware? So my friend would like to ask that?
@AG-im1qi
@AG-im1qi 2 жыл бұрын
Yes it’s a good way to learn about low level programming. I’d also recommend Ben Eater’s channel as well as Nand2Tetris course on Coursera(where it’s offered for free)
@drkamilz
@drkamilz 10 жыл бұрын
10:45, It's AMD who did x86-64, Intel's 64bit arc. name is IA-64 (not compatible, nor similar). Then Intel licensed x64 from AMD.
@ahmedtauseef
@ahmedtauseef 3 жыл бұрын
thank you a lot!!!
@tylerhoyt606
@tylerhoyt606 5 жыл бұрын
Little-endian is useful for data types that don’t use the full byte or word. Little-endian ensures that the first bit in the byte is meaningful and not just 0 padding.
@sanjarcode
@sanjarcode 7 ай бұрын
thank you
@thebeatles9
@thebeatles9 7 жыл бұрын
YOURE VIDS ARE SO FUKKIN GUD BRIAN, , , , WE MISS U
@rfpeace
@rfpeace 6 жыл бұрын
what do mean "WE MISS U"?
@joel230182
@joel230182 6 жыл бұрын
He's not with us anymore :(
@rfpeace
@rfpeace 6 жыл бұрын
he'll live on in this work... thanks Brian 😇
@briantwill
@briantwill 10 жыл бұрын
I wanted to move comments to the playlists, but apparently playlists can't have comments.
@andrewbuckau5792
@andrewbuckau5792 8 жыл бұрын
@13.08 One thing I thought of, an argument for little endian: when converting a large numeric data type to a smaller one -- assuming you know the 'start addr' of it in ram, you only need to take as many bytes as needed starting from that address. If it were in big endian, you would be required to know the *original size*, and take the bytes from the end. Is this valid? Casts to smaller data types would be more efficient because no calculation (base + original_size) is needed, you simply take as many bytes as desired - and you are not required to know the original size of the data. (?) edit: I'm not sure how useful this is, but it seems to make sense - especially if dealing with raw pointers, where you are not given the 'original size' of the data.
@briantwill
@briantwill 8 жыл бұрын
+Andrew Buckau Yes, little-endian does have a few efficiency advantages in certain cases. Not sure if what you describe was one of the Intel's considerations. My argument though is that big-endian is definitely the more 'natural' choice, despite what I've seen argued in many places that both are equally sensical.
@tetianadadakova8809
@tetianadadakova8809 5 жыл бұрын
I do not understand the "big-endian vs little-endian" part. On the figures at 11:05, the "OA" is copied to "a+3" address in little-endian order, however, at 13:00, the "0A" is copied to "a" address. The arrows seem to make sense, though. Is it just a mistake or am I missing some point? Thank you!
@briantwill
@briantwill 5 жыл бұрын
Yeah, the diagram is messed up at 13:00 for little-endian. The arrows are correct, so the bytes in memory should read 0D 0C 0B 0A. In big-endian, the most-significant register byte 'corresponds' to the lowest memory address. In little-endian, the least-significant register byte ' corresponds' to the lowest memory address.
@rfpeace
@rfpeace 6 жыл бұрын
mr Will is no joke!
@JustWatchingVideo56
@JustWatchingVideo56 5 жыл бұрын
My favorite computer is a toaster...
@samhanna7382
@samhanna7382 Жыл бұрын
why did you stopped making videos?
@sir_potatos
@sir_potatos 3 жыл бұрын
From Computer Class II :)
@hl2mukkel
@hl2mukkel 10 жыл бұрын
hey why did you disable comments on your latest video? :)
@lawrencemanning
@lawrencemanning 2 жыл бұрын
The interesting thing is most of this video would have been valid 30 or more years ago.
@greyfade
@greyfade 3 жыл бұрын
10:50 - This is inaccurate. It was *AMD* that announced x86_64 (officially with an underscore) and it was later called AMD64 by partners. Then, after a cross-licensing agreement, Intel released their own x86_64 implementation in the Core processors, and they called it EM64T, which Microsoft later rebranded x64.
@sir_potatos
@sir_potatos 3 жыл бұрын
GOooooood
@user-kr3ct9oh4y
@user-kr3ct9oh4y 5 жыл бұрын
hm there is a repetition at 4:00, the same phrase is said twice
@k.osiyuk
@k.osiyuk 6 жыл бұрын
13:13 there is a big mistake in picture representing little-endian
@andybuscus383
@andybuscus383 Жыл бұрын
I was just trying to find out what different parts of the computer did and how they interact with each other. I stopped understanding anything after about 4 minutes and 30 seconds. I think I clicked on the wrong video. @.@
@johnswanson217
@johnswanson217 3 ай бұрын
Please use a pop filter in front of your microphone, or at least do some audio post processing.. I really want to listen but it's too hard to listen..
@ptrnryv
@ptrnryv 4 ай бұрын
Note: NOT ADHD friendly lmao
@drkamilz
@drkamilz 10 жыл бұрын
Dude, don't get me wrong. I like your videos. But since I'm a computer science engineer. I found several mistakes in the video. This is just one. Consider this as a feedback. Wanna another one?, You said 1 byte is standardized as 8 bit because of 8 is power of 2. What if I say, that is may be a reason but not the actual reason. (hint:IBM360)
How a Computer Works - from silicon to apps
42:32
Improbable Matter
Рет қаралды 1,2 МЛН
I built my own 16-Bit CPU in Excel
16:28
Inkbox
Рет қаралды 1,3 МЛН
【獨生子的日常】让小奶猫也体验一把鬼打墙#小奶喵 #铲屎官的乐趣
00:12
“獨生子的日常”YouTube官方頻道
Рет қаралды 82 МЛН
Não pode Comprar Tudo 5
00:29
DUDU e CAROL
Рет қаралды 82 МЛН
Emulating a CPU in C++ (6502)
52:28
Dave Poo
Рет қаралды 942 М.
What is a kernel - Gary explains
9:50
Android Authority
Рет қаралды 946 М.
How does an OS boot? //Source Dive// 001
50:22
Low Byte Productions
Рет қаралды 360 М.
Unix system calls (2/2)
51:18
Brian Will
Рет қаралды 102 М.
Inside the CPU - Computerphile
11:16
Computerphile
Рет қаралды 357 М.
Samy Kamkar's Crash Course in How to Be a Hardware Hacker
28:07
Replacing the Unix tradition
40:46
Brian Will
Рет қаралды 125 М.
Computer & Technology Basics Course for Absolute Beginners
55:04
freeCodeCamp.org
Рет қаралды 2,7 МЛН
Object-Oriented Programming is Bad
44:35
Brian Will
Рет қаралды 2,3 МЛН