You may have gotten a lot of these
abstractions yourself, but let's walk through and think
about all the abstractions that sit between the
electrons and holes, and applications at the top. We've
already talked about the transistor, we know at
the lowest level of the hierarchy, the movement of
the electrons in the holes. Are governed by
the laws of physics. And as I mentioned earlier,
transistor reigns in the randomness in the movement
of electrons and holes, and gives us an
abstraction of a switching device, which is the
transistor. Using the switching device which is a transistor,
we can implement. The next level up in
the hierarchy which are logic gates. Here is where
the and- gates and the or-gates and the
not-gates come in, where we are implementing Boolean logic
using transistor as a switching device. Sequential and combination logic
elements are implemented using logic gates such as and, not and or. Logic
elements. Sequential and combination logic elements are then organized into a
data pack, depending on what hardware
circuitry, or functionality we want to implement.
The data pack establishes the communication paths
we need between these combinational, and sequential
logic elements. To realize whatever is the
hardware device that we're trying to design, and
the control part of it is a finite shaped machine that controls the data
path, and implements the repertoire of the
hardware device that we are trying to realize.
And for instance, if. The intent is to implement a processor, then
the instructions in the processor have to be implemented using the data pad, and
controlled by the control logic. Next level up in this hierarchy is the
instruction set architecture. This is the
abstraction that is defined by a processor.
When you hear the promo commercial, for instance, that says Intel Inside, it
is the ISA, or the Instruction Set Architecture that is being talked about
by the promo. Buried within. This term ISA,
or the abstraction ISA, is all the details of how the
ISA is actually implemented by the data path and
the control logic. Now we come to software. Sitting on top of the
Instruction Set Architecture, is the system software.
Operating systems, compilers, run-time systems and so
on, that exercise the instructions provided by
the processor architecture. Finally, we have apps
on top. This is where applications like Google Earth come in. Notice that the
abstraction that is used by the
applications themselves is the high level language
in which these applications are written. The
system software component such as the compiler,
translate the high level language used.
In writing these applications into the instructions
that can be executed on the processor.
Similarly, the operating system provides interface for
the applications to request services of
the operating system. For instance, to access
specific devices. During the execution of
the application, or for getting resources such
as memory. On demand, those are the functions provided by the operating system
as an abstraction. Thus, the instruction
set is the meeting point between software.
And hardware. It serves as the abstraction needed by the system software, for
example, the compiler, to generate the code
that corresponds to the high-level language constructs
that are being used in coding up an application. The software, whether it is.
At the system software level or at the application level does not care and
does not know how this instruction set may
actually be implemented down below. Meaning the implementation
of the instruction set itself in terms of
data path and control. The sequential logic, elements that
sit below that, are the logic gates of
the transistor, or finally the electrons and [INAUDIBLE],
they don't care what programs are running on
top of the processor. So the instruction said architecture
is the meeting point between software and
hardware. The hardware implementation simply fulfils the
contract. Of realizing the instructions of architecture
of the processor. Operation system is the
abstraction level we will be focusing on in this course, which is a course
on advanced operating systems. You will have
the opportunity to learn about other levels.
In this hierarchy, from other courses that are offered through this program.