精华内容
下载资源
问答
  • 进程控制原语

    千次阅读 2018-08-31 10:40:15
    进程控制原语包括:进程的建立、进程的撤销、进程的等待和进程的唤醒。 操作系统执行和监督进程控制操作,往往通过执行各种原语操作实现。计算机控制器的机器指令是微操作构成的,原语是机器指令的延伸,是由若干条...

    进程控制原语包括:进程的建立进程的撤销进程的等待进程的唤醒

    操作系统执行和监督进程控制操作,往往通过执行各种原语操作实现。计算机控制器的机器指令是微操作构成的,原语是机器指令的延伸,是由若干条机器指令构成用以完成特定功能的一段程序。

    操作系统执行和监督进程控制操作,往往通过执行各种原语操作实现。计算机控制器的机器指令是微操作构成的,原语是机器指令的延伸,是由若干条机器指令构成用以完成特定功能的一段程序。为保证操作的正确性,它们应当是原子操作(AtomicOperation)。所谓原子操作是指:一个操作中的所有动作,要么全做,要么全不做。原子操作是一个不可分割的操作。它的实现依靠提高处理机优先级屏蔽中断。
      进程控制原语包括:进程创建,进程阻塞,唤醒进程和进程终止四个原语。

    PCB块

    进程控制原语通过对PCB块的原子操作完成。PCB块是进程控制块,它的主要内容有:

    (1)标识进程身份的进程标识符,PID

    (2)进程最基本数据

    进程状态(CPU),进程标志(内存)。

    (3)CPU调度信息

    进程的CPU使用时间,用户设置的进程优先级

    (4)进程的内存映像

    正文段的地址,数据段的地址

    (5)进程的组织隶属关系

    (6)进程分配的资源

    (7)进程会计统计信息

    展开全文
  • 原语组装和光栅化

    2019-09-16 07:44:03
    一、什么是原语? 原语就是可以用glDrawArrays和glDrawElements来进行画图的几何对象。原语由一系列顶点来描述,每个顶点包含位置、颜色、... 原语包括:点、线、三角行。 二、原语类型 1. 三角形原语类型 1)G...

    一、什么是原语?

           原语就是可以用glDrawArrays和glDrawElements来进行画图的几何对象。原语由一系列顶点来描述,每个顶点包含位置、颜色、法线和纹理坐标。

           原语包括:点、线、三角行。

    二、原语类型

    1. 三角形原语类型

          1)GL_TRIANGLES:三角形顶点互不重用,如顶点{V0,V1,V2,V3,V4,V5},则描述了2个三角形,三角形顶点分别为:(V0,V1,V2)和(V3,V4,V5)。

          2)GL_TRIANGLE_STRIP:三角形顶点被重用,画一系列连接的三角形,三角形的最后2个顶点为下一个三角形的前面2个顶点。如顶点{V0,V1,V2,V3,V4},则描述了3个三角形,三角形顶点分别为:(V0,V1,V2),(V2,V1,V3)<注意此顺序,应该为逆时针方向> 和 (V2,V3,V4)。

          3)GL_TRIANGLE_FAN:三角形顶点被重用,画一系列连接的三角形,前面三角形的第1和3个顶点,为后面三角形的第1和2个顶点。如顶点{V0,V1,V2,V3,V4},则描述了3个三角形,三角形顶点分别为:(V0,V1,V2), (V0,V2,V3)和(V0,V3,V4)。

    2. 线原语类型

          1)GL_LINES:线的顶点互不重用。如顶点{V0,V1,V2,V3,V4,V5},则描述了3条线,线顶点分别为:(V0,V1),(V2,V3)和 (V4,V5)。

          2)GL_LINE_STRIP:线的顶点被重用,前面线的最后一个顶点为下一条线的第一个顶点。如顶点{V0,V1,V2,V3},则描述了3条线,线顶点分别为:(V0,V1),(V1,V2)和 (V2,V3)。

          3)GL_LINE_LOOP:线的顶点被重用,与GL_LINE_STRIP类似,只是最后一条线的最后一个顶点与第一条线的第一个顶点相连。如顶点{V0,V1,V2,V3,V4},则描述了5条线,线顶点分别为:(V0,V1), (V1,V2), (V2,V3), (V3,V4)和 (V4,V0)。

          线的宽度可以通过函数“void glLineWidth(GLfloat width)”来设置。

    3. 顶点原语

           GL_POINTS:对每个顶点进行画图。

           注:窗口坐标(0,0)位于窗口左下角。而点的坐标(0,0)位于窗口左上角。

           gl_PointSize是Vertex Shader中的一个内嵌变量,gl_PointCoord是Fragment Shader中的一个内嵌变量,其值取值范围为:[0.0,1.0],并且从左到右或从上到下地增加。

    三、画图原语

           OpenGL ES 2.0有以下两个画图原语:

           1)glDrawArrays

           2)glDrawElements.

    1. glDrawArrays

         void glDrawArrays(GLenum mode, GLint first, GLsizei count)
         • mode:指定要画的原语类型,有效值如下:
                    GL_POINTS
                    GL_LINES
                    GL_LINE_STRIP
                    GL_LINE_LOOP
                    GL_TRIANGLES
                    GL_TRIANGLE_STRIP
                    GL_TRIANGLE_FAN

         • first:起始顶点在enabled vertex arrays中的索引

         • count:将被用于画图的顶点个数

         举例:glDrawArrays(GL_TRIANGLES, 0, 6)画了两个三角形,顶点的顶点数组索引分别为:(0, 1, 2)和(3, 4, 5)。

    2. glDrawElements

        void glDrawElements(GLenum mode, GLsizei count,GLenum type, const GLvoid *indices)
        • mode:指定要画的原语类型,有效值如下:
                    GL_POINTS
                    GL_LINES
                    GL_LINE_STRIP
                    GL_LINE_LOOP
                    GL_TRIANGLES
                    GL_TRIANGLE_STRIP
                    GL_TRIANGLE_FAN

        • count:指示在*indices中的顶点索引个数

           • type:指示在*indices中元素数据类型,有效值如下:

                    GL_UNSIGNED_BYTE
                    GL_UNSIGNED_SHORT
                    GL_UNSIGNED_INT(可选,只有OES_element_index_uint扩展被实现时,才可使用)

         indices:存储顶点索引的数组或指针

    3. glDrawArrays &glDrawElements各自用武之地

            如果Enbaled Vertex Array中的顶点不被多个原语所共享,则使用glDrawArrays较高效,因为省去了顶点索引数组;否则使用glDrawElements高效,因为同一个顶点在Enabled Vertex Array中只有一份数据,不存在多个数据copy,节省了内存空间。

            举例如下(画一个立方体):

    1) 使用glDrawArrays的代码如下:

    #define VERTEX_POS_INDX 0
    #define NUM_FACES 6
    GLfloat vertices[] = { … }; // (x, y, z) per vertex
    glEnableVertexAttribArray(VERTEX_POS_INDX);
    glVertexAttribPointer(VERTEX_POS_INDX, 3, GL_FLOAT, GL_FALSE,0, vertices);
    for (i=0; i<NUM_FACES; i++)
    {
        glDrawArrays(GL_TRIANGLE_FAN, first, 4);
        first += 4;
    }
    
    //or glDrawArrays(GL_TRIANGLES, 0, 36);

    注:总共8个顶点,却保存了24个顶点或36个顶点的数据。

    2)使用glDrawElements的代码如下:

    #define VERTEX_POS_INDX 0
    GLfloat vertices[] = { … };// (x, y, z) per vertex
    GLubyte indices[36] = { 0, 1, 2, 0, 2, 3,
                            0, 3, 4, 0, 4, 5,
                            0, 5, 6, 0, 6, 1,
                            7, 6, 1, 7, 1, 2,
                            7, 4, 5, 7, 5, 6,
                            7, 2, 3, 7, 3, 4 };
    glEnableVertexAttribArray(VERTEX_POS_INDX);
    glVertexAttribPointer(VERTEX_POS_INDX, 3, GL_FLOAT, GL_FALSE,0, vertices);
    glDrawElements(GL_TRIANGLES, sizeof(indices)/sizeof(GLubyte),GL_UNSIGNED_BYTE, indices);

    4. 总结

           只要有顶点重用,使用glDrawElements 的性能比glDrawArrays要好,因为不仅CPU与GPU之间传递数据的内存带宽更小,且在GPU中占用的内存也更少。

    四、原语组装(Primitive Assembly)

           OpenGL ES 2.0原语组装阶段如下图所示:

    1. 坐标系统

    2. 裁剪体(clip volume)

        裁剪体由近、远、左、右、上、下共6个裁剪面组成。如下图所示:

          在clipping阶段,每个原语都被裁剪体进行裁剪。并对每种原语执行如下操作来进行裁剪:

          1)Clipping triangles

                • 如果全部在裁剪体内,什么都不做

                • 如果全部不在裁剪体内,则丢弃

                • 如果部分在裁剪体内,则产生新的顶点并形成三角形FAN

          2)Clipping lines 

                • 如果全部在裁剪体内,什么都不做

                • 如果全部不在裁剪体内,则丢弃

                • 如果部分在裁剪体内,则产生新的顶点并形成新的LINE

          3)Clipping point sprites

                • 如果全部在裁剪体内,什么都不做

                • 如果全部不在裁剪体内,则丢弃

    3. 透视除法(PerspectiveDivision 

            它的目标是把裁剪坐标变为归一化设备坐标,其取值范围为:[-1,1]。其实现方法为把坐标的每个分量除以Wc。裁剪坐标(Xc,Yc,Zc,Wc) 经过透视除法(Xc/Wc),(Yc/Wc),(Zc/Wc)则变成了归一化设备坐标(Xd,Yd,Zd)。

    4. 视口变换(Viewport Transformation)

            它把归一化设备坐标(Xd,Yd,Zd)变换为窗口坐标或屏幕坐标(Xw,Yw,Zw)。

    1)视口变换视口通过以下API设置:

            void glViewport(GLint x, GLint y, GLsizei w, GLsizei h)
            x, y:指明视口左下角屏幕坐标(以像素为单位)

            w, h:指明视口的宽度和高度(以像素为单位)     

    2)视口变换深度通过以下API设置:    

            void glDepthRange(GLclampf n, GLclampf f)
             n, f:指明要求的深度范围。默认值:n=0.0,f=1.0,值的范围为[0.0,1.0]。 
            

    3)视口变换方法为:

          Ox = (x + w)/2,Oy = (y + h)/2,n 和 f 表示要求的深度范围。

      
    五、光栅化(Rasterization)

            光栅化获取每个原语(如:点、线、三角形),然后为这个原语产生合适的Fragment。一个Fragment表示在屏幕空间中的一个像素位置(x,y),且fragment数据将被Fragment Shader处理以产生一个Fragment Color。

     六、选择(Culling)

            在三角形被光栅化之前,我需要确定哪些面对观察者,哪些面背对观察者。Culling操作丢弃哪些背对观察者的面,从而光栅化这些看不见的三角形,从而节约了GPU的时间,并提高了GPU的性能。相关函数如下:   

            1)void glFrontFace(GLenum dir)
            • dir:指示面对观察者的三角形的方向(GL_CW<顺时针>或GL_CCW<逆时针>),默认值为:GL_CCW。

                      CW: Clockwise,CCW:Counter-Clockwise

            2)void glCullFace(GLenum mode)

            • mode:指示三角形的哪个面被选择(GL_FRONT、GL_BACK、GL_FRONT_AND_BACK),默认值是GL_BACK。

            3)void glEnable(GLenum cap)
                  void glDisable(GLenum cap)
            • cap:设置为GL_CULL_FACE,初始时,Culling被disabled掉了。

     

     

     

     

     

     

     

     

    转载于:https://my.oschina.net/abcijkxyz/blog/788727

    展开全文
  • FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,... 与全局时钟资源相关的原语常用的与全局时钟资源相关的Xilinx器件原语包括:IBUFG、IBUFGDS、BUFG、BUFGP、BUFGCE、BUFGMUX、BUFGDLL和D
  • Xilinx原语

    2020-03-05 23:27:45
    原语,即primitive。不同的厂商,原语不同;同一家的FPGA,不同型号的芯片,可以也不一样;...Xilinx公司的原语分为10类,包括:计算组件,IO端口组件,寄存器/锁存器,时钟组件,处理器组件,移位寄存器,配置和检...
    	原语,即primitive。不同的厂商,原语不同;同一家的FPGA,不同型号的芯片,可以也不一样;原语类似最底层的描述方法。使用原语的好处,可以直接例化使用,不用定制IP;即可通过复制原语的语句,然后例化IP,就可使用;Xilinx是通过直接修改原语中的参数再例化IP来使用;Xilinx公司的原语分为10类,包括:计算组件,IO端口组件,寄存器/锁存器,时钟组件,处理器组件,移位寄存器,配置和检测组件,RAM/ROM组件,Slice/CLB组件,G-tranceiver。下图所示为UG799中对原语的分类列表。
    

    在这里插入图片描述
    项目中实际用到了串并转换,时钟BUFF,因此选择部分重点讲解,具体可以参考UG799和对于手册,如IO可以参考UG471。

    1.串并转换 OSERDESE2

    	OSERDES 7系列设备专用于并行串行转换器,具有特定的时钟和逻辑资源,旨在促进高速资源同步接口的实现。每个OSERDES模块都包含用于数据和三态控制的专用序列化器。可以采用单数据率(SDR)和双数据率(DDR)模式进行配置。数据串行化可以达到8:1(如果使用OSERDESWidthExpansion,则可以达到10:1或14:1)。3-state序列器可以达到4:1。
    	具体实现10bit转串行数据:
    

    在这里插入图片描述
    在Language Templates ----->Verilog里面可以搜索对应原语;
    在这里插入图片描述

    //  OSERDESE2  : In order to incorporate this function into the design,
    //   Verilog   : the following instance declaration needs to be placed
    //  instance   : in the body of the design code.  The instance name
    // declaration : (OSERDESE2_inst) and/or the port declarations within the
    //    code     : parenthesis may be changed to properly reference and
    //             : connect this function to the design.  All inputs
    //             : and outputs must be connected.
    
    //  <-----Cut code below this line---->
    
       // OSERDESE2: Output SERial/DESerializer with bitslip
       //            Artix-7
       // Xilinx HDL Language Template, version 2017.4
    
       wire  [1:0]   shift_data;
    
       OSERDESE2 #(
          .DATA_RATE_OQ("DDR"),   // DDR, SDR    The DATA_RATE_OQ attribute defnes whetherdataisprocessedassingle datarate(SDR)ordoubledatarate (DDR).其中SDR是只上升沿采样或下降沿采样,DDR只上升沿和下降沿同时采样;
          .DATA_RATE_TQ("DDR"),   // DDR, BUF, SDR------------同理控制三态的
          .DATA_WIDTH  (4    ),         // Parallel data width (2-8,10,14)
          .INIT_OQ(1'b0),         // Initial value of OQ output (1'b0,1'b1),给0 给1其实都可以
          .INIT_TQ(1'b0),         // Initial value of TQ output (1'b0,1'b1)
          .SERDES_MODE("MASTER"), // MASTER, SLAVE
          .SRVAL_OQ(1'b0),        // OQ output value when SR is used (1'b0,1'b1)  ---SR:复位
          .SRVAL_TQ(1'b0),        // TQ output value when SR is used (1'b0,1'b1)
          .TBYTE_CTL("FALSE"),    // Enable tristate byte operation (FALSE, TRUE)
          .TBYTE_SRC("FALSE"),    // Tristate byte source (FALSE, TRUE)
          .TRISTATE_WIDTH(1)      // 3-state converter width (1,4),该数据必须查手册,不同位宽和采样模式对应数据不一样
       )
       OSERDESE2_inst1 (
          .OFB(      ),             // 1-bit output: Feedback path for data,返回的数据,不使用时可以留空
          .OQ(OQ),               // 1-bit output: Data path output,输出的串行数据
          // SHIFTOUT1 / SHIFTOUT2: 1-bit (each) output: Data output expansion (1-bit each),输出类型未使用时可以空着
          .SHIFTOUT1(        ),
          .SHIFTOUT2(        ),
          .TBYTEOUT(         ),   // 1-bit output: Byte group tristate,三态的可空着
          .TFB(TFB),             // 1-bit output: 3-state control
          .TQ(TQ),               // 1-bit output: 3-state control
          .CLK(sys_clk_5x),             // 1-bit input: High speed clock
          .CLKDIV(sys_clk_1x),       // 1-bit input: Divided clock
          // D1 - D8: 1-bit (each) input: Parallel data inputs (1-bit each)
          .D1(Data_in[0]),
          .D2(Data_in[1]),
          .D3(Data_in[2]),
          .D4(Data_in[3]),
          .D5(Data_in[4]),
          .D6(Data_in[5]),
          .D7(Data_in[6]),
          .D8(Data_in[7]),
          .OCE(1'b1),             // 1-bit input: Output data clock enable,输出时钟使能,始终让他为1即可
          .RST(sys_rst),             // 1-bit input: Reset
          // SHIFTIN1 / SHIFTIN2: 1-bit (each) input: Data input expansion (1-bit each)
          .SHIFTIN1(shift_data[0]),
          .SHIFTIN2(shift_data[1]),
          // T1 - T4: 1-bit (each) input: Parallel 3-state inputs,三态输入端,没有用到统一填0
          .T1(0),
          .T2(0),
          .T3(0),
          .T4(0),
          .TBYTEIN(0),     // 1-bit input: Byte group tristate
          .TCE(0)              // 1-bit input: 3-state clock enable
       );
    
       // End of OSERDESE2_inst instantiation				
    

    下图描述TRISTATE_WIDTH的选取:
    在这里插入图片描述
    与10bit并转串代码段中还应添加OSERDESE2_inst2,与此类似稍作修改即可,不再赘述。

    2. 单端信号转差分信号:OBUFDS

      如果直接用下面的逻辑生成则会出现p端逻辑和n端逻辑差一个反相器,路径延时不一致,指示差分结果出错;
    
    assign diff_data_p = data_ser;
    assign diff_data_n = ~data_ser;
    

    同样可以使用原语:OBUFDS

       OBUFDS #(
          .IOSTANDARD("DEFAULT"), // Specify the output I/O standard
          .SLEW("SLOW")           // Specify the output slew rate
       ) OBUFDS_inst (
          .O(O),     // Diff_p output (connect directly to top-level port)
          .OB(OB),   // Diff_n output (connect directly to top-level port)
          .I(I)      // Buffer input 
       );
    

    3. IBUFG和IBUFGDS(IO)

       IBUFG即输入全局缓冲,是与专用全局时钟输入管脚相连接的首级全局缓冲。所有从全局时钟管脚输入的信号必须经过IBUF元,否则在布局布线时会报错。 IBUFG支持AGP、CTT、GTL、GTLP、HSTL、LVCMOS、LVDCI、LVDS、LVPECL、LVTTL、PCI、PCIX和 SSTL等多种格式的IO标准。
       IBUFGDS是IBUFG的差分形式,当信号从一对差分全局时钟管脚输入时,必须使用IBUFGDS作为全局时钟输入缓冲。IBUFG支持BLVDS、LDT、LVDSEXT、LVDS、LVPECL和ULVDS等多种格式的IO标准。
    

    举例说明:差分时钟芯片输入的100MHz时钟,作为FPGA的全局时钟。

    IBUFGDS #(
                .DIFF_TERM    ("TRUE" ),
                .IBUF_LOW_PWR ("FALSE")
            ) u_ibufg_clk_100 (
                .I  (FP_CLK_100M_P),
                .IB (FP_CLK_100M_N),
                .O  (clk_100m     )
            );
    
    展开全文
  • eCos中的同步原语简要

    2014-02-19 09:54:30
    eCos提供的同步原语包括信号量、互斥量、条件变量、事件标志、邮箱以及消息队列。每种同步原语都有特别之处,不同的同步原语满足了应用对不同的线程间同步和消息传递需求。 eCos官网http://ecos.sourceware.org,...

    eCos提供的同步原语包括信号量、互斥量、条件变量、事件标志、邮箱以及消息队列。每种同步原语都有特别之处,不同的同步原语满足了应用对不同的线程间同步和消息传递需求。

    eCos官网http://ecos.sourceware.org,eCos中文技术网http://www.52ecos.net,eCos交流QQ群144940146。

    mingdu.zheng<at>gmail<dot>com
    http://blog.csdn.net/zoomdy/article/details/19248593

    信号量

    信号量是最基本的通信原语,可用于线程同步、事件通知、共享数据保护,包括二值信号量和计数信号量,在非嵌入式系统中,信号量还被用于进程间通信。

    eCos的计数信号量包含了两个实现,分别为Cyg_Counting_Semaphore和Cyg_Counting_Semaphore2。Cyg_Counting_Semaphore是可抢占的,而Cyg_Counting_Semaphore2是不可抢占的。Cyg_Counting_Semaphore2总是唤醒等待队列的第一个线程并且该线程百分百得到了该信号,而Cyg_Counting_Semaphore在信号post时会唤醒等待队列的第一个线程,但是在唤醒该线程和该线程得到CPU控制权之间有一段时间,如果在这段时间内有更高优先级的线程希望获得该信号,那么该信号被更高优先级的线程获得,由post唤醒的线程获得CPU控制权后发现信号量被抢占继续回到等待状态。cyg_semaphore_* API函数封装的是可抢占的Cyg_Counting_Semaphore实现。

    互斥量

    互斥量主要用于共享数据保护,使用信号量进行共享数据保护时会存在优先级反转的问题,互斥量解决了优先级反转问题,互斥量只能由加锁的线程进行解锁,有些实现还支持嵌套加锁。

    eCos的互斥量不支持嵌套加锁,如果嵌套加锁那么将导致死锁,使用eCos的POSIX兼容层API时如果嵌套加锁将返回错误码。eCos互斥量可以通过配置指定使用优先级置顶协议或优先级继承协议处理优先级反转问题,也可以不进行任何优先级反转处理或在运行时指定。

    互斥量相比信号量特有的特性包括:优先级反转问题的处理(提高实时性)、必须由同一线程加锁和解锁。

    条件变量

    条件变量是与互斥量相关联的用于多线程之间关于共享数据状态改变的通信机制,是唯一支持广播的同步原语,支持一个事件源唤醒多个线程,某些情况下可以使用信号量代替条件变量,但不能完全代替。大部分eCos驱动程序使用条件变量在DSR与线程之间传递消息,以太网驱动使用信号量传递消息。

    条件变量相比信号量特有的特性包括:解锁和挂起是原子操作(更加安全和便捷)、支持广播(同时唤醒多个线程)、如果没有线程正在等待那么丢弃事件消息、资源可用数由调用者而非同步原语控制(提高效率)。使用信号量必须在每次使用资源前调用信号量wait函数,而条件变量只需要在资源不可用的情况下调用wait函数,在资源可用的情况下,直接使用资源而无需调用wait函数,明显条件变量的效率比信号量更高。在某些情况下条件变量比信号量更灵活。条件变量可以说是同步原语中最复杂的一个,其它同步原语都可以单独使用,唯独这个条件变量要配合互斥量使用,从这点就可以反映出其复杂度。

    事件标志

    事件标志用于一个线程等待多个事件,可以对多个事件进行与/或,在多个事件全部满足(与)或者多个事件中的任意一个以上满足(或)时唤醒等待线程。eCos的select函数就是使用事件标志实现的,而lwIP的select是使用信号量实现的。使用信号量可以实现多个事件相或的情况,但是不能实现多个事件相与的情况。

    邮箱

    邮箱用于线程间数据传递,邮箱维护一个固定数目的void*指针队列,队列大小在编译时确定。邮箱使用的是先进先出(FIFO)队列。邮箱是嵌入式实时系统线程间数据传递的首选,大部分RTOS都实现了邮箱通信机制,eCos也不例外。

    消息队列

    消息队列的作用与邮箱相同,用于线程/进程间数据传递,但与邮箱不同的是,消息队列传递的不是void*指针,而是所有数据,消息队列在创建时根据最大数目和大小动态分配缓存空间,发送的数据首先拷贝到缓存空间内,接收数据时从缓存空间拷贝数据。消息队列支持线程间通信和进程间通信,很显然更适合于进程间通信,如果使用消息队列做线程间通信,相当浪费,因为要拷贝数据两次,线程间数据传递应当使用邮箱。消息队列使用优先级队列,每个消息包含一个优先级参数。eCos中的消息队列主要是为了实现POSIX兼容层的消息队列。

    POSIX同步原语

    POSIX兼容层的同步原语包括信号量、互斥量、条件变量、消息队列,不包括事件标志和邮箱


    原文见:http://blog.csdn.net/zoomdy/article/details/19248593

    展开全文
  • 一、什么是原语?  原语就是可以用glDrawArrays和... 原语包括:点、线、三角行。 二、原语类型 1. 三角形原语类型  1)GL_TRIANGLES:三角形顶点互不重用,如顶点{V0,V1,V2,V3,V4,V5
  • Xilinx原语详解

    2019-05-07 23:06:17
    该资料讲解了最全的Xilinx原语包括Spartan6和7系列的,包括实例化代码和详细的解释。
  • FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使... 与全局时钟资源相关的原语常用的与全局时钟资源相关的Xilinx器件原语包括:IBUFG、IBUFGDS、BUFG、BUFGP、BUFGCE、BUFGMUX、BUFG
  • 这组原语包括说明数据库的部分或用户感兴趣的数据集(包括感兴趣的数据库属性或数据仓库维),要挖掘的知识类型,用于指导挖掘过程的背景知识,模式评估兴趣度量和如何显示所发现的知识。这些原语允许用户在知识发现...
  • Xilinx器件原语

    2015-07-08 22:01:00
    原语,其英文名为primitive,是FPGA厂商针对其器件特征开发的一系列常用模块的名称。原语是FPGA芯片中基本元件,代表FPGA中实际拥有的硬件... Xilinx公司的原语按功能分为10类,包括计算组件、I/O端口组件、寄存器...
  • 原语,即primitive。不同的厂商,原语不同;同一家的FPGA,不同型号的芯片,可以也不一样;原语类似最底层的描述方法。使用原语的好处,可以直接例化使用,...Xilinx公司的原语分为10类,包括:计算组件,IO端口组件...
  • 关于Xilinx原语的使用办法,包括 BUFG、BUFR、BUFIO等一些xilinx的 原语
  • 在资料中有吸烟者问题,哲学家问题,的各种PV原语题目及其解答。与考研直接相关。还有死锁问题
  • Xilinx FPGA用户原语介绍

    千次阅读 2019-05-27 22:37:57
    原语,即primitive。不同的厂商,原语不同;同一家的FPGA,不同型号的芯片,可以也不一样...Xilinx公司的原语分为10类,包括:计算组件,IO端口组件,寄存器/锁存器,时钟组件,处理器组件,移位寄存器,配置和检测...
  • 现在的处理器(包括 Intel 和 Sparc 处理器)使用的最通用的方法是实现名为比较并转换或 CAS 的原语。(在 Intel 处理器中,比较并交换通过指令的 cmpxchg 系列实现。PowerPC 处理器有一对名为“加载并保留”和“条件...
  • 进程撤销原语

    2021-04-20 22:44:32
    一个进程在完成其任务后应给予撤销,...3、外界干预进程用外界的干预而被迫结束运行,外界干预包括操作人员或操作系统的干预,如为了解除死锁,操作人员或操作系统要求撤销进程,当父进程终止时,操作系统会终止子孙进
  • 操作系统-进程控制原语

    千次阅读 2020-02-02 15:34:26
    为了实现进程控制,在操作系统内核中,有一组程序专门用于完成对进程的控制,这些原语至少需要包括创建新进程原语,阻塞进程原语,唤醒进程原语,终止进程原语,系统服务对用户开放,即用户可以通过相应的接口来使用...
  • Xilinx器件原语怎么查看?

    千次阅读 2018-09-09 18:12:59
    原语,其英文名为primitive,是FPGA厂商针对其器件特征开发的一系列常用模块的名称。原语是FPGA芯片中基本元件,代表FPGA中实际拥有的硬件逻辑...Xilinx公司的原语按功能分为10类,包括计算组件、I/O端口组件、寄存...
  • Xilinx原语详解 包括 7series 和 ultrascale系列的 原语库模块调用, 支持 verilog 和 vhdl两种硬件语言的模块代码调用
  • pv 原语解释

    千次阅读 2009-10-27 20:50:00
    述P,V原语的理论不得不提到的一个人便是赫赫有名的荷兰科学家 E.W.Dijkstra。如果你对这位科学家没有什么印象的话,提起解决图论中最短路径问题的Dijkstra算法应当是我们再熟悉不过的了。P,V原 语的概念以及P,V操作...
  • 包含所有Ultrascale FPGA 可调用的原语包括模块接口,功能说明。
  • Xilinx原语的使用方法

    2010-01-21 16:05:12
    Xilinx公司的原语按照功能分为10类,包括:计算组件、I/O端口组件、寄存器和锁存器、时钟组件、处理器组件、移位寄存器、配置和检测组件、RAM/ROM组件、Slice/CLB组件以及G比特收发器组件。本文分别对其进行详细介绍...
  • 包括用于节点发现,基于筏的共识,任务调度等的原语。 它的主要优点是: 分布式: SwarmKit使用来进行协调,并且不依赖于单点故障来执行决策。 安全: Swarm内的节点通信和成员身份是安全的开箱即用。 ...
  • python--线程同步原语

    2018-11-20 00:56:00
    Threading模块是python3里面的多线程模块,模块内集成了许多的类,其中包括Thread,Condition,Event,Lock,Rlock,Semaphore,Timer等等。下面这篇文章主要通过案例来说明其中的Event和Segmaphore...
  • 包括基本密码(AES,3DES,RC4,ChaCha20 / Poly1305),哈希(MD5,SHA1,SHA2系列),AEAD原语(AES-GCM,AES-CCM),公钥原语(RSA,DSA,DH)和强大的RNG(Fortuna)。 RSA定时攻击通过盲目应对。 通过委派...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 671
精华内容 268
关键字:

原语包括