Layered architecture
Layered architecture defines the different level of a computer with each time we go up the level of abstraction rises
and there is less detailed view of the layer beneath it
and there is less detailed view of the layer beneath it
The layers
6. User
User, is the layer where interaction between humans and machines occurs. The goal of this interaction is effective operation and control of the machine on the user's end, and feedback from the machine, which helps in making operational decisions.
Examples: Browsers, E-mail, Instant massaging.
Examples: Browsers, E-mail, Instant massaging.
5. High level language
High-level programming language is a programming language with strong abstraction from the details of the computer. It uses natural language elements, it is easier to use, making the process of developing a program simpler and more understandable relative to a lower-level language.
Examples of high-level programming languages : Python, Ruby , C++, Java.
Examples of high-level programming languages : Python, Ruby , C++, Java.
4. Assembly language
An assembly language is a low-level programming language for a computer. Each assembly language is specific to a particular computer architecture, in contrast to most high-level programming languages, which are generally portable across multiple architectures, but require interpreters or compiling.
Assembly language is converted into executable machine code by a utility program referred to as an assembler; the conversion process is referred to as assembly, or assembling the code.
Assembly language is converted into executable machine code by a utility program referred to as an assembler; the conversion process is referred to as assembly, or assembling the code.
3. System software
System software is computer software designed to operate and control the computer hardware and to provide a platform for running application software.
System software includes the following:
Operating System like Windows XP, Linux
Compiler
Editor
Command-line interface
System software includes the following:
Operating System like Windows XP, Linux
Compiler
Editor
Command-line interface
2. Machine code
- Machine code or machine language is a set of instructions executed directly by a computer's central processing unit . Each instruction performs a very specific task, such as an ALU operation on a unit of data in a CPU register or memory. Every program directly executed by a CPU is made up of a series of such instructions.
- Numerical machine code (i.e. not assembly code) may be regarded as the lowest-level representation of a compiled and/or assembled computer program or as a primitive and hardware-dependent programming language.
- Almost all practical programs today are written in higher-level languages or assembly language, and translated to executable machine code by a compiler and/or assembler and linker.
1. Control unit
The control unit (CU) coordinates the components of a computer system. It fetches the code of all of the instructions in the program. It directs the operation of the other units by providing timing and control signals. All computer resources are managed by the CU. It directs the flow of data between the Central Processing Unit (CPU) and the other devices.
The control unit is the circuit that controls the flow of data through the processor, and coordinates the activities of the other units within it.
The examples of devices that require a control unit are CPUs and graphics processing units (GPUs).
The control unit is the circuit that controls the flow of data through the processor, and coordinates the activities of the other units within it.
The examples of devices that require a control unit are CPUs and graphics processing units (GPUs).
0. Digital logic
The place where we physically see all the physical chips and circuits.