EzDoum

찾기
처음으로 | 찾기 | 아카이브 | 글 올리기 | 링크 | 자료실 | 통계 | 연락처 | 자유게시판
이지도움 특집
전체보기
네트워크
TI OMAP35x
TI DaVinci
Analog Blackfin
RobotWar2005
임베디드!
캐쉬의 모든것
메모리 할당 알고리즘
CPU 파이프라이닝
자료구조(Tree)
금융

Login
이름

암호

기억하기


사용자 등록

현재 접속중인 등록 사용자는 0명, 익명 사용자는 3명 입니다.
전체 등록 사용자: 751명

마지막 답장
·libcurl + fuse 조합으로 되는게 많네. (1)
·Linux Ftrace에 관해 (3)
·Android MTP ( Media Transfer Protocol ) (1)
·Lighttpd에 인증을 digest 사용시 IE 오동작 문제? (1)
·Dtrace에 관해 (1)

최근글
·OpenSSL and multi-threads (0)
·ARM 환경에서 OpenCL 사용 (0)
·IoT용 WIFI 모듈 비교 ( MCU ) 클래스 (0)
·Glances - 리눅스 여러 가지 항목을 한 화면에서 모니터링 (0)
·plugin 방식의 로그 분석기 (0)

뜨거운 감자
·나는 인터렉티브한 환경에서 역어셈블 한다. (12)
·GNU REGEX (정규표현식) 프로그래밍 강좌 (7)
·SoCRobotWar 2005 - 신입생 기초 교육자료 (7)
·ASP.NET의 데이터 그리드와 사용자 컨트롤 (7)
·DHTML Editing Control (7)

가장 많이 읽은 글
·[Cache] 2-way Set-Associative 방식이란 무엇일까? (2)
·멀티쓰레드(Pthread) 프로그래밍
·GNU REGEX (정규표현식) 프로그래밍 강좌 (7)
·Sorting Algorithm Animation (2)
·SoCRobotWar 2005 - 신입생 기초 교육자료 (7)

blackfin - chip bus, DMA
글쓴이: EzDoum 글쓴날: 2008년 09월 30일 오전 02:44
하드웨어



core에 있는 L1 SRAM은 16k 뱅크 A,B로 나누어져 있고 16k는 다시 4k sub 뱅크로 나누어져 있다. 4k 서브 뱅크 각각은 core와 dma가 뱅크만 다르면 동시에 접근할 수 있다.
core가 공유하는 L2 SRAM은 CCLK/2의 속도로 동작하고, 8개의 뱅크(뱅크 당 16k)로 구성되어 있다. L1 SRAM과 마찬가지로 core와 dma가 뱅크만 다르면 동시에 접근할 수 있다.

# L2 Memory Interface Data Transaction Latency Transaction
  1. Core L2 Read                                9 CCLKs for each read
  2. Dual DAG Read (same instruction)            9 CCLKs (first 32-bit fetch), 2 CCLKs (second 32-bit fetch)
  3. Cache Line Fill (data and instruction)      9 CCLKs (first 64-bit fetch)
  4.                                             2-2-2 CCLKs (for next three 64-bit fetches)
  5. Dual DAG Cache Line Miss (same instruction) 9-2-2-2 CCLKs (first miss, four 64-bit fetches)
  6.                                             2-2-2-2 CCLKs (second miss, four 64-bit fetches)
  7. 64-bit Instruction Fetch                    9 CCLKs
  8. IMDMA Read                                  2 CCLKs
  9. Sys DMA Read                                1 SCLK plus 2 CCLKs
  10. Sys DMA Write                               1 SCLK


예) L2메모리에 Code가 있다면 한번 읽어 오면 64-bits,
한 명령어가 16-bits이므로 최대 4개의 명령어,
600Mhz 기준으로 600/9*4 = 267M개의 명령어를 수행할 수 있다.

DMA Access bus(DAB1, DAB2)는 SCLK/2로 동작한다.
DMA1에 연결된 DAB1은 32-bits bus, 133/2*4 = 266M bytes/sec 전송 가능
DMA2에 연결된 DAB2은 16-bits bus, 133/2*2 = 133M bytes/sec 전송 가능

