Lecture 2 – Moore Baba, and the villains

1. Scale Integration ?

We’ve heard of till ULSI – Ultra Large Scale Integration. But, there’s more today. From Pentium to i3, i5 or i7 whatever you have right now. It’s having a high frequency with more than a million (if not billion) transistors per chip. And, now we’re moving to waffer technology where we try to fit everything into one waffer.

2. You might be an atheist, but you must believe in Moore baba.

Everything is based on Moore baba’s predictions. Moore baba predicted in 1965 that every two years the number of transistors in the chip will double! Or the number of transistors you can accommodate in the same space increases. In uni-processes, we have an upper limit for clock frequency, so we have to set a bound to the number of transistors we can have in the same space, even when we theoretically CAN accommodate a lot more.

In fact, have a look at this great plot on the right.

Moore Predictions Trends in IC


3. The clock generator. Continue reading


Lecture 1 – What are you getting into?

1. ISA

We’ve studied Instruction Set Architecture (ISA) before in Microprocessors course. Now, that just forms the middle layer of whole computer. There are two major layers above it – Operating Systems, and Applications (to be dealt in OS course), and two layers below ISA – Digital Design (Done, yay!) and Hardware Implementation.

2. Computer Architects can play Hide ‘n’ Seek

You know you can do the multiplication using repeated addition. So, you can implement it using an adder instead of going for a multiplication circuit. And, anyone who’s not attending Comp. Arch. lectures but attended MuP (ISA) would never get to know the real implementation inside. ISA just says that there’s a mechanism to implement multiplication instruction in the hardware. So, a programmer can use it.

3. Computer Organization

It’s just like you organize your desk, except here, we really do organize stuff. Stuff that’s there in the computer. CPU, Main memory, L1 Cache, L2 Cache, etc. How are they connected? What’s their layout? That is computer organization.

4. But the course is more than Comp Organization.

Computer Architecture = Computer Organization + ISA.
You have to think about the whole thing, not just one of the modules. And, if that’s a bad news for you, leave the blog right away.
It always feels good being a developer, doesn’t it? So, ASSUME you’re writing an application.caLec1
First step -> Algorithm for whatever you have in mind.
But, it doesn’t stop there. When I tell you to think, think bigger. Think that you’re a developer who’s a perfectionist. Who wants to make sure that his program runs in the best way possible on the machine, and for which, you’ve read all the stuff about hardware (computer organization).
Second step -> Understand the architecture on which it’s gonna run.
That is, ISA. When you compile something, it should satisfy the instruction set of the machine on which you’re running your application. Simplest example – your TurboC. Worked brilliantly on 32-bit machines or 16-bit (which you’ve never seen btw), but a 64-bit system is too sophisticated to allow such a lower-class program into the house.

Fun fact : Open terminal. ‘cd /’ and then, ‘cd boot’, and then, ‘ls’. You’ll see at least one vmlinuz-3.xx.xx file. This is your kernel file! The compiled version of it. It is based on your system’s architecture. When you installed your linux OS, it probably got compiled automatically after detecting your system’s architecture. But, you can compile a kernel according to your own configurations. It’s like theming your mobile phone, only difference is, theme adds to look of your device, custom configs would add to performance of your machine. More info : http://www.thegeekstuff.com/2013/06/compile-linux-kernel/
Fun Fact #2 : The whole OS you’re using is implemented on using the ISA of your machine. So, ISA is equally important, bro. Even though we might be dealing with more of Computer Organization in the lab.

5. ISA is public. Internals are private.
Continue reading

Hey there!

Hi! I am gonna write whatever I take back from the lectures of Computer Architecture (plus own findings on the same things in the form of links/text/graphics) taken by Biju K. Raveendran sir at BITS Pilani K K Birla Goa Campus, and I hope this’ll help you out if you’re bunking the classes or couldn’t attend them, or it was clashing with some CDC or whatever the reason might be. You could be a student from outside BITS Pilani too, and this blog might turn out to be really helpful for studying the course. Most of my posts would be (as planned at the time of writing this) my lecture notes from the class, just in a better font here. 😛

I would appreciate and be glad if any other of my classmates also wanna join me in authoring this blog. More topics can be covered than just lectures. We can then go beyond it.
I was inspired by the way Biju sir teaches and even though I know the lectures are being recorded from this time onwards, a (almost similar) script won’t really do any bad. It’s a simple concept – if you can’t be a candle, you can be a mirror. This is just a try at that. That said, the sole reason for writing this blog isn’t for offering a place from where you can revise, I’m building it in the hope that it could act as a place of discussion, sometime?

Your comments/suggestions would help a lot. Not just me as a student, but everyone who would read this blog. But, you can do better by finding out mistakes and sharing your own knowledge on the topic, maybe? Or any worthy link/pdf/video you find.

Thanks and I hope you enjoy the read. I’ll be publishing new posts as soon as I can.