程序员基层知识程序与cpu【更新1】
我是一个小白,但我通过学习我慢慢的懂了一些事。分享出来有错误的望大咖指导。
我们要很明确的明白我们学的是编程而不是编程语言,编程语言只是工具用来方便我们做很多编程有关的事。
- 首先我在学习的过程中,第一节课让我明白的东西(程序与cpu的关系)
- 在说程序与cpu关系之前,我们要明白第一点cpu是什么?cpu就是中央处理器。是负责我们整体计算机的控制
- 那么我们要更深层的理解第一点,是怎么的一种结构可以使得它能实现对整体电脑的呢?
- 这个问题很好解决,是由寄存器,控制器,运算器,时钟来构建cpu的内部环境的。
- 那么为什么这样的体系可以实现控制呢?嗯寄存器主要是负责短暂的存储值的东西,也可以这么说存储大部分的数据。控制器的功能嘛就是负责寄存器内部读取与写出等等功能。运算器的功能可以这么理解是一个逻辑运算的单元,可以协助控制器,寄存器等作用。时钟的作用很有意思哦,cpu不是死的吗?有了时钟的作用大大让它活起来了,它指的是频率,扯淡下哈,ghz是什么,哈哈是不是很熟。好了回答下;一个ghz相当于每秒处理十万亿次的运算。
- 说了这么多关于cpu的组成主要是要理解cpu是怎么运作的。那么我们说下什么是程序,程序是我们拿着一段数据如何来计算一个先后顺序。或者这么说将一些指令有序排列并让它按规矩走。程序包含两样数据与算法
- 好说了这么多,回答最核心的问题:程序与cpu的关系
- 代码>exe>加载>cpu
- 我们写一大堆有效的代码通过一些家伙转换成exe也可以是别的,然后们双击它就可以执行了。
- 主要的有一点:我们做的东西其实就是如何转换成程序,让电脑懂并让它执行所以这就是我理解的程序与cpu如果有错望大咖来指
说了这么多有没发现一个问题,我们为什么要写代码,然后转换成exe,exe又是什么?
简单的提一下我们电脑语言有哪些。两种高级语言和低级语言,而高级语言有c语言啊,c++,java,等等我们人类能懂的东西。那么低级语言是什么呢?就是计算机能懂的语言,比如0和1。这些知识是为了更好的去理解二进制问题,好了各位小伙伴们今天我就分享到这里,下一更我会把我学到的东西分享出来。写这样的东西目的1当复习和分享出来如果有错的指出让我纠正,2呢和自学语言的小伙伴们一起成长。
程序员基层知识程序与cpu【更新1】的更多相关文章
- 一个优秀windows C++程序员的知识体系[转]
转自:一个优秀windows C++程序员的知识体系 思考一个优秀windows C++ 程序员该有哪些知识,可最终发现什么知识都不能少, 看下图: 除了上面知识,程序员还要不断学习, 保持对新知识的 ...
- 每个程序员都应该了解的 CPU 高速缓存
每个程序员都应该了解的 CPU 高速缓存 英文原文:Memory part 2: CPU caches 来源:oschina [编者按:这是Ulrich Drepper写“程序员都该知道存储器”的第二 ...
- 科技爱好者周刊(第 174 期):全能程序员 vs 特长程序员
这里记录每周值得分享的科技内容,周五发布. 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容. 周刊讨论区的帖子<谁在招人?>,提供大量程 ...
- Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 出错的方法有可能是JDK,也可能是程序员写的程序,无论谁写的,抛出一定用throw
应对未检查异常就是养成良好的检查习惯. 已检查异常是不可避免的,对于已检查异常必须实现定义好应对的方法. 已检查异常肯定跨越出了虚拟机的范围.(比如“未找到文件”) 如何处理已检查异常(对于所有的已检 ...
- 一个优秀windows C++程序员的知识体系
思考一个优秀windows C++ 程序员该有哪些知识,可最终发现什么知识都不能少, 看下图: 除了上面知识,程序员还要不断学习, 保持对新知识的热情. 转自http://www.cppblog.co ...
- 转:一个优秀windows C++程序员的知识体系
转自:http://www.cppblog.com/weiym/archive/2012/06/10/178287.html.根据自身的经历,觉得作者总结的很好. 思考一个优秀windows C++ ...
- 转:10年程序员谈.Net程序员的职业规划
从事Dotnet程序开发工作近10年了,从开始的月薪3k的小程序员菜鸟,到现在年薪60w的项目总经理,从战战兢兢的去各个公司应聘,到现在开始面试那些战战兢兢的小程序员,回想起这近十年来的经验,看着还是 ...
- 10年程序员谈.Net程序员的职业规划(图/文)
原文地址:http://bbs.csdn.net/topics/390736769 从事Dotnet程序开发工作近10年了,从开始的月薪3k的小程序员菜鸟,到现在年薪60w的项目总经理,从战战兢兢的去 ...
随机推荐
- splice的用法
splice向数组中删除/添加新元素,然后返回新数组 arrObject.splice(index,howmany,item1,...,itemx); 参数 描述 index 必需.整数,规定添加/删 ...
- Ubuntu开机时提示“piix4_smbus 0000:00:07.3: SMBus Host controller not enabled”
问题描述:Ubuntu开机时提示“piix4_smbus 0000:00:07.3: SMBus Host controller not enabled” 版本:Ubuntu 18.04 VMw ...
- vim 自动添加作者、版权、修改时间等信息
相信大家阅读代码时都见过这样的文件头: # THIS FILE IS PART OF LibreBoot PROJECT (归属) # reboot.py - The core part of the ...
- 哈尔滨工程大学ACM预热赛(A,C,H,I)
A: 链接:https://ac.nowcoder.com/acm/contest/554/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言655 ...
- JS-给对象动态添加属性
var obj = {};//用来存放获取到所填写的信息 btn.onclick = function(){ var city = input_city.value; var num = input_ ...
- nginx安装与挂载
Linux下添加新硬盘,分区及挂载 http://blog.chinaunix.net/uid-25829053-id-3067619.html vim /etc/fstab /dev vdb1 / ...
- applium安装过程中遇到的问题及解决方法。
1.安装appium server 之后, cmd输入appium-doctor,运行时提示'node'不是内部或外部的命令 一.提示'node'不是内部或外部命令,先按照下面步骤操作: 1.设置 ...
- MySQL数据库时间查询
/*当前时间加1毫秒*/ SELECT DATE_ADD(NOW(),INTERVAL 1 MICROSECOND); /*当前时间减1毫秒*/ SELECT DATE_ADD(NOW(),INTER ...
- Pytorch之训练器设置
Pytorch之训练器设置 引言 深度学习训练的时候有很多技巧, 但是实际用起来效果如何, 还是得亲自尝试. 这里记录了一些个人尝试不同技巧的代码. tensorboardX 说起tensorflow ...
- 矩阵游戏(game)
矩阵游戏(game) --九校联考24OI__D1T1 问题描述 LZK发明一个矩阵游戏,大家一起来玩玩吧,有一个N行M列的矩阵.第一行的数字是1,2,-M,第二行的数字是M+1,M+2-2*M,以此 ...