sounds not clear right , and also sounds like you don't have time to look at all videos. But anyway,
there are many things that I even don't know on those videos. So when you could allocate some time
please carefully go through those videos.
Instruction Set Architecture means how a computer programmer sees the processor.
These are the things included in the ISA.
* registers and status.
* memory management of the processor[ whether it's real/virtual memory, what kind of security like bound checking is
implemented , segments , paging etc etc....this is a whole topic].
* interrupts and exception handling. [ which is also visible to the system programmer].
* All about instructions [what kind of instructions are there(cisc or risc) , what kind of CPU is it, Register/stack or
accumulator, what kind of instructions it provides, arithmetic , IO, data fetch/store, interrupts ,string etc etc].
* The multiprocessing mechanism. [ How it supports the multiprocessing , multithreading and how the scheduler in a
OS kernel should be implemented ].
* FPU support and it's interface.
* other extended instruction sets like SMID [ex-MMX or 3D now technology instruction set].
Simply what's all in the system/application programmer's reference manual.
So what is the microarchitecture ?
that's what does not visible to the system/application programmer. These are the things that come under
it.
* caching mechanism [ whether it's a 2-way or 3-way cache, what kind of inter-cache communication is there when
multiple CPUS have their local caches (cache coherence) ]
* Pieplining. [ what kind of a pipeline is it? and how it is implemented , and how the pipeline stalls are avoided
or optimized out, interlocking or register forwarding, instruction scheduling and out of order execution units
and how they are implemented etc. etc.].
* support of the superscaling processing.
* Internal implementation of SMP [ for a example hyperthreading , there are two thread contexts which is maintained
by the processor and it could optimize and utilize the processor resources. Please note that hyperthreading is a SMT
concept , but it shows to the operating system as the processor have just two SMP units.that's how it works.
So actually it's SMT units and it's belongs to microarchitecture but it's interface as a two SMP units where operating
system can see it , as a part of the instruction set architecture].
And when it comes to memory organization these are the topics that you should cover.
* understanding of memory hierarchy. Highest level there are registers and caches and lower level
we have flash memory and magnetic disks.
* virtual and physical addressing of memory.
* paging and segmentation.
* exceptions and how the virtual memory manager works.
[ the mechanism how a page fault exception is used by the operating system to implement it's
replacement]
* Memory mapped files and swapping. [ you need to understand the mechanisms clearly].
* Structure of a typical executable file [ understand it's segments , and their purposes].
* caching memory.
* Mapping policies
* direct mapping.
* fully associative mapping.
* associative mapping.
* Timing.
* you could be able to calculate the time in the case of cache miss or case hit in multiple level
of cache
.
* Replacement Policy.
* in the direct mapping there is no need to implement any replacement policy, but in other two
method there are two specific policies related to the cache block replacement.
[ FILO method, LRU method ]locality of reference.Their advantages and disadvantages.
So simply you can't study these all topics in a one hour. But you could done it in a one day[in the case of me:
done the most sades assignment that I've met].
And when you referring to the computer architecture Quantitative approach please read the appendix before
you understand the concepts. Otherwise it's worthless.Appendix A is important to read, because it covers the
half of the geek alphabet.(I've wasted around 1 hour struggling with that without referring to the Appendix
damm it ).
Hope you'll have a nice day(believe me it's, even it's the most sadest assignment till now).Any unclear things
please use this thread to ask. I'll help if I could. 24 hours is more than enough believe me, but don't skip the
topics.
--sandun--