
{"id":113,"date":"2020-01-07T09:53:49","date_gmt":"2020-01-07T09:53:49","guid":{"rendered":"http:\/\/blog-gn.dronacharya.info\/?p=113"},"modified":"2026-02-12T06:17:50","modified_gmt":"2026-02-12T06:17:50","slug":"computer-organisation-architecture","status":"publish","type":"post","link":"https:\/\/gnindia.dronacharya.info\/blog\/computer-organisation-architecture\/","title":{"rendered":"Computer Organisation and Architecture"},"content":{"rendered":"<p>It&#8217;s impossible to get a solid, well-rounded CS education without understanding <a href=\"https:\/\/gnindia.dronacharya.info\/CSE\/3rdSem\/NptelLinkCOA.aspx?Subject=COA&amp;Semester=3rdSem\"><strong>computer organization and architecture<\/strong><\/a> because too many things depend on such understanding.<\/p>\n<ul>\n<li>Performance analysis of practical software<\/li>\n<li>Parallel software and its execution<\/li>\n<li>Embedded and <a href=\"https:\/\/gnindia.dronacharya.info\/IT\/8thSem\/MobileComputing.aspx?Subject=MC&amp;Semester=8thSem\"><strong>mobile computing<\/strong><\/a><\/li>\n<li>High-performance game programming<\/li>\n<li>High-performance databases<\/li>\n<li>Accelerators, GPGPU computing and related topics<\/li>\n<li>Modern compilers and code optimization<\/li>\n<li>Low- and mid-level networking issues<\/li>\n<\/ul>\n<p><a href=\"https:\/\/gnindia.dronacharya.info\/CSEIT\/3rdSem\/NptelLinkCOA.aspx?Subject=COA&amp;Semester=3rdSem\"><strong>Computer Organization and Architecture<\/strong><\/a> lets you know how exactly each instruction is executed at the micro level.\u00a0 If you plan to study embedded systems\/ <strong>processor design<\/strong>, these concepts are very important, as they form the basis of design strategy. It is also a well-known fact that\u00a0<strong>assembly coding<\/strong>\u00a0is closest to the computer, and it is always most optimum, if written properly. This is very important for\u00a0<strong>real-time<\/strong>\u00a0or time critical systems coding, as each millisecond is very important. Knowing the architecture completely helps you write assembly codes. If you are writing assembly codes, you know exactly how many instructions-cycle it will take to execute it, which is generally not possible in higher languages like C\/Java etc.<\/p>\n<p>The<strong>\u00a0memory hierarchy model<\/strong>\u00a0lets you optimize the Page file\/cache\/RAM, etc. to get the code execute in least time. Also, it lets you know how your own personal computer will perform, and what limits it can reach. It can let you decide what specifications your PC should have to perform well!<\/p>\n<p>Also, it is useful for a\u00a0<strong>coder or <\/strong><a href=\"https:\/\/gnindia.dronacharya.info\/IT\/6thSem\/CompilerDesign.aspx?Subject=CD&amp;Semester=6thSem\"><strong>compiler-designer<\/strong>\u00a0<\/a>as computer organization teaches us how<strong>\u00a0 &#8216;hazards&#8217; and &#8216;stalls<\/strong>&#8216; can be avoided by changing the coding order, and algorithms and to make use of the &#8216;<strong>pipeline<\/strong>&#8216; as best as possible. It basically gives us a very fundamental understanding of how things work in computers.<\/p>\n<p><em><u>A few hard-core technical companies and design houses though might go a level deeper. These include the likes of Nvidia, Intel, Samsung, Qualcomm and some EDA companies (Synopsys, Cadence) etc. Since these companies are in a niche domain of chip-designing, you\u2019ll definitely stand an advantage by knocking off a few questions about computer organization and architecture.<\/u><\/em><\/p>\n<p>If you&#8217;re going to do low level coding, ie device drivers, <a href=\"https:\/\/gnindia.dronacharya.info\/CSE\/4thSem\/OperatingSystem.aspx?Subject=OS&amp;Semester=4thSem\"><strong>operating systems<\/strong><\/a><strong>, compilers<\/strong>, or even some embedded stuff, knowing how a computer works under the hood is basically mandatory.<\/p>\n<p>For higher level languages and use case where you&#8217;re writing user-level code, it&#8217;s not a requirement. You can write <strong>python code<\/strong> without knowing how the computer works. You can even do a substantial amount of hile knowing very little to nothing about the computer under it. And that code will be portable.<\/p>\n<p>But I&#8217;d argue that knowing how the hardware operates makes you a better coder, ESPECIALLY if you&#8217;re writing high performance code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s impossible to get a solid, well-rounded CS education without understanding computer organization and architecture because too many things depend on such understanding. Performance analysis of practical software Parallel software and its execution Embedded and mobile computing High-performance game programming High-performance databases Accelerators, GPGPU computing and related topics Modern compilers and code optimization Low- and&#8230; <\/p>\n<div class=\"link-more\"><a href=\"https:\/\/gnindia.dronacharya.info\/blog\/computer-organisation-architecture\/\" class=\"read-more\">Read More<\/a><\/div>\n","protected":false},"author":1,"featured_media":114,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[83],"tags":[51,54,48,46,56,13,53,55,47,52,49,50],"_links":{"self":[{"href":"https:\/\/gnindia.dronacharya.info\/blog\/wp-json\/wp\/v2\/posts\/113"}],"collection":[{"href":"https:\/\/gnindia.dronacharya.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gnindia.dronacharya.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gnindia.dronacharya.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gnindia.dronacharya.info\/blog\/wp-json\/wp\/v2\/comments?post=113"}],"version-history":[{"count":6,"href":"https:\/\/gnindia.dronacharya.info\/blog\/wp-json\/wp\/v2\/posts\/113\/revisions"}],"predecessor-version":[{"id":333,"href":"https:\/\/gnindia.dronacharya.info\/blog\/wp-json\/wp\/v2\/posts\/113\/revisions\/333"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gnindia.dronacharya.info\/blog\/wp-json\/wp\/v2\/media\/114"}],"wp:attachment":[{"href":"https:\/\/gnindia.dronacharya.info\/blog\/wp-json\/wp\/v2\/media?parent=113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gnindia.dronacharya.info\/blog\/wp-json\/wp\/v2\/categories?post=113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gnindia.dronacharya.info\/blog\/wp-json\/wp\/v2\/tags?post=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}