自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (3)
  • 收藏
  • 关注

转载 何为TLC、MLC、SLC?

1、一块SSD由主控、DRAM缓存和NAND闪存三种芯片所组成,主控是SSD的大脑,SSD所做的东西全部都是它所控制的;DRAM缓存则是高速缓冲区,具体作用要看主控的算法而定,有些是用来放LBA表的,有些则是拿来做数据缓存的,更有些方案是没有外置DRAM缓存,只在主控内置了小量缓存,这样做的目的有些是为了数据的安全性(如SandForce),有些则是为了降低成本(大多数入门级主控);NAND闪存则是数据存储的地方,你的数据全部都存放在里面。NAND闪存的类型有SLC、MLC和TLC这三种,SLC不论

2016-09-16 17:06:29 1870

原创 MESI协议

1、MESI是Modified、Exclusive、Shared、Invalid的首字母缩写,代表四种缓存状态。任何多核系统中的缓存段都处于这四种状态之一。按照相反的顺序进行列出:---- Invalid:失效缓存段,要么已经不在缓存中,要么它的内容已经过时。为了达到缓存的目的,这种状态的段将会被忽略。一旦缓存段被标记为失效,那效果就等同于它从来没被加载到缓存中。---- Shar

2016-09-15 17:58:39 1604

原创 physical interrupt and virtual interrupt

1、中断---- physical interrupt:物理中断/硬件中断---- virtual interrupt:虚拟中断/软件中断从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚。处理器于是立即停止自己正在做的事,跳到中断处理程序的入口点,进

2016-09-15 16:04:55 1021 2

转载 cache coherence

1、CPU都没有管脚直接连到内存。相反,CPU和一级缓存(L1 Cache)通讯,而一级缓存才能和内存通讯。大约二十年前,一级缓存可以直接和内存传输数据。如今,更多级别的缓存加入到设计中,一级缓存已经不能直接和内存通讯了,它和二级缓存通讯——而二级缓存才能和内存通讯。或者还可能有三级缓存。2、缓存是分“段”(cache line)的,一个段对应一块存储空间,大小是32(较早的ARM

2016-09-15 09:07:58 1915

原创 C++ -- vector的元素访问

1、向量容器(vector)是一种顺序容器,是一块连续分配的内存,支持随机访问,从数据安排的角度看,和数组极其相似。数组跟vector的区别在于:数组是静态分配空间,一旦分配了空间的大小,就不可以再改变了。例如,int a[6];而vector是动态分配内存,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量,vector容器的容量增长是按照容器现在容量的一倍进行增长。

2016-09-13 15:02:53 1170 1

原创 编程习题

1、洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张

2016-09-13 13:59:27 310

原创 C错题练习

1、strlen#include using namespace std;int main(){ char p[]={'a','b','c'},q[10]={'a','b','c'}; printf("%d %d\n",strlen(p),strlen(q));//由于p数组中没有字符串结束符,长度不能确定,q数组中字符串长度为3 for(int i=0;i<10;i++) {

2016-09-09 12:42:07 445

原创 堆排序

1、堆排序---- 大顶堆---- 小顶堆2、算法实现#define MaxSize 10 //要排序数组元素的最大值,可根据需要修改typedef struct { int r[MaxSize+1];//用于存储要排序数组,r[0]用作哨兵或临时变量 int length; //用于记录顺序表的长度}SqList;void swap(SqList *L,int i,

2016-09-08 14:46:25 500

转载 排序算法的稳定性

常见的排序算法的稳定性,每个都给出简单的理由。(1)冒泡排序冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改 变,所以冒泡排序是一种稳定排序算法。

2016-09-07 20:39:56 409

原创 希尔排序

1、希尔排序是对直接插入排序进行改进后增加效率的排序算法。---- 直接插入排序的效率在某些时候是很高的,比如:--1)我们的记录本身就是基本有序的,只需要少量的插入操作,就可以完成整个记录集的排序工作。--2)记录数比较少的时候。思想:-- 如何将待排序的记录个数较少?将原本有大量记录数的记录进行分组,分割成若干个子序列,此时每个子序列待排序的记录个数就比较少了,然后在这

2016-09-07 14:07:13 280

原创 直接插入排序

1、直接插入排序(Straight Insertion Sort)---- 直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。2、算法实现#define MaxSize 10 //要排序数组元素的最大值,可根据需要修改typedef struct { int r[MaxSize+1];//用于存储要排序数组,r[0]用作哨兵或临时

2016-09-06 14:59:04 399

原创 简单选择排序算法

1、简单选择排序算法(Simple Selection Sort)---- 通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1#define MaxSize 10typedef struct { int r[MaxSize]; int length;}SqList;void swap(SqList *L,int i,int j){ int

2016-09-06 12:09:25 383

原创 排序-冒泡排序

1、排序---- 假设含有n个记录的序列为{r1,r2,....,rn},其相应的关键字分别为{k1,k2,....,kn},需确定一种排列,使其相应的关键字满足非递减/非递增的关系,即使得序列称为一个按关键字有序的序列,这样的操作就称为排序。2、排序的稳定性---- 假设ki=kj(1排序后ri仍然领先于rj,则称所用的排序方法是稳定的,反之,若可能使得排序后的序列中rj领先

2016-09-06 11:02:19 396

原创 文件管理-外存分配方式

1、外存分配方法---- 目前,常用的外存分配方法有连续分配、链接分配和索引分配三种。---- 通常,在一个系统中,仅采用其中的一种方法来为文件分配外存空间。文件的物理结构直接与外存分配方式有关。在采用不同的分配方式时,将形成不同的文件物理结构。例如,在采用连续分配方式时的文件物理结构是顺序式的文件结构,链接分配方式将形成链接式文件结构,而索引分配方式将形成索引式文件结构。2、

2016-09-06 10:30:04 5651

eclipse.exe

用于Android开发的Eclipse开发环境,有利于Android的开发的编译和运行

2014-10-07

SDK Manager

android 软件开发包SDK(software Development kit)

2014-10-07

粒子群优化算法

表述了人工智能中对粒子群的行为等的研究,并总结出优化算法

2012-12-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除