EzDoum

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

Login
이름

암호

기억하기


사용자 등록

현재 접속중인 등록 사용자는 0명, 익명 사용자는 2명 입니다.
전체 등록 사용자: 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)

[Cache] Optimizing Memory Bandwidth
글쓴이: EzDoum 글쓴날: 2002년 05월 08일 오후 04:29
하드웨어



PC performance in 2002:
Fast CPUs waiting for slow memory

CPU speed is improving faster than memory latency
* Prefetch read data into the cache, to hide latency
* Write to in- cache buffers when possible

CPU speed is improving faster than memory bandwidth
* Maximize data I/O speed for reading/writing cache blocks
* Reduce memory traffic by reordering operations:
Process data in blocks
Do all operations on one block, in the cache, then process the next block

http://cdrom.amd.com/devconn/events/
여기가면 관련 자료를 다운로드 가능합니다 ^^

^^; EzDoum 에도 사본이 있습니다.
http://www.ezdoum.com/upload/cache/prefetch.pdf
http://www.ezdoum.com/upload/cache/bandwidth.pdf

그리고 여기가면 실제적인 삽질로
성능의 차이를 확인 할수 있습니다.

http://sourcefrog.net/mbp/memcpyspeed/
http://sourcefrog.net/mbp/memcpyspeed/skurk-998039974.results.txt

prefetch 성능 향상에 도움이 많이 됩니다 ^^

CPU 제조사들의 최적화 메뉴얼
AMD Athlon™ Processor x86 Code Optimization Guide
--> http://www.ezdoum.com/upload/cache/amd.pdf

Intel® Architecture Software Optimization Reference Manual
--> http://www.ezdoum.com/upload/cache/intel.pdf

Intel® Pentium® 4 Processor Optimization Reference Manual
--> http://www.ezdoum.com/upload/cache/intelp4.pdf

사이트내 cache관련 자료 모음
http://www.ezdoum.com/search.php?query=%5Bcache%5D

  • 첨부 파일: prefetch.gif prefetch.gif (17 KiB(16,907 Bytes))

    [Image Size 455 x 369]
    prefetch.gif


  • 재 등록일 : 2002년 10월 09일 오후 10:45

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

    <  IIS 6.0 kernel-mode HTTP listener | PEview v0.70  >
    [Cache] Optimizing Memory Bandwidth | 답장: 2개 | 본문에 답장
    정렬 :  
    답장 EzDoum 2002년 10월 09일 오후 10:36 [ 이글에 답장 | 본문에 답장 | 책갈피 ]

    더 큰 그림은 아래 댓글의 pdf문서를 보세요


    [수정]


    icon5.gif EzDoum 2002년 10월 09일 오후 10:45 [ 이글에 답장 | 본문에 답장 | 책갈피 ]
    위의 그래프는
    http://www.ezdoum.com/upload/cache/memcpy/speed.htm 소스로
    아래의 시피유 환경에서 실험한 것을 그래프화 한 것입니다.

    1기가를 복사하고 또 다시 1기가를 복사해서 총 2기가의 메모리를 복사한 그래프 입니다.. 캐쉬가 적중이 어떻게 되냐에 따라서, 이렇게 놀라운 성능 차이가 나니,, 신경써서 프로그래밍 할만 하죠??

    8k~16k넘어갈 때와 128~256k를 넘어갈 때 성능의 차이가 아주 크군요. 그리고, 정렬이 된 블럭과 그렇지 않은 블럭간의 성능 차이도 상당합니다.
    (L1캐쉬와 L2캐쉬 그리고 메모리의 경계 지점이네요.. 실험적으로 각 메모리 단계의 속도가 시각화 되었네요)

    cpu prefetch 명령어의 경우엔, 그래프상에서 핑크색 이후부터 실력 발휘를 하는데, 캐쉬안에 이미 들어간 블럭의 경우엔 prefetch수행의 오버헤드로 그래프가 ▲모양인데 핑크색 이후 부터는 ▼로 뒤집혀서 효과가 나타나네요. 캐쉬 사이즈보다 더 큰 내용을 다룰때 prefetch명령어를 사용하면 성능 향상을 꾀할 수 있겠군요


    #cpuid
    eax in eax ebx ecx edx
    00000000 00000002 756e6547 6c65746e 49656e69
    00000001 00000686 00000002 00000000 0383fbff
    00000002 03020101 00000000 00000000 0c040882

    Vendor ID: "GenuineIntel"; CPUID level 2

    Intel-specific functions:
    Version 00000686:
    Type 0 - Original OEM
    Family 6 - Pentium Pro
    Model 8 - Pentium III/Pentium III Xeon - internal L2 cache
    Stepping 6
    Reserved 0

    Brand index: 2 [Pentium III processor]

    Feature flags 0383fbff:
    FPU Floating Point Unit
    VME Virtual 8086 Mode Enhancements
    DE Debugging Extensions
    PSE Page Size Extensions
    TSC Time Stamp Counter
    MSR Model Specific Registers
    PAE Physical Address Extension
    MCE Machine Check Exception
    CX8 COMPXCHG8B Instruction
    APIC On-chip Advanced Programmable Interrupt Controller present and enabled
    SEP Fast System Call
    MTRR Memory Type Range Registers
    PGE PTE Global Flag
    MCA Machine Check Architecture
    CMOV Conditional Move and Compare Instructions
    FGPAT Page Attribute Table
    PSE-36 36-bit Page Size Extension
    MMX MMX instruction set
    FXSR Fast FP/MMX Streaming SIMD Extensions save/restore
    SSE Streaming SIMD Extensions instruction set

    TLB and cache info:
    01: Instruction TLB: 4KB pages, 4-way set assoc, 32 entries
    02: Instruction TLB: 4MB pages, 4-way set assoc, 2 entries
    03: Data TLB: 4KB pages, 4-way set assoc, 64 entries
    82: 2nd-level cache: 256KB, 8-way set assoc, 32 byte line size
    08: 1st-level instruction cache: 16KB, 4-way set assoc, 32 byte line size
    04: Data TLB: 4MB pages, 4-way set assoc, 8 entries
    0c: 1st-level data cache: 16KB, 4-way set assoc, 32 byte line size


    ps. 자세한 실험 결과 데이터
    http://www.ezdoum.com/upload/cache/memcpy/memcpy.pdf
    http://www.ezdoum.com/upload/cache/memcpy/speed.c
    [수정]

    [Cache] Optimizing Memory Bandwidth | 답장: 2개 | 본문에 답장
    정렬 :  

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

    검색
    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