CA Session 2 Summary - muneeb-mbytes/computerArchitectureCourse GitHub Wiki
Software Vs Application installation:
The installation process for PC software and mobile apps involves downloading the installer or app, granting necessary permissions, and completing the setup. On a PC, you first search for the desired software on a browser. The software we download in a computer should be specific to the operating system and the specifications of the system (32-bit or 64-bit system). Then you run the installer by double clicking the executable file(.exe), agree to terms, choose settings, and click "Install," while on a mobile device, you find the app in the app store, tap "Install," and accept permissions. After installation, you launch the application, complete any initial setup tasks, and check for updates.
Software installation steps:
Application installation steps:
Portability of High Level Languages:
- High level languages are portable can be used in different hardware
- Specific hardware will have different assembly language
- The high-level languages are portable because of toolchain inside machines
If two people want to communicate knowing 2 distinct languages, a translator is required. Similarly, A computer requires a translator to convert the high-level languages such as C, C++, python etc... to computer understandable language. A computer only understands logic 1(5V) and logic 0(0V) i.e., 1's and 0's (binary numbers). The instructions in the form of binary numbers are technically called as low-level language.
Toolchain:
- Toolchain consists of all the systems necessary for translation of high level to low level language like compiler, assembler, linker
- Compiler converts high level into assembly level language
- Assembler converts assembly level language into low level language
- Linker links all the files mentioned as #include in the case of C
- Different hardware will have developed different tool chain
Transistor:
- Hardware is made up of transistors and they work by giving either logic 0 and 1 to the input of transistor hence we require binary language
- Instructions are executed in the hardware using the binary language
Encryption and Decryption:
- Abstraction simplifies complex concepts by focusing on essential elements and hiding technical complexities.
- Encoding changes data into a different format to make it easier to send and use.
- Decoding changes the encoded data back to its original form so it can be understood and used again. (If we assume 1010 – Z ,1011 – M, 1100 – C ,1101 – Y ,1110 – P ,1111-K)
Instruction Set Architecture:
Hardware: Hardware refers to the physical components like CPU, Memory, i/o devices of the computing systems. Software: Consists of programs and instructions (what should be done how it should be done) that tell the hardware what to do. Computer architecture: Computer architecture gives a blueprint to run programs on hardware by providing ISA (Instruction Set Architecture). It will act as a bridge between hardware and software.
Types of ISA :
- CISC ->example: -8086 Intel architecture.
- RISC ->ARM, RISC-V architecture.