From 4a95719d58a708ad55b1389631d6339047f786a0 Mon Sep 17 00:00:00 2001 From: standenboy Date: Fri, 15 Dec 2023 10:19:20 +0000 Subject: added existing work --- comp/notes/1 | 25 +++++++++++++++++++++++++ comp/notes/2 | 20 ++++++++++++++++++++ comp/notes/3 | 5 +++++ comp/notes/4 | 15 +++++++++++++++ comp/notes/5 | 18 ++++++++++++++++++ comp/notes/6/archictecture | 21 +++++++++++++++++++++ 6 files changed, 104 insertions(+) create mode 100755 comp/notes/1 create mode 100755 comp/notes/2 create mode 100755 comp/notes/3 create mode 100755 comp/notes/4 create mode 100755 comp/notes/5 create mode 100755 comp/notes/6/archictecture (limited to 'comp/notes') diff --git a/comp/notes/1 b/comp/notes/1 new file mode 100755 index 0000000..3ce4743 --- /dev/null +++ b/comp/notes/1 @@ -0,0 +1,25 @@ +lesson 1 + +looking at binary +ordinal numbers - indexes, counters etc +natural numbers - start from 0 +intergers - just any number +rational numbers - just decimals + +should learn negative binary and floating point binary + +normal multiplication works in binary as well, its just multiplying by 1 or 0 + +we looked at binary addition and multiplication + +we looked at hex to denary + +gonna do some programming + + +todo: + floating point binary + negative binary + hex addition and multiplication +`done! + diff --git a/comp/notes/2 b/comp/notes/2 new file mode 100755 index 0000000..c0f686d --- /dev/null +++ b/comp/notes/2 @@ -0,0 +1,20 @@ +starting task +1) 103 +2) 10 10011011 +3) 10101001 x wrong numbers used +4) binary, denary, hexadecimal, octodecimal (base 8) x natural rational integer real + +from gcse remember spliting a binary number every 4 bits and convert to hex + +when you have signed bit it means - of the bit that is signed (usualy 128) + all the other values +your colums would be -128, 64, 32, 16, 8, 4, 2, 1 +if you have less bits it might look like this -8, 4, 2, 1 +same for if you have more bits + +we did some fixed point binary, it goes like this, -128, 64, 32, 16, 8, 4, 2, 1, 0.5, 0.25.. +it is clear why we use floating point numbers + +THE EXAM THINKS THAT 1G = 1000KB +THEY CALL 1024KB = 1 Gibibyte + +2^n is the maximum amount of values, n = the number of bits diff --git a/comp/notes/3 b/comp/notes/3 new file mode 100755 index 0000000..b15a121 --- /dev/null +++ b/comp/notes/3 @@ -0,0 +1,5 @@ +the first half of the lesson was recapping floating point numbers +for a standard value there will always be 1 bit then the decimal point then the rest of the factional value +a standard value will have a ten bit fractional value and a 6 bit exponent (both will be signed) + +second half of the lesson is programming diff --git a/comp/notes/4 b/comp/notes/4 new file mode 100755 index 0000000..b263173 --- /dev/null +++ b/comp/notes/4 @@ -0,0 +1,15 @@ +the os is a tool designed to make the hardware easier to interactive with, it does this via masking the hardware into easier forms, look at /dev/wsmouse0 for an example + +it also needs to make programs easier to write and run, however doing this limits them to the platform they are compiled for + +an os may provide apis (/sys on linux) (/dev on openbsd) which allow talking to the hardware and sending signals much easier + +there will be a vaiety of different ways of interacting with the os, there is a gui (smelly gui), a tui (better gui), and a cli (the right one) + +the os also needs to deal with memory and cpu alication, which ensures the system isn't going to use 100% cpu for a split second while running ls + +a virtual machine (in the sense they want me to know), is a disk image, use doas dd if=/ of=/dev/usb0 to make one + +the os also manages stuff getting writen to the drives, this is via the file system, on linux it will be ext4, btrfs, etc and on windows it will be ntfs or fat 32/64 + +remember that translators and compilers come under this topic as they translate to os specific binary files (see man clang for more) diff --git a/comp/notes/5 b/comp/notes/5 new file mode 100755 index 0000000..497d1d2 --- /dev/null +++ b/comp/notes/5 @@ -0,0 +1,18 @@ +io devices +barcode reader + it shines a light, then more light reflects from the white than the black, then it uses that to read a string + white is 0, black is 1 + barcodes have a product number on the right and a manufacture number on the left + the right hand side codes are writen through a not gate (inversed) +qr codes + the same as a barcode but 2d +digital cameras + they look at how much light enters the lens then depending on its color and brightness it will output a different value + each pixel the camera outputs must have its own small light/color sensor +lazer printer + a negative static charge is put on paper + puts ink down thats atractive to the negative charge +rfid + it sends some radio waves out, then reads the radio waves sent back + some devices require active power, while other can get power from the incoming radio waves + diff --git a/comp/notes/6/archictecture b/comp/notes/6/archictecture new file mode 100755 index 0000000..c770983 --- /dev/null +++ b/comp/notes/6/archictecture @@ -0,0 +1,21 @@ +there are 3 busses, data, control, address +the data carrys data from the cpu +the address carrys mem addresses +the control bus is used to talk to devices about what data to send + +von nueman architecture has all the things (cpu mem io) on the same bus + +harvard architecture has all the things seperateated on different busses, including mem split into program and data + +moddern cpus have a mix of the 2 architectures + +the two each have there own advantges + +von nueman is simpler overall however it can have limiting speeds as all the busses are shared + +harvard is generally faster as it doesnt have to share any busses, however it can be harder to work with as the developer has to specify which but they are sending data too +also the extra wires can make costs higher, however this will only ever effect very large scale production + +speed is determined by things like clock speed, core count and bus width + +a faster cpu may be faster overall, however certan workflows benifit from more cores -- cgit v1.2.3