DMA external Bus(DEB1, DEB2)는 SCLK으로 동작
DMA1,DMA2 모두 32-bits bus, 133*4=533 Mbytes/sec 전송 가능

# Performance of DMA Access to External Memory
  1. Approximate SCLKs For n Words (from start of DMA to interrupt at end)
  2. 32-bit SDRAM   --->  L1 Data memory  n + 14
  3. L1 Data memory ---> 32-bit SDRAM     n + 11
  4. 32-bit SDRAM   ---> 32-bit SDRAM     10 + (17n/7)


non-DMA SDRAM Access의 경우 32-bits나 16-bits모두 9 SCLK이 소모된다. 때문에 16-bits 두번 보다는 32-bits 한번이 효과적이다.

MDMA controller는 32-bits * 8 depth FIFO를 가진다.
PPI는 32-bits * 16 depth FIFO를 가진다.

간편하게 정리된 blackfin dma 자료
http://docs.blackfin.uclinux.org/doku.php?id=dma_systems

  • 첨부 파일: bf561_bus.png bf561_bus.png (67 KiB(68,319 Bytes))

    [Image Size 508 x 568]
    bf561_bus.png



    [분류: 하드웨어 인쇄용 페이지 본문 email로 보내기 ]

  • <  Blobs Labeling : Two-path implementation | 로봇 프로젝트용 적당한 주행 바디  >
    blackfin - chip bus, DMA | 답장: 1개 | 본문에 답장
    정렬 :  
    답장 EzDoum 2008년 09월 30일 오전 02:53 [ 이글에 답장 | 본문에 답장 | 책갈피 ]
    # External memory performance for on-page word accesses
    Access Type Number of SCLK Cycles for a Word* Access
    1. Instruction/data cache line fill request                     1.1
    2. Direct core instruction fetch                                1.1
    3. DAG read access                                              8
    4. DAG write access                                             1
    5. MemDMA write access. (e.g., L1 to SDRAM memory transfer)     1
    6. MemDMA read access (e.g., SDRAM to L1 memory transfer)       1.1


    # External memory performance for off-page word accesses
    Access Type Number of SCLK Cycles for a Word* Access
    1. Read        tRP + tRCD + CL
    2. Write       tWR + tRP + tRCD


    tRP – Delay between a pre-charge and an activation command (1-7 SCLK cycles)
    tRCD – Delay between an activation and a first read/write command (1-7 SCLK cycles)
    tWR – Delay between a write and a pre-charge command (1-2 SCLK cycles)
    CL (CAS latency) – Delay between a read command and availability of data off-chip (2-3 SCLK cycles)


    [수정]

    blackfin - chip bus, DMA | 답장: 1개 | 본문에 답장
    정렬 :  

    답장 쓰기
    글을 올리시려면 로그인 (사용자 등록) 하셔야 합니다.

    검색
    Google

    분류
    ·공지 (6)
    ·인터넷 (87)
    ·하드웨어 (260)
    ·C/C++ (65)
    ·어셈블리 (7)
    ·리눅스 (136)
    ·리눅스 커널 (67)
    ·윈도우즈 (25)
    ·데이터베이스 (20)
    ·보안 (16)
    ·.NET (25)
    ·그래픽 (13)
    ·책소개 (42)
    ·호기심 천국 (80)
    ·잡담 (111)
    ·사랑 (3)

    전체 본문수: 963
    전체 답장수: 525


    분류 : 하드웨어
    최근글
    최근글
    가장 많이 읽은 글
    ·[Cache] 2-way Set-Associative 방식이란 무엇일까? (2)
    뜨거운 감자
    ·SoCRobotWar 2005 - 신입생 기초 교육자료 (7)

    EzDoum투표
    이지도움 어때요?
    이게 뭐야. 다시 안올란다. --;
    아이 좋아라~ +_+;
    관심없다.
    먼가는 있는거 같은데 뭐하는 곳이지?
    기타 (자유게시판에 글로 남겨 주세요)
    [ 결과 | 투표 ]

    랜덤 링크
    http://kldp.net


     Home ^ BACK TO TOP ^ EzDoum - 도움이 필요하세요~??
     Powered by KorWeblog 1.5.8 Copyleft © 2001 EzDoum, 관리자: EzDoum