{"id":400,"date":"2020-08-18T19:23:47","date_gmt":"2020-08-18T20:23:47","guid":{"rendered":"http:\/\/www.linux-tutorial.info\/?page_id=77"},"modified":"2020-08-22T19:25:16","modified_gmt":"2020-08-22T20:25:16","slug":"this-is-the-page-title-toplevel-233","status":"publish","type":"page","link":"http:\/\/www.linux-tutorial.info\/?page_id=400","title":{"rendered":"Address Spaces"},"content":{"rendered":"\n<title>Address Spaces<\/title>\n<p>\nThe system bus connects the <glossary>CPU<\/glossary> with the main memory and is\nseparate from the buses connecting the <glossary>CPU<\/glossary> with the system&#8217;s\nhardware peripherals. Collectively the memory space that the hardware peripherals\nexist in is known as I\/O space. I\/O space may itself be further subdivided, but we\nwill not worry too much about that for the moment. The <glossary>CPU<\/glossary>\ncan access both the system space memory and the I\/O space memory, whereas the\ncontrollers themselves can only access system memory indirectly and then only with\nthe help of the <glossary>CPU<\/glossary>.\nFor example the floppy disk controller can only see the address space that its\ncontrol registers are in (ISA), and not the system memory\n<p>\nTypically a <glossary>CPU<\/glossary> will have separate instructions for accessing the\nmemory and I\/O space. For example, there might be an instruction that means\n&#8220;read a byte from I\/O address <em>0x3f0<\/em> into <glossary>register<\/glossary> X&#8221;.\nThis is exactly how the <glossary>CPU<\/glossary> controls the system&#8217;s hardware\nperipherals, by reading and writing to their registers in I\/O space.\nWhere in I\/O space the common peripherals (<glossary>IDE<\/glossary> controller,\nserial port, floppy disk controller and so on) have their registers has been set by\nconvention over the years as the PC architecture has developed. The I\/O space\naddress <em>0x3f0<\/em> just happens to be the address of one of the serial port&#8217;s\n(COM1) control registers.\n","protected":false},"excerpt":{"rendered":"<p>Address Spaces The system bus connects the CPU with the main memory and is separate from the buses connecting the CPU with the system&#8217;s hardware peripherals. Collectively the memory space that the hardware peripherals exist in is known as I\/O &hellip; <a href=\"http:\/\/www.linux-tutorial.info\/?page_id=400\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-400","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=400"}],"version-history":[{"count":1,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/400\/revisions"}],"predecessor-version":[{"id":495,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/400\/revisions\/495"}],"wp:attachment":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}