码迷,mamicode.com
首页 > 其他好文 > 详细

1.基础知识

时间:2014-11-04 14:42:30      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:style   color   ar   使用   sp   文件   数据   问题   代码   

微机原理与接口:PC机和CPU物理结构和编程结构
组成原理:计算机的结构,功能,性能的研究
汇编语言:利用硬件系统的编程结构和指令集有效灵活的控制系统


汇编语言(助记符)
    就像产品经理提到的用户体验,设汇编程序猿为用户,我们发现机器指令太长怎么办?创建助记符,在代码提交时根据助记符转换为机器码,这种解决方案有2个工作要做,1是机器码与助记符的关系要提前设置好,2是要提供api...做为一种跨时代的解决方案,助记符与机器码的关系映射并不需要程序猿去完成(爽,不过换句话说,自定义什么的是别想了),而且感觉如果助记符都相同的话,传说中的跨平台就已经完成了,想想就很兴奋,遗憾的是硬件提供的功能(机器码),还真不是那么好统一的,总而言之,可以认为一套cpu就有一套不同的助记符,只不过简单的功能都被遵守了(看起来像xxx规范,但是没找到),就这跨平台接着说,只要在包装一种语言,他在底层能区分cpu的话,将他的语法转换成cpu对应的汇编在转换成机器码好像就可以了....
    总之汇编语言就这么形成了,他有一下3种指令
    (1).汇编指令:机器码助记符,对应机器码
    (2).伪指令:由编译器执行(理解),无对应机器码
    (3).其他符号:+-*/

存储器和寄存器    
    有了助记符就能写实现了,说到实现,做为bi端的屌丝,我的第一个问题就是数据从哪来,模型是否支持(数据库里根本就没有需求需要实现功能所需要的数据太正常了),顺便吐槽下,bi端的屌丝权限非常低,比如不能使用配置文件(架构组管理,架构组不提供bi的端配置文件),不能创建数据表(模型组管理,模型不支持想办法)...假设一定要使用配置文件,需要新立个需求,创建ui界面,然后将配置写入数据库...

    存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据,比如硬盘,内存

    就像我们的项目,数据来自数据库中,也可以来自资源文件,但就像我们不能访问资源文件一样,cpu也不能访问硬盘,我们只能访问数据库,cpu需要访问内获取数据,我们获取的数据必须放到模型中(bean),cup操作数据也必须放到寄存器中(尽管原因不一样,也没啥关系,但就是想让我吐个槽)

存储单元:存储单元==字节

CPU对内存的读写
    就像cpu只识别0/1,访问内存所做的事情也就2件,读/写,相对的,进行读操作需要知道那个存储单元以及读取到的数据,而写则需要知道将什么数据,放到那个但愿,这些传输必须通过硬件支持,就像我们封装好的方法一下,内部如何调用就不用去管了,反正会有3个变量
    存储单元的地址(地址信息)
    读或写的数据(数据信息)
    读/写命名(控制信息)32
地址总线大小(多少),即CPU可管理的范围,比如32位地址信息,他的地址信息"类型"(数据库中的类型)是32位,位是0/1,他所能代表的范围就是32个1打满的二进制+1即2的32次方
数据总线大小,即一次传输能力的大小(太小了多传几次,太大了高位传0,或者说控制总线总线根本不会去读取高位)
控制总线大小,即处理能力的大小,1根控制总线只提供读/取,显然没问提,但如果封装一些固定逻辑,即可以极大的减少数据传输的次数
由此总结,cpu可支配的内存大小与地址总线相关,一次传输的大小与数据总线相关,而具体要传输多少次,则跟控制总线相关...(有木有感觉控制总线又跟机器码/助记符相关)

内存地址空间
    cpu需要通过地址的唯一id进行内存(数据)的访问,如果内存分多块怎么办?我是不知道怎么处理的,看起来IBM大叔再次将他封装给硬件,这样我们使用的就只能称之为统一的内存模型,他的地址与内存条上的地址可能并不一样,但绝对是唯一的,至于其具体的范围关系..Who cares.

1.基础知识

标签:style   color   ar   使用   sp   文件   数据   问题   代码   

原文地址:http://www.cnblogs.com/liuCy/p/4073405.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!