Processors

MODERN ARCHITECTURE IMPROVEMENTS

INTRODUCTION

If Designers were only dependent on increasing the clock freq of the processor then CPU performance enhancement could have stalled years ago as laws of physics limit how fast a processor can run. Instead designers have focused on internal structure as well clock speeds to enhance the performance. Since the days of basic 8088 processors, clock speed has gone up by 650 times but performance has been enhanced by over 6500 time which shows that how big is the contribution of internal structure to the performance enhancement. Some of the major architecture improvements are as given next.

WIDER DATA BUSES AND REGISTERS:

In the basic microprocessors we used to deal with 4 bit or 8 bit data at one time so if had to operate on 16 bit data then 4 bit processors would take at least 4 cycles but nowadays we deal in 16 bit or 32 bit or higher data at one time. Hence we can have higher processing speeds.

FPUs (FLOATING POINT UNITS):

Nowadays separate processors are used which are called co-processors, to process floating point numbers and other math operations which may take a lot of time on a simple processor. Main processor just sends an interrupt to the co processor and sends the data to the coprocessor and wait for the results. Hence FPUs have been a great help to enhance the speed of processors. E.g. 8087 is the co processor for 8086. Hmmm….this is similar to case where a person takes a calculator with him just to enhance his performance.

PIPELINING: 

In the basic architecture processor an instruction is first fetched and then executed and then the next instruction is fetched and so on while in the pipelined architecture and execution goes in parallel. so firstly one instruction is fetched and then while instruction already fetched is EXECUTED, 2nd instruction is fetched. now when in the next cycle 2nd instruction is executed, third instruction is fetched and so on. Hence this way fetching and execution goes in parallel. So we get the enhanced performance of the system.

So a 4 instruction program gets executed in 5 cycles while without pipelining it takes 8 cycles(1 for each fetch and execution)

So speedup=8/5=1.6

But there is a problem in pipelining in case if branch instructions. As when there is a branch instruction, we have to jump to some new address so the instruction which is already fetched has to be flushed.

But there is a problem in pipelining in case if branch instructions. As when there is a branch instruction, we have to jump to some new address so the instruction which is already fetched has to be flushed.

Eg –

1. Mov a,b

2. Add a,c

3. Jmp  10

4. Mov b, a

……….

………

10. Mov c,a

And corresponding pipelining diagram would be

Now we can see there is wastage of 1 complete cycle due to one branch instruction so speedup would be lesser.

GENERAL PIPELINING SYSTEM:

Suppose we have n segment pipelining system:

If a first segment takes T1 seconds and second segment takes T2 and so on…

Then clock period T is given by

T= max (T1, T2………..Tn) + latch time

And clock freq is given by F= 1/T

Suppose if we have total of n segments/ stages of the pipelining system and m no. of tasks then

Total time taken to execute m instructions = (m+n-1)*T while without pipelining time taken is m*n*T

SPEEDUP (while ignoring branch instructions) = S (n) =m*n*T / (m+n-1)*T = mn / m+n-1

EFFICIENY= SPEEDUP/ MAX SPEEDUP=S (n)/ n= m/ (m+n-1)

Divide numerator and denominator by m and we see that for m -> very large value we get efficiency as 1

And for a single branch instruction there would be n-1 extra cycles as shown below for a 5 stage pipeline system and following are the 5 stages of five stage pipelining:

S1.  Instructions fetch

S2   Instruction decode

S3   Operand fetch

S4   Operation execution

S5   Result saving

Let the sample program be

  1. I1
  2. I2
  3. I3(branch instruction to I4)
  4. I6
  5. I7
  6. I8
  7. I9
  8. I4

And the pipelining system diagram is

So if we have n pipeline system and m no of instructions and p is the probability of branch instructions then m*p is the no of branch instructions so

Total no of clock cycles are (m+n-1) + m*p*(n-1)

CPI (no. of clock cycles per instruction) = {(m+n-1) + m*p*(n-1)} / m

BRANCH PREDICTOR:

The branch predictor attempts to guess, before the execution actually reaches the branch instruction, where the program will jump (or branch) next, allowing the prefetch and decode unit to retrieve corresponding instructions and data in advance so that they will already be available when the CPU requests them. So this way we reduce the occurrence of the extra cycles due to branch instruction and hence enhance the performance. However if branches are predicted poorly then we may have to flush the entire pipeline.

SUPERSCALAR ARCHITECTURE:

