{"id":16,"date":"2017-04-04T20:02:01","date_gmt":"2017-04-04T16:32:01","guid":{"rendered":"http:\/\/haghiri75.com\/en\/?p=16"},"modified":"2017-04-04T20:02:01","modified_gmt":"2017-04-04T16:32:01","slug":"microcontrollers-design-and-implementation-released","status":"publish","type":"post","link":"https:\/\/haghiri75.com\/en\/microcontrollers-design-and-implementation-released\/","title":{"rendered":"Microcontrollers, Design and Implementation released!"},"content":{"rendered":"<p>It was about two years I started serious study on computer architecture. In these years, I learned a lot and I could simulate and implement a microprocessor, similar to real ones. In Summer 2016, I decided to share my experience with others. Then, I started writing this book. This book has seventeen chapters, and after reading this book, you will have a concept of computer architecture.<\/p>\n<h2 id=\"chapters\">Chapters<\/h2>\n<ul>\n<li><strong>License<\/strong> &#8211; Licensing and Copyrights<\/li>\n<li><strong>Introduction<\/strong> &#8211; A quick review of the book, defining target audience of the book.<\/li>\n<li><strong>Chapter 1 : What\u2019s a microcontroller?<\/strong> &#8211; This chapter, defines a microcontroller. After reading this chapter you\u2019ll understand the internal parts of a microcontroller. It\u2019s completely theory, but you need the concepts.<\/li>\n<li><strong>Chapter 2 : How to talk to computer?<\/strong> &#8211; In this chapter, we have a quick view on programming and then, machine language. We determine the word size of our processor in this chapter.<\/li>\n<li><strong>Chapter 3 : Arithmetic Operations<\/strong> &#8211; This chapter focuses on arithmetic operations in base 2.<\/li>\n<li><strong>Chapter 4 : Logical Operations<\/strong> &#8211; This is all about boolean algebra, the very basic introduction to logical circuits.<\/li>\n<li><strong>Chapter 5 : Logical Circuits<\/strong> &#8211; Our journey starts here, we learn how to make logics using <strong><em>NAND<\/em><\/strong> in this chapter, and then, we learn the logic gates.<\/li>\n<li><strong>Chapter 6 : Combinational Circuits<\/strong> &#8211; This chapter is where you learn how to combine simple logics together and make more complex logics. Actually, you learn how to implement Exclusive OR and Exclusive NOR using other gates.<\/li>\n<li><strong>Chapter 7 : The First Computer<\/strong> &#8211; In this chapter, we make a simple <strong><em>Addition Machine<\/em><\/strong>.<\/li>\n<li><strong>Chapter 8 : Memory<\/strong> &#8211; In this chapter, we just take a look on sequential circuits.<\/li>\n<li><strong>Chapter 9 : Register File<\/strong> &#8211; After we learned sequential circuits, we make registers and then, we make our register file.<\/li>\n<li><strong>Chapter 10 &#8211; Computer Architecture<\/strong> &#8211; In this chapter, we\u2019ll learn theory and basics of computer architecture and organization .<\/li>\n<li><strong>Chapter 11 &#8211; Design, Advanced Addition Machine<\/strong> &#8211; In this chapter, we add memory blocks to our addition machine.<\/li>\n<li><strong>Chapter 12 &#8211; The Computer (Theory)<\/strong> &#8211; In this chapter, we decide about what our computer should do. Actually, we design a simple <strong>ISA<\/strong>.<\/li>\n<li><strong>Chapter 13 &#8211; Arithmetic and Logical Unit<\/strong> &#8211; Now, it\u2019s time to design our ALU.<\/li>\n<li><strong>Chapter 14 &#8211; Program Structure<\/strong> &#8211; In this chapter we decide about programming and machine language, and we design a simple instruction code.<\/li>\n<li><strong>Chapter 15 &#8211; Microcontroller<\/strong> &#8211; And finally, we add the RAM to our ALU, and we\u2019ll have our simple microcontroller.<\/li>\n<li><strong>Chapter 16 &#8211; Programming and Operating System<\/strong> &#8211; In this chapter, we actually talk about the software layer of computers.<\/li>\n<li><strong>Chapter 17 &#8211; The Dark Side of The Moon<\/strong> &#8211; The final chapter, is all about making real hardware, we take a look at transistors, integrated circuits and HDL\u2019s here.<\/li>\n<\/ul>\n<p>Link to PDF File : <a href=\"https:\/\/github.com\/prp-e\/micro-controller-design\/releases\/download\/1.0\/microcontroller-design.pdf\" target=\"_blank\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>It was about two years I started serious study on computer architecture. In these years, I learned a lot and I could simulate and implement a microprocessor, similar to real ones. In Summer 2016, I decided to share my experience with others. Then, I started writing this book. This book has seventeen chapters, and after &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/haghiri75.com\/en\/microcontrollers-design-and-implementation-released\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Microcontrollers, Design and Implementation released!&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[2],"tags":[11,13,6,7,12,14,15],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8BkKn-g","jetpack-related-posts":[{"id":97,"url":"https:\/\/haghiri75.com\/en\/how-to-be-a-hardware-engineer\/","url_meta":{"origin":16,"position":0},"title":"How to be a hardware engineer","author":"prp-e","date":"October 4, 2017","format":false,"excerpt":"A computer, is made up of hardware and software. Lots of people like to write and develop software, so the internet is full of topics like \"How to be a software engineer\" or \"how to write a computer program\" and also, there is a lot of great and free tutorials\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":44,"url":"https:\/\/haghiri75.com\/en\/reverse-engineering-of-8086-from-a-calculator-to-the-most-used-processor\/","url_meta":{"origin":16,"position":1},"title":"Reverse engineering of 8086, from a calculator to the most used processor","author":"prp-e","date":"April 22, 2017","format":false,"excerpt":"If you have a laptop or desktop computer, you probably use a 8086-based CPU, or one implementation of x86 family to be exact. For example, I have a Lenovo laptop with a Core i5 CPU, which is based on x86 architecture. In this article, I want to talk about x86\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":29,"url":"https:\/\/haghiri75.com\/en\/how-to-make-a-computer-program\/","url_meta":{"origin":16,"position":2},"title":"How to make a computer program","author":"prp-e","date":"April 12, 2017","format":false,"excerpt":"This is a clich\u00e9 in IT and computer related blogs. You can find at least one topic on How to make a computer program in every blog written by a computer expert (scientist, engineer or experimental expert). So, I also decided to write about it. In this topic, I'm going\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":86,"url":"https:\/\/haghiri75.com\/en\/importance-of-iot\/","url_meta":{"origin":16,"position":3},"title":"Importance of IoT","author":"prp-e","date":"August 23, 2017","format":false,"excerpt":"For the last 25 years, a ghost is flying over our world, it's the ghost of \"Internet\". From 80's, internet became one of the most used tools for international communications, such as knowledge sharing. So, a lot of people started using internet to share knowledge, to do research or even\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":202,"url":"https:\/\/haghiri75.com\/en\/severus-does-the-magic\/","url_meta":{"origin":16,"position":4},"title":"Severus does the magic","author":"prp-e","date":"September 11, 2022","format":false,"excerpt":"It is not too long after I told you that I was too cheap to pay $10 a month for github copilot and I came up with the idea for Severus, my own AI pair programmer. It was something that went boom. My blog usually doesn't have more than 20\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/warforged_wizard_by_captdiablo_de2mwm8-pre-1024x724.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/warforged_wizard_by_captdiablo_de2mwm8-pre-1024x724.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/warforged_wizard_by_captdiablo_de2mwm8-pre-1024x724.jpg?resize=525%2C300 1.5x"},"classes":[]},{"id":150,"url":"https:\/\/haghiri75.com\/en\/why-i-love-yolov5\/","url_meta":{"origin":16,"position":5},"title":"Why I love YOLOv5?","author":"prp-e","date":"December 12, 2021","format":false,"excerpt":"I am a big fan of Nicholas Renotte's channel on YouTube. I also love computer vision and its combination with deep learning. A few months ago, Nicholas posted this video, which is about YOLOv5. I usually am too lazy to watch videos which are longer than 15 minutes and I\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/splash-1024x677.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/splash-1024x677.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/splash-1024x677.jpg?resize=525%2C300 1.5x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/posts\/16"}],"collection":[{"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":2,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/posts\/16\/revisions"}],"predecessor-version":[{"id":18,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/posts\/16\/revisions\/18"}],"wp:attachment":[{"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/media?parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/categories?post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/tags?post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}