【深入理解计算机系统】
文章平均质量分 76
热爱学习的呆萌的文青
没有伞的孩子,要努力奔跑。
展开
-
了解DMA技术
DMADirect Memory Access直接存储器存取1、概述DMA是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。要把外设的数据读入内存或把内存的数据传送到外设,一般都要通过CPU控制完成,如CPU程序查询或中断方式。利用中断进行数据传送,可以大大提高CPU的利用率。但是采用中断传送有它的缺点,对于一个高速I/O设备,以及批量交换数据的情况,只能采用原创 2015-12-29 11:06:30 · 839 阅读 · 0 评论 -
C++11 concurrent progamming (1) join/detach
理解john() 和detach() #include#includeusing namespace std;void function_1(){ std::cout << "Hello,world!" << std::endl;}int main() { std::thread t1(function_1); //t1 starts running. 实例化一个线原创 2016-01-08 10:18:59 · 664 阅读 · 0 评论 -
c++ concurrent progamming(2) thread manage
#include#include#includeusing namespace std;class Fctor { public: void operator()(string& msg) { cout << "t1 say: " <<msg<< endl; msg = "Truse is the mother of deceit. "; //ms原创 2016-01-08 14:14:03 · 388 阅读 · 0 评论 -
简单的双重for循环的汇编解释
实验名称:循环结构的汇编编译代码分析实验要求:用C语言写一段简单的带有双重循环的代码,用GCC编译成汇编。分析汇编代码和程序代码的关系。为每一句汇编写注释,标明它的作用与含义。 #includevoid show() { int i,j; for(i=0;i<100;i++){ for(j=2;j<=i;j++){原创 2015-12-20 21:24:29 · 2051 阅读 · 0 评论 -
对于汇编代码pushl %ebp movl %esp,%ebp
课本( P109 - P110 )源程序代码如下:int simple(int *xp, int y){ int t = *xp + y; *xp = t; return t;}汇编代码如下:simple: pushl %e bp转载 2015-12-15 09:54:55 · 9204 阅读 · 0 评论 -
快速识别汇编中等价的C语言语句(if, while, for, switch)
注意:本文使用的汇编格式为GAS(Gnu ASembler GNU汇编器). 它同Intel文档中的格式以及微软编译器使用的格式差异很大,具体请看文章AT&T汇编格式与Intel汇编格式的比较. 条件转移语句- if============================C语言中的if-else语句的通用形式如下if(test-expr)转载 2015-12-15 10:17:33 · 687 阅读 · 0 评论 -
AT&T汇编格式与Intel汇编格式的比较
GCC采用的是AT&T的汇编格式, 也叫GAS格式(Gnu ASembler GNU汇编器), 而微软采用Intel的汇编格式. 一 基本语法 语法上主要有以下几个不同. 1、寄存器命名原则AT&TIntel说明%eaxeaxIntel的不带百分号2、源/目的操作数顺序AT&转载 2015-12-15 10:09:04 · 402 阅读 · 0 评论 -
了解线程和进程
任务调度大部分操作系统(如Windows、Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务执行一段时间后强制暂停去执行下一个任务,被暂停的任务就处于就绪状态等待下一个属于它的时间片的到来。这样每个任务都能得到执行,由于CPU的执行效率非常高转载 2015-12-29 14:11:22 · 283 阅读 · 0 评论 -
了解硬盘
硬盘 硬盘有机械硬盘(HDD)和固态硬盘(SSD)之分。机械硬盘即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。 磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。信息通过离磁性表面很近的磁头,由电磁流来改变极性方式被电磁流写到磁盘上,信原创 2015-12-29 11:00:02 · 614 阅读 · 0 评论 -
了解BIOS
BIOSBasic Input Output System基本输入输出系统1、概念它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。2、进入BIOS程序在大家电脑上使用地BIOS程序根原创 2015-12-29 11:10:02 · 291 阅读 · 0 评论 -
C++ concurrent programming(3) mutex
#include#include#include#includeusing namespace std;std::mutex mu;void shared_print(string msg, int i) { mu.lock(); cout << msg << i << endl; mu.unlock();}void function_1() { for (int i原创 2016-01-08 15:27:13 · 267 阅读 · 0 评论