🏗️

Computer Organization and Architecture

TagsComputer science
Created
Updated

Resources

Computer

Rapaport (2018) provides a more explicit characterization of a computational system defined as any “physical plausible implementation of anything logically equivalent to a universal Turing machine”.

[1] N. Angius, G. Primiero, and R. Turner, “The Philosophy of Computer Science (Stanford Encyclopedia of Philosophy),” Stanford.edu, 2013. [Online]. Available: https://plato.stanford.edu/entries/computer-science/. [Accessed: 30-Aug-2021]

Why do computers use binary?

Because electricity with 10 states is not the easy way. Please try to sum two numbers with electricity and ten states.

Why is random access memory called random?

“Random” in this case means that the data does not have to be stored or read in any particular sequence. Random means lacking a definite plan, purpose, or pattern. Historically called random access memory because any data word can be accessed as easily as any other.

https://www.youtube.com/watch?v=Rc6qqqFZisI&ab_channel=AdamGaweda

How did computers understand ASCII bit? For example, 01001100 is L, not 76. Does a computer store integers according to ASCII?

All are bits. But depend on who receives that word then executes an operation or another one.


PRINTF(01001100) -> Send to Graphics Processing Unit -> PRINT A on Screen

ADD(01001100,01001100) -> Send to Proccesor -> 76 + 76 and send in register. 

Levels of the answer:

Compiler, Assembler, Binary, Hardware, Formal languages.

Where is the ASCII table located in the memory? Which type of memory do we use to store it?

https://stackoverflow.com/questions/41993429/what-s-the-difference-between-a-pointer-to-an-int-and-a-pointer-to-a-pointer-to

http://wiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf

MIPS 32

https://colab.research.google.com/drive/1U1aUcyvrT3-dmUMYMLd9k4NDrsKFbxAb?usp=sharing

https://godbolt.org/z/Tzoj81h6e

Field-programmable gate array

Hardware description language

Bit Twiddling Hacks or Bit manipulation

https://graphics.stanford.edu/~seander/bithacks.html

https://homolog.us/blogs/bioinfo/2014/12/04/the-entire-world-of-bit-twiddling-hacks/

https://www.fit.vutbr.cz/~ibarina/pub/bithacks.pdf

https://news.ycombinator.com/item?id=17043082

https://web.stanford.edu/class/archive/cs/cs107/cs107.1216/lectures/03/Lecture03.pdf

Builtin functions of GCC compiler

https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html

Implementation of mathematical functions in computer (no lib)

Ceil and floor

https://stackoverflow.com/questions/6208488/implementation-of-ceil-and-floor

Cast

https://stackoverflow.com/questions/22330575/how-are-typecasts-in-c-implemented

Computer performance measurement

FLOPS

Bits

https://www.youtube.com/watch?v=jAu0oyxsP20&ab_channel=FrankStajanoExplains

Next steps

Operating systems