Тёмный
Creel
Creel
Creel
Подписаться
This channel is all about computer programming topics.

Facebook: facebook.com/whatsacreel

Patreon: www.patreon.com/whatsacreel
Computer Science Lockdown Quiz 2
26:00
2 года назад
Assembly Language Misconceptions
18:13
3 года назад
Computer Science Lockdown Quiz
20:55
4 года назад
Introduction to Quantum Computing
20:27
4 года назад
Exploring Cliques and Clique Problems
13:05
4 года назад
Комментарии
@elias-frihet
@elias-frihet 50 минут назад
Why don't you clear bit 5 instead of subtracting 32? Is it the same number of cpu cycles?
@miklosurmos565
@miklosurmos565 23 часа назад
"Honey, who is that Cindy I keep hearing about?"
@danielwarfield1813
@danielwarfield1813 День назад
Hey man, I'm a technical writer, I do lectures. Let me tell you, you are a cut above.
@stevenbliss989
@stevenbliss989 3 дня назад
I like and use several PIC uCUs, but I will NEVER FORGIVE and UTTERLY DESPISE that uCU like the PIC12F675 that does NOT use the MAX clock internally - NOT FORGIVENESS (especially for 8 pin devices like 675/683 etc.- EVIL EVIUL EVIL!!!!!!!!!!!!!!!!!!!!!
@ryandikdan
@ryandikdan 3 дня назад
RISC video??
@pharaohpanda
@pharaohpanda 4 дня назад
FUN FACT: there are many 3 core CPU's used for automotive. The are typically made by Infineon and have some cool architectures!
@KipIngram
@KipIngram 4 дня назад
Um, it would have been nice if you'd actually shown us the new algorithm in "math form."
@KipIngram
@KipIngram 4 дня назад
15:48 - Well, if the real answer is 157 and the computed answer is 160, I'd say the error is +3, not -3. So I'd call r the "correction" or something like that rather than the error. Or perhaps the "residual" - maybe that's why R and r are used for it in the first place.
@b213videoz
@b213videoz 6 дней назад
A question: 1 << 16 isn't this effectively 2¹⁵ rarher than 2¹⁶ ?
@b213videoz
@b213videoz 6 дней назад
5:20 can't you use offset ? mov al, OFFSET qwaral
@rty1955
@rty1955 7 дней назад
Ugh what a brain dead processor. Stack - totally unessesary
@rty1955
@rty1955 7 дней назад
Real assembly programmers dont use IDE's...
@arneseifert9257
@arneseifert9257 8 дней назад
PEXT seems like a very useful operation if you pack or unpack binary data.
@thermitty_qxr5276
@thermitty_qxr5276 8 дней назад
Fun fact: most sorts are just bogo sort in an alternate universe. Technically bogo is the fastest
@airkami
@airkami 12 дней назад
I understand these are for educational purposes only. I can't imagine there would be any need to use these techniques for real-world use cases because they primarily shuffle around pointers and functions that are basically accessible without needing to shuffle them. *shuffle = "punning"
@user-he2bo4zg9c
@user-he2bo4zg9c 12 дней назад
Blue took π seconds to sort 60 elements. Coincidence?
@mycardbrokedown5699
@mycardbrokedown5699 12 дней назад
In my world, branchless means ... no decisions at all just memory assignations and math operations and bitwise trickery that yield 1 or 0 by just running the operation itself if a dcision is to be made. For complex scenarios you may have multiple decisions taken at once by extracting the bits from the result, say you need 4 boolean solutions, your math will yield a 4 bit integer, each bit being one of the needed decisions.... this is how we used to do "simd" in the age of stupid cpus ;). Did it takes a lot of time to think up the mathematical equivalent of decisions like this? Yes! A heckton! But! If the function was run millions of times a second for no apparent reason it was well worth it if it can be done at all. Using simd instruction have nothing to do with branchless programming but with parallel execution, instruction level parallelism. Yes it makes the code orders of magnitude faster but they are a different animal entirelly, with its own bags of tricks, and back when branchless programming was actually needed these facy instructions were nothing but wet dreams! Nowadays compilers will do a good enough job and cpus are so much faster it is not worth the time to do it unless you are writing said compiler...
@nicknobody135
@nicknobody135 13 дней назад
I'm looking for a windows asm tutorial
@electrolyteorb
@electrolyteorb 20 дней назад
These videos are JUST PURE GOLD
@waynegnarlie1
@waynegnarlie1 20 дней назад
For those unable to see their own named general purpose register names (labels) in watches and variables, do this: Click the toolbox (Project Properties) icon from the Dashboard (extreme upper left icon), then select 'mpasm (Global Options)' and check the box for 'build in absolute mode', apply and exit. Then debug. It's taken me a couple of years to getting around to finding this fix, I have searched countless Microchip forums and watched as many YT videos to no avail. Hope this helps you.
@churchboy2334
@churchboy2334 22 дня назад
where is the source code. please push it to your github repository
@RDMCzz
@RDMCzz 23 дня назад
Thank you for the video! Is your website still active? I can't find it anywhere.
@contrazzed3651
@contrazzed3651 24 дня назад
Compilers HATE This One Simple Trick...
@tahacaliskanileenbasitseki4356
@tahacaliskanileenbasitseki4356 24 дня назад
thank you so much from Turkey
@leythecg
@leythecg 24 дня назад
absolutely fantastic in content and presentation! Many thanks!
@GMHarpov
@GMHarpov 25 дней назад
great piano.
@bravosierra2010
@bravosierra2010 27 дней назад
Nice!
@rstewart2702
@rstewart2702 Месяц назад
Hmmm. Well, I guessed correctly about Dekker, and would not have had to asked my earlier question if I had bothered to watch the whole thing before asking my earlier question. He was indeed Dijkstra’s colleague, another one of those early titans of computing science…
@rstewart2702
@rstewart2702 Месяц назад
Sorry I’m so late to the party! Just discovered your marvelous AVX512 introduction. Is TJ Dekker the same Dekker who derived the correct mutual exclusion algorithm at the Dutch Mathematical Center in the 1950’s, when EW Dijkstra was building the THE operating system?
@codingphysics695
@codingphysics695 Месяц назад
Another way to generate the Fibonacci numbers using XOR assignment for swapping the variables: for(int i = 0, j = 1; ; j^=i^=j^=i+=j );
@jonathandufour8621
@jonathandufour8621 Месяц назад
In your example at 11:48, you better should put the "NotLowerCase" label 1 line down to not make a useless "mov"
@saultube44
@saultube44 Месяц назад
Milliseconds -> ms /sarcasm
@fifaham
@fifaham Месяц назад
Excellent video - thank you.
@hawkbirdtree3660
@hawkbirdtree3660 Месяц назад
I tried this example of SOA when loading 50 large textures, on my game written in C.The rest of the variables were primitives, and were initialized first. It was so fast! But I found that the loading speed was increased dramatically if I loaded the textures first. I’m talking about 5 seconds to load, to under 1 sec. I learned that positioning of variable initialization is important too 😂 It also makes the code so much easier to read.❤
@Kyojin743
@Kyojin743 Месяц назад
I’m an undergraduate in CpE and I was working on an autonomous robot, and I had this really over engineered way to do course correction. I watched this video, and just today I was looking over my system and noticed that the techniques in your video were perfect for this application. I reduced it from a 50 line solution of ugly nested if else’s about 4 deep at max, to 2 lines. Thank you!
@robert.ehrlich8942
@robert.ehrlich8942 Месяц назад
The best way I know to do the branchless translation from lower case to uppercase is to use a 256 bytes translation table where every byte contains its offset from begining except those from offset 'a' to 'z' containing 'A' to 'Z', so the loop's body reduces to : d[i] = tbl[d[i]; Another thing when you try to minimise branches is to remember the "hack interval" : as long as a and b are known to be non negative integers, the condition a <= x && x <= b is equivalent to (unsigned)(x-a) <= (unsigned)(b-a). In the general case this will replace 2 branches by one, when used in a loop, in most of the cases a and b don't change in the loop, so the compiler moves the calculation of (b-a) outside of the loop, here we have constants, so (b-a) is computed at compile time. Here, if we want to avoid the translation table, the body of the loop can reduce to : d[i] -= ((unsigned)(d[i] - 'a') <= (unsigned)('z' - 'a')) <<5; It should be easily vectorisable.
@another212shadow
@another212shadow Месяц назад
okay series, but great fucking drawing. Your dad totally stold the show. The detail is incredible.
@timedebtor
@timedebtor Месяц назад
I've actually never thought about branchless programming in the context of making a program faster. I only thought of it in the context of cryptographic systems where you want to ensure every execution has the same speed and heat profile or cryptographic systems which just don't allow for branching
@Oxxyjoe
@Oxxyjoe Месяц назад
Your accent can be mistaken (by some American like myself) for Australian, and with those trees in the background, I just imagine what you're saying to be like "And we can see these Koala bears teaching their young some integer division using coconuts. Yep, and whenever a coconut rolls off of the tree branch, it sets the carry flag to one Or perhaps it IS Australian. I was like, he sounds British, in his earlier videos, but now I definitely hear something my brain identifies as Australian or similar.
@Bunnokazooie
@Bunnokazooie Месяц назад
Love when experts have a down-to-earth attitude like this. You rock man.
@coltersummers
@coltersummers Месяц назад
This added some much needed context to the content in my computer architecture class, thanks!
@ninjacat230
@ninjacat230 Месяц назад
this is why i prefer RISC
@juliansantos1900
@juliansantos1900 2 месяца назад
Thays crazy 😧
@forheuristiclifeksh7836
@forheuristiclifeksh7836 2 месяца назад
9:57
@forheuristiclifeksh7836
@forheuristiclifeksh7836 2 месяца назад
5:59
@forheuristiclifeksh7836
@forheuristiclifeksh7836 2 месяца назад
31:24
@forheuristiclifeksh7836
@forheuristiclifeksh7836 2 месяца назад
0:12
@forheuristiclifeksh7836
@forheuristiclifeksh7836 2 месяца назад
11:55
@forheuristiclifeksh7836
@forheuristiclifeksh7836 2 месяца назад
1:44
@forheuristiclifeksh7836
@forheuristiclifeksh7836 2 месяца назад
19:11