If we are using more than one pipeline in the processor architecture then it is called super scalar architecture. So in this architecture multiple instructions are executed in one clock cycle. These processors employ out of order execution governed by data dependencies. It means that the instructions are evaluated and only independent instructions are executed in parallel.

E.g.

Mov a, c

Mov r1, b

Mov r2, r3

All these instructions are independent and hence can be executed in parallel while the instructions

Mov a, b

Mov c, a

are dependent and can not be executed in parallel.

So this way dependences are checked and then they are executed in parallel if found independent

80 Replies to “MODERN ARCHITECTURE IMPROVEMENTS

  1. Thanks , I have recently been looking for information approximately this subject for ages and yours is the best I’ve found out till now. However, what about the conclusion? Are you certain about the source?

  2. Depois que a maioria dos telefones celulares for desligada, a restrição à entrada incorreta de senha será suspensa. Neste momento, você pode entrar no sistema por meio de impressão digital, reconhecimento facial, etc.

  3. We’re a group of volunteers and starting a new scheme in our community. Your site provided us with valuable info to work on. You’ve done an impressive job and our whole community will be thankful to you.

  4. Hi there, You’ve performed an excellent job. I will definitely digg it and in my opinion suggest to my friends. I’m sure they’ll be benefited from this web site.

  5. Hi there, just became aware of your blog through Google, and found that it is really informative. I am gonna watch out for brussels. I’ll be grateful if you continue this in future. Numerous people will be benefited from your writing. Cheers!

  6. Hi! I know this is somewhat off topic but I was wondering which blog platform are you using for this site? I’m getting tired of WordPress because I’ve had issues with hackers and I’m looking at alternatives for another platform. I would be great if you could point me in the direction of a good platform.

  7. Thank you for any other informative website. Where else may just I am getting that type of info written in such an ideal means? I have a undertaking that I’m simply now working on, and I’ve been at the look out for such info.

  8. Excellent blog! Do you have any helpful hints for aspiring writers? I’m planning to start my own blog soon but I’m a little lost on everything. Would you propose starting with a free platform like WordPress or go for a paid option? There are so many choices out there that I’m totally confused .. Any suggestions? Bless you!

  9. hello there and thanks for your info – I have definitely picked up anything new from proper here. I did however expertise a few technical issues the usage of this site, as I skilled to reload the site a lot of times prior to I may just get it to load properly. I had been wondering if your hosting is OK? Now not that I am complaining, but slow loading circumstances occasions will often have an effect on your placement in google and can injury your quality rating if ads and ***********|advertising|advertising|advertising and *********** with Adwords. Well I am including this RSS to my email and could look out for a lot extra of your respective exciting content. Ensure that you update this again very soon..

  10. Appreciating the time and energy you put into your website and in depth information you present. It’s awesome to come across a blog every once in a while that isn’t the same outdated rehashed material. Excellent read! I’ve saved your site and I’m adding your RSS feeds to my Google account.

  11. Great tremendous things here. I am very happy to look your article. Thank you so much and i am having a look ahead to contact you. Will you please drop me a e-mail?

  12. Pretty component to content. I just stumbled upon your site and in accession capital to claim that I get actually enjoyed account your weblog posts. Any way I will be subscribing for your augment and even I success you access consistently fast.

  13. Some genuinely excellent info , Glad I noticed this. “A kiss is a lovely trick designed by nature to stop speech when words become superfluous.” by Ingrid Bergman.

  14. Great site. Plenty of helpful information here. I’m sending it to some pals ans also sharing in delicious. And naturally, thanks on your effort!

  15. Hi there, simply turned into alert to your blog through Google, and found that it’s truly informative. I am going to watch out for brussels. I will appreciate should you continue this in future. Numerous other folks shall be benefited from your writing. Cheers!

  16. When I initially commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get several e-mails with the same comment. Is there any way you can remove people from that service? Thanks!

  17. Pretty nice post. I just stumbled upon your blog and wished to say that I’ve really enjoyed browsing your blog posts. After all I will be subscribing to your rss feed and I hope you write again soon!

  18. Thanks, I have recently been searching for info about this subject for a long time and yours is the greatest I have came upon so far. But, what concerning the bottom line? Are you certain about the source?

  19. An attention-grabbing discussion is worth comment. I think that it’s best to write more on this topic, it won’t be a taboo topic but generally persons are not enough to speak on such topics. To the next. Cheers

  20. I simply couldn’t depart your web site before suggesting that I really enjoyed the usual information an individual provide to your guests? Is gonna be back regularly to investigate cross-check new posts.

  21. Hello there, I discovered your site via Google at the same time as looking for a comparable matter, your web site came up, it seems to be good. I have bookmarked it in my google bookmarks.

  22. I am curious to find out what blog platform you have been using? I’m experiencing some small security problems with my latest site and I’d like to find something more safeguarded. Do you have any recommendations?

  23. Hi , I do believe this is an excellent blog. I stumbled upon it on Yahoo , i will come back once again. Money and freedom is the best way to change, may you be rich and help other people.

  24. I am now not positive the place you’re getting your information, however great topic. I needs to spend a while learning more or understanding more. Thank you for magnificent info I was in search of this info for my mission.

  25. I just could not depart your website before suggesting that I extremely loved the standard information an individual provide for your visitors? Is gonna be again frequently in order to check out new posts.

  26. Hey! I know this is kinda off topic however , I’d figured I’d ask. Would you be interested in trading links or maybe guest writing a blog post or vice-versa? My blog goes over a lot of the same subjects as yours and I think we could greatly benefit from each other. If you are interested feel free to send me an email. I look forward to hearing from you! Awesome blog by the way!

  27. I do not even know how I ended up here, but I thought this post was great. I don’t know who you are but definitely you are going to a famous blogger if you are not already 😉 Cheers!

  28. Just want to say your article is as astounding. The clarity in your post is just cool and i can assume you are an expert on this subject. Fine with your permission let me to grab your RSS feed to keep updated with forthcoming post. Thanks a million and please carry on the gratifying work.

  29. Wow! This can be one particular of the most helpful blogs We’ve ever arrive across on this subject. Basically Excellent. I’m also a specialist in this topic therefore I can understand your hard work.

  30. Hi! This is my first comment here so I just wanted to give a quick shout out and say I genuinely enjoy reading through your blog posts. Can you recommend any other blogs/websites/forums that go over the same topics? Thanks for your time!

  31. Thanks for another informative blog. Where else could I get that kind of info written in such an ideal way? I’ve a project that I’m just now working on, and I have been on the look out for such info.

  32. Great work! This is the type of info that should be shared around the web. Shame on the search engines for not positioning this post higher! Come on over and visit my web site . Thanks =)

  33. Hi there just wanted to give you a quick heads up. The text in your post seem to be running off the screen in Safari. I’m not sure if this is a format issue or something to do with internet browser compatibility but I figured I’d post to let you know. The layout look great though! Hope you get the issue fixed soon. Kudos

  34. Today, while I was at work, my cousin stole my apple ipad and tested to see if it can survive a forty foot drop, just so she can be a youtube sensation. My apple ipad is now broken and she has 83 views. I know this is entirely off topic but I had to share it with someone!

  35. I’ve been absent for some time, but now I remember why I used to love this blog. Thanks , I will try and check back more frequently. How frequently you update your site?

  36. Great V I should definitely pronounce, impressed with your site. I had no trouble navigating through all the tabs and related info ended up being truly simple to do to access. I recently found what I hoped for before you know it at all. Quite unusual. Is likely to appreciate it for those who add forums or anything, web site theme . a tones way for your customer to communicate. Nice task..

  37. You really make it seem really easy together with your presentation but I to find this topic to be really something that I feel I’d never understand. It kind of feels too complex and very vast for me. I am having a look forward on your next submit, I will attempt to get the hang of it!

  38. Good info and straight to the point. I am not sure if this is actually the best place to ask but do you people have any thoughts on where to get some professional writers? Thanks 🙂

  39. I’m not sure exactly why but this web site is loading very slow for me. Is anyone else having this issue or is it a issue on my end? I’ll check back later and see if the problem still exists.

  40. You actually make it seem so easy together with your presentation however I in finding this matter to be actually one thing that I believe I’d by no means understand. It kind of feels too complex and extremely broad for me. I’m having a look ahead on your next put up, I?¦ll try to get the hold of it!

  41. I am really impressed with your writing skills as well as with the layout on your blog. Is this a paid theme or did you modify it yourself? Either way keep up the excellent quality writing, it is rare to see a nice blog like this one nowadays..

  42. Just desire to say your article is as astonishing. The clearness in your post is just excellent and i could assume you are an expert on this subject. Fine with your permission allow me to grab your feed to keep updated with forthcoming post. Thanks a million and please carry on the rewarding work.

  43. What’s Taking place i’m new to this, I stumbled upon this I have found It positively useful and it has aided me out loads. I hope to give a contribution & assist other customers like its helped me. Great job.

Leave a Reply

Your email address will not be published. Required fields are marked *