Discuss Scratch

GIitchInTheMatrix
Scratcher
1000+ posts

Hardware Lessons

Is this advanced?
Yes.
Necessarily programming? Ehh… probably. I mean, it is about how computers work on the low level: https://learn.Steve4Space.repl.co
So far, it has a full detailed explanation of the CPU, not low level enough IMO.
Currently, @BreadCatGames has helped with a bunch of it. Course, it might be partially incorrect, but will be updated further soon. And everything incorrect will be fixed.
Point of the topic: suggesting changes to it and general feedback.

Last edited by GIitchInTheMatrix (Aug. 30, 2023 14:39:59)

bigspeedfpv
Scratcher
500+ posts

Hardware Lessons

CPU page:
note there are different architectures (x86, arm, risc-v, etc) rather than just “different binaries”. CPUs do not compile code themselves, they run assembly that has already been compiled. (assembly is just machine code translated into words - it's a direct translation)
list cpu model numbers, not just their names. a modern i3 is WAY more powerful than a 1st gen i3 (and is not made in 2010)
a CPU will not slow down for a GPU, but a GPU will slow down for a CPU - the pipeline is cpu -> gpu -> display, think of it like a conveyor in a factory. if your CPU is too slow your GPU will have to wait to get more info from the CPU, and if your GPU is too slow it won't keep up with every bit of info from the CPU

RAM page:
this cuh empty lol
probably mention that ram stores TEMPORARY state, like what tabs you have open or where your apps are positioned on your screen, that it's faster than solid state storage, but more expensive
also probably mention what DDR is

DRIVERS:
what on god's green earth does this mean
drivers just tell your OS how to talk to different hardware parts. you can just say that. they're like a translator if you and your boss spoke different languages

GPU:
you kind of didn't explain what integrated and discrete GPUs are
integrated just means built into the CPU and can be AMAZING graphics (see apple silicon, any phone SoC)
discrete means a separate processor physically away from your CPU and can be AWFUL
integrated vs discrete do not determine the level of performance but they can influence it.
the analogy makes no sense again - think of a CPU as one experienced person bottling sodas really fast - they can only bottle one at a time. a GPU would be like 1000 inexperienced people bottling sodas - they can do so way faster, but they need someone to coordinate them (the CPU)
also, gpus are general purpose (CUDA and Tensor cores or equivalent)

GIitchInTheMatrix
Scratcher
1000+ posts

Hardware Lessons

I’ll update it greatly.
The main reason some pages(RAM) have little info is limited access to technology.
GIitchInTheMatrix
Scratcher
1000+ posts

Hardware Lessons

It’s been updated, now including a new CPU Section, I will expand them soon, currently they only mention ARM Processors, and a little bit of x86 architecture. I’ve began RAM, which so far, mentioned it’s purpose and partial pricing.
I plan on implementing quizzes to continue further through the lessons, they will come soon.
(Will go into DDR soon.)

Last edited by GIitchInTheMatrix (June 6, 2023 17:34:11)

Redstone1080
Scratcher
1000+ posts

Hardware Lessons

Pretty cool, would be nicer if you used something like SvelteKit, it has useful information though.
GIitchInTheMatrix
Scratcher
1000+ posts

Hardware Lessons

Redstone1080 wrote:

Pretty cool, would be nicer if you used something like SvelteKit, it has useful information though.
Thank you.
I may remake it at a later date to use an UI Framework
skymover1239
Scratcher
500+ posts

Hardware Lessons

This page is old, but has some really good info. It would be cool to see someone put it in a more modern format.
https://flint.cs.yale.edu/feng/cos/resources/BIOS/ Please don't just copy and pace it though.
GIitchInTheMatrix
Scratcher
1000+ posts

Hardware Lessons

skymover1239 wrote:

This page is old, but has some really good info. It would be cool to see someone put it in a more modern format.
https://flint.cs.yale.edu/feng/cos/resources/BIOS/ Please don't just copy and pace it though.
I’ll use information from it for the BIOS Page.
GIitchInTheMatrix
Scratcher
1000+ posts

Hardware Lessons

BIOS Page made, where should I place it on the index?
I’m thinking under Heat Sinks

Last edited by GIitchInTheMatrix (June 7, 2023 12:49:15)

skymover1239
Scratcher
500+ posts

Hardware Lessons

GIitchInTheMatrix wrote:

BIOS Page made, where should I place it on the index?
I’m thinking under Heat Sinks
That would work. Really it doesn't matter though.
GIitchInTheMatrix
Scratcher
1000+ posts

Hardware Lessons

yeet
PPPDUD
Scratcher
1000+ posts

Hardware Lessons

This is wonderful! Just so you know, you shouldn’t use the “ 's ” suffix for pluralization. That job is handled by the “s” and “es” suffixes.
GIitchInTheMatrix
Scratcher
1000+ posts

Hardware Lessons

Bump

PPPDUD wrote:

This is wonderful! Just so you know, you shouldn’t use the “ 's ” suffix for pluralization. That job is handled by the “s” and “es” suffixes.
i have a vendetta against grammer
PPPDUD
Scratcher
1000+ posts

Hardware Lessons

GIitchInTheMatrix wrote:

Bump

PPPDUD wrote:

This is wonderful! Just so you know, you shouldn’t use the “ 's ” suffix for pluralization. That job is handled by the “s” and “es” suffixes.
i have a vendetta against grammer
Oh, I see.
__Falcon-Games__
Scratcher
1000+ posts

Hardware Lessons

CPU

Well more technically CPUs run one binary instruction per each cycle and the amount of cycles is controlled by the clock. Clock speed is measured in GHz specifically how many billion cycles run per second. Multiple cores are usually in your CPU to run multiple instructions at once. Compilers compile languages to Assembly which an assembler further turns into binary, not the CPU. Different CPUs can run the same binary as long as both of them have the same instruction set which is which instructions each CPU can process and instruction sets are defined by architectures such as ARM, x86-64 and RISC-V.

Bottlenecking is better defined as when a part of your computer not only CPUs or GPUs but also RAM and video cards and more cannot send signals to each other quickly enough to keep track of each others, they don't purposefully slow down to say but rather there is miscommunication. This is why lag happens because the GPU cannot send signals fast enough so your game lags and doesn't update.

The analogy is not that great to say, it's confusing to relate that to CPUs. A better analogy is that you work at a office and there you need to do different instructions which you get from a paper, now the paper is somewhere in a big building called the memory and you fetch the paper from memory to do instructions and it references other things in the memory which are labelled with addresses and you go to these addresses to get information about those things. Registers are also memory that are small and can quickly be fetched so there are special locations in this building called registers and when you do instructions you usually use the registers for stuff like arguments and very short lived values rather then memory addresses and you can quickly get to them rather then having to look for the address in the giant building. The smallest you can store is a bit of data which can store 0 or 1 and there are bytes which are 8 bits and these units keep increasing to kilobytes, megabytes and so on.

For the memory gates part you did good but for the analogy there which is a bit confusing too, if we follow my previous analogy then, if you can do a task matters on if your boss gave you very clear instructions and to a computer that is a bunch of logical instructions such as fetch these two addresses in memory and are they both 1, if not the result is 0, else 1 and these smaller instructions so on make more complicated logic. I am also not entirely sure why the section is named “Memory Buses”?

I personally am not good at the specifics of how the clock works so I am going to leave the clocking section alone.

You do then go over some of the things here but I feel like explaining them simply but correctly first would be more useful especially as a person could go away without reading the ending section and think that knowledge with oversimplified and sometimes incorrect terminology is true.

Also the revised bottlenecking section's analogy is still kinda weird so revising it we get that you and another employee in the office both do stuff at different rates and if it takes a lot of time for another employee to do something you will have to wait for him to return with useful information but until then you cannot do anything as that useful information is required.

RAM
Okay to start off saying RAM is memory in a stick of RAM is confusing and not useful. You should say something like that RAM is quick memory that is easy to fetch that acts as normal memory except that it is temporary unlike memory which is stored on your disk and can be fetched from disk again even if you reboot your computer. RAM can have different sizes which are usually way lower then disk and is usually from 4 GB to 32 GB but less and more can also be used. The historical amount mentioned here is not useful to anyone who wants to learn about RAM but you can of course include it if you want. Also it is MB and GB but sure abbreviations can be confusing for beginners still though Megabyte or Gigabyte should be used, not MegaByte or GigaByte which look weird.

This is not completed so I cannot say much more about this page but you have not mentioned an SSD yet, should probably mention that it's basically a disk. You should also mention that when you exit your browser this information will disappear as an example of RAM being temporary.

Drivers
A driver is used for the hardware to communicate with the OS so you speak Italian but the OS speaks French so drivers will translate Italian to French for the OS and vice versa. Much better and less confusing analogy then the soda factory, also a driver doesn't tell the hardware how to communicate but rather turns the communication of the hardware and OS into an understandable format for each other. So it translates the Italian to French and vica versa, it doesn't tell you how to speak French or the OS how to speak Italian. So a GPU driver would translate the OS's instructions to display this to the GPU and will translate the GPU saying done to the OS so it knows that the GPU has done the rendering, each frame this cycle would continue.

A driver can communicate with another driver so in the analogy another driver will be hired and then those drivers need to communicate so they will meet in a room for communication. The latter part is just confusing, you can say that multiple components can have multiple drivers and drivers at as programs so a program needs to be updated, a program can be outdated and programs can conflict with each other.

GPU
A GPU is like a CPU in that it also has a clock and does stuff per cycle and the cycle is controlled by the clock speed along with having it's own RAM. Unlike the CPU it renders stuff on a screen, a screen has pixels which are blocks of colour on the screen and the GPU fills certain pixels with certain colours to display stuff. The colours are made up of three parts which indicates how much red, blue and green they have with each part being stored as three bytes so a colour is nine bytes. This is much more useful then saying that the GPU does a ton of math to render stuff.

Let's revise by using a better analogy here, think of yourself as an artist which has been given a grid of blocks and can colour each block to create a painting with you colouring one block per cycle. An integrated GPU is when you are directly connected to the motherboard and can fit in a small space pretty well and a discrete GPU is separate from the CPU and has it's own component with it's own clock, RAM and cores.

GPUs are designed to do multiple things at once so they have many cores with each set of cores being a block and each set of block being a grid.

Heat Sink
Yeah this is pretty small so I do not have anything to say about it. If we revise using my analogy then you may sometimes over work and burn out so to become calm again you have another person to assist you called the heat sink or fan and that person will calm you down again.

Last edited by __Falcon-Games__ (Oct. 13, 2023 14:12:34)

__Falcon-Games__
Scratcher
1000+ posts

Hardware Lessons

Wow, that was a huge post. I have completed that now. Please check it out, I spend a lot of time on it!
ajskateboarder
Scratcher
1000+ posts

Hardware Lessons

__Falcon-Games__ wrote:

CPU

Well more technically CPUs run one binary instruction per each cycle and the amount of cycles is controlled by the clock. Clock speed is measured in GHz specifically how many billion cycles run per second. Multiple cores are usually in your CPU to run multiple instructions at once.
And soon enough, thanks to Moore's Law, we will measure trillions of cycles a second someday

There's also hyperthreading, which basically duplicates the number of cores on your system

So having a dual-core hyperthreaded CPU gives 4 logical cores to work with
GIitchInTheMatrix
Scratcher
1000+ posts

Hardware Lessons

Update: Replit is apparently moving hosting to a payed service(at least, that’s what it sounds like)
That’s to say, i may have to move it to Glitch(just like my main site)
__Falcon-Games__
Scratcher
1000+ posts

Hardware Lessons

GIitchInTheMatrix wrote:

Update: Replit is apparently moving hosting to a payed service(at least, that’s what it sounds like)
That’s to say, i may have to move it to Glitch(just like my main site)
You could move it to GitHub as it is just static pages and then I can also directly contribute as I have a GitHub account.
GIitchInTheMatrix
Scratcher
1000+ posts

Hardware Lessons

__Falcon-Games__ wrote:

GIitchInTheMatrix wrote:

Update: Replit is apparently moving hosting to a payed service(at least, that’s what it sounds like)
That’s to say, i may have to move it to Glitch(just like my main site)
You could move it to GitHub as it is just static pages and then I can also directly contribute as I have a GitHub account.
Unfortunately, my school blocked GitHub.
(Which is strange, as they just started a CS class)

Powered by DjangoBB