680 likes | 983 Views
하드웨어 개요 및 구조. SPARCS 11 undead. PC 의 기본 구성. 출력장치 모니터 입력장치 마우스 키보드 기타 케이스 파워. 제어장치 메인보 드 연산장치 CPU GPU 기억장치 RAM HDD SDD. CPU. AMD Centaur Technology Elbrus International IDT Intel National Semiconductor Sandpile SIS ST Microelectronics Texas Instruments Transmeta
E N D
하드웨어 개요 및 구조 SPARCS 11 undead
PC의 기본 구성 • 출력장치 • 모니터 • 입력장치 • 마우스 • 키보드 • 기타 • 케이스 • 파워 • 제어장치 • 메인보드 • 연산장치 • CPU • GPU • 기억장치 • RAM • HDD • SDD
CPU • AMD • Centaur Technology • Elbrus International • IDT • Intel • National Semiconductor • Sandpile • SIS • ST Microelectronics • Texas Instruments • Transmeta • ZF Micro Devices
Intel 4004 • 1971~1981 • 계산기에 사용됨. • 108~740 kHz • 4-bit • 초당 46300~92600 연산 수행 • Federico Faggin
Intel 8008 • 1972~1983 • 0.2~0.8 MHz • 8-bit • 초당 36000~80000 연산 수행 • 4-bit 프로세서인 4004/4040보다 느리지만 8-bit 칩이기 때문에 RAM을 더 빨리/많이 access할 수 있음
Intel 8080 • 1974 • 2 MHz max. clock • 8008의 후속모델 • 같은 instruction set을 사용, source code compatible • 기본적인 기능의 16-bit • 64 kB메모리 지원
Intel 8086 • 1978~1990s • 5MHz~10MHz • 16-bit 풀 기능 • 첫 x86 디자인 • Signed integers • Base offset addressing • Self-repeating operations • PASCAL 등의 ALGOL 군 언어 지원
Intel 80186 • 1987~2007 • 6~25MHz • 이하 생략한다.
Intel 80286 • 1982~1990s • 6~25 MHz • 멀티유저 시스템/멀티태스킹 어플리케이션을 위해 디자인 됨 • Protected mode • 향상된 산술연산
Intel 80386 • 1985~2007 • 최초의 32-bit CPU • 12~40 MHz
4004 4040 8008 8080 8086 80186 80286 80386 …
Intel 80486 • 1989~2007 • 16 MHz ~ 100 MHz
Intel Pentium P5 • 1993~1999 • 60~300 MHz • Pentium with MMX Technology • FDIV bug
Intel P6 • Celeron • Pentium Pro (150 MHz to 200 MHz) • Pentium II Overdrive • Pentium II (233 MHz to 450 MHz) • Pentium II Xeon • Pentium III (400MHz to 1.4 GHz) • Pentium III Xeon
NetBurst • Pentium 4 (1.3 GHz to 3.8 GHz) • Pentium D (2.66 GHz to 3.73 GHz) • 64-bit x86-64 듀얼코어 발열문제;; • AMD Athlon 64x2 • Hyper pipelined Technology (파이프라인이 10->20) • Rapid Execution engine (ALU가 2개) • Execution trace cache (마이크로연산을 캐시로 저장해서 이중으로 연산하는 일이 없도록 함) AMD가 듀얼코어CPU를 먼저 내놓으므로 주도권을 얻게됨
Core • Core Solo • Core Duo • Core 2 Solo • Core 2 Duo • Core 2 Quad • Core 2 Extreme • LGA 775 socket
Nehalem • Core i3/i5 Clarkdale – 1156 socket, 2.8~3.46 GHz, 2 cores • Core i5/i7 Lynnfield – 1156 socket, 2.40~3.06 GHz, 4 cores • Core i7 Bloomfield – 1366 socket, 2.66~3.33 GHz, 4 cores • 메모리가 프로세서에 직접적으로 연결되어있음, DDR3만 지원함 • 전면부 버스가 QuickPath로 대체됨. 마더보드는QuickPath를 지원해야함 • L3 캐쉬를 모든 코어가 공유, L1/L2 코어 고유 • 터보부스트 기술 적용 미리 설정된 온도/전류적 제한 안에서 혼자 알아서 오버클락 • NetBurst에서 선보였던 하이퍼스레딩이 다시 등장함
Sandy Bridge • ~3.6 GHz • LGA 1155 socket • Intel Core i-Series (2nd Generation) • 32kB instr. + 32kB data L1 cache, 256kB L2 cache per core • Shared L3 cache (including graphic) • 초월함수, AES 암호화, SHA-1 해싱에 대한 성능 향상 • 영상 인코딩/디코딩에 대한 하드웨어적 지원 • 하이퍼스레딩으로 최대 8개의 물리적 코어와 16개의 논리적 코어 지원 • 내장 그래픽 지원
Ivy Bridge • 2.5 GHz ~ 3.5 GHz • 최대 50% 전력소모 감소 • PCI Express 3.0 지원 • Intel HD Graphics가 DirectX 11, OpenGL 3.1, OpenCL 1.1 지원. (OpenGL 4.0 예정) • 새로운 임의수 생성자! • Sandy Bridge와 비교했을때: • 5%~15% CPU 성능 증가 • 25%~68% 내장 GPU 성능 증가 • 오버클럭시 동일 전력설정 상에서 20도 가량 더 높음
인텔의 독주, 그 다음은? • Haswell (Mar~Jun 2013? / 2011 Intel Developer Forum) • 1150 소켓 • 새로운 캐쉬 메모리 디자인 • 썬더볼트 지원 • 전력소모감소 • Broadwell (2014?) • Skylake (2015?) • Skymont (2016?) 인텔의 독주는 아마 계속될 겁니다. 쭈욱~
Xeon • 서버, 워크스테이션, 임베디드 시스템용 CPU 제품군 • PC군보다 큰 Cache Memory • 안정적인 성능 • 1998~현재 (P6 Pentium II부터 존재) • 메인보드가 비쌈
CPU 용어 • Core: 실질적 CPU로 각종 논리적 연산을 수행함. • MultiCore CPU: 말 그대로Core가 여러 개인 CPU • Hyperthreading: 한 개의 코어에서 리소스를 잘 분배해서 가상으로 두 개의 코어인 것 처럼 동작함. 초창기 NetBurst아키텍처 시절엔 효율이 좋지 않아 사장되었지만 Nehalem 아키텍처에서 부활 • Cache: CPU의 내장 RAM. Core가 빠르게 접근 할 수 있으므로 클수록 CPU 자체가 빠르지만 비싸다.
CPU 용어 • Socket: CPU가 메모리에 꽂히는 공간. 핀의 개수와 동일. 메인보드 CPU 호환성 안보고 사면 망함 • 제조 공정: CPU제조 공정의 크기. 작을 수록 소모전력이 줄어들고 발열이 줄어든다. • Stepping: CPU 구조의 미세한 변화 혹은 공정의 변화에 따른 제품의 차이를 기록한 것. 하드웨어적으로 문제가 발생할 소지가 있을 때 문제를 수정한 후 Stepping 코드를 올리는 방식. • TDP(Thermal Design Power): 열 설계 전력. 최대 전력소비 시에 발생하는 열의 양으로서 낮을 수록 좋다.
CPU 용어 • Clock: CPU의 작동 속도.FSB에Multiplier를 곱한 값. 보통 높을수록 빠르지만 Cache, 메모리 컨트롤러에따라 성능이 다를 수도 있다. • FSB (Front-Side Bus): CPU와 RAM이통신하는 통로. (오른쪽 Core Speed가제 FSB rate입니다.) • Multiplier: 내부 CPU clock rate와 지원 clock의 비. 저전력 환경시 CPU 사용량이 적으면 낮아질 수도 있음
Ne Nehalem: BlookField, LynnField QPI 적용 Pre-Nehalem
Sandy Bridge DMI 적용
RAM • 어느 위치에 저장된 데이터든지 접근하는데 동일한 시간이 걸리는 휘발성 메모리 • 컴퓨터의 주 기억장치로 사용됨
DDR (Double Data Rate) • 동일 클럭에서 대역폭을 2배로 늘려준다. • DDR 버전에 따라 물리적인 홈의 위치, 클럭 속도, 파이프라이닝 깊이가 다르다.
Memory wall이란? • 나날이 증가하는 CPU 내부 속도와 외부 속도의 차이 • 제한된 chip 사이에 bandwidth • 1986~2000년도사이 CPU 속도는 연평균 55% 증가했지만 메모리 속도는 불과 10% • 결과적으로 병목현상 초래
Multi-channel memory architecture • DRAM과 CPU의 메모리 컨트롤러 사이의 전송속도를 향상시키기 위한 기술 • DRAM과 memory controller 사이에 채널을 추가한다 • Dual-Channel: 2개의 채널 • Triple-Channel: 3개의 채널 • Intel Core i7-900 이상/Xeon, LGA 1377 • 최대 25.6 GB/s 전송률빠른 시스템 퍼포먼스+ /watt 효율 • 제한적 환경 (3-Channel 슬롯, 동일한 메모리 용량/속도) • Quadruple-Channel • Intel Core i7과 Intel Xeon 몇몇 모델, LGA 2011 • Triple-Channel과 비슷하게 제한된 환경. 조건에 부합하지 않으면 downgrade operation
Memory timings • DRAM 성능의 측정도 • 숫자가 작을수록 반응시간이 짧으므로 빠른 RAM • 오버클럭으로 낮추기도 하지만 과도하게 낮추면 신호를 놓쳐 시스템이 불안정해짐
Error-Correcting Code Memory • 컴퓨터 시스템 내부의 전자기적 간섭 때문에 DRAM의 특정 bit의 값이 다른 방향으로 뒤집힐 수 있다. • ECC를 이용해 이를 바로잡을 수 있다. (Hamming code) • PC에서는 RAM의 성능이 좋기 때문에 비교적 memory corruption의 여파가 미미하지만, 안정성을 추구하는 서버에서는 사용된다.
Hard Disk Drive • Platter – 데이터가 기록되는 곳 • Spindle – Platter를 회전시킴 • Head – Platter에 데이터를 기록하는 전자석 서버용 HDD? • 제품 군이 따로 있지는 않다. • 보통 핫스왑(서비스 중단 없이 하드웨어를 추가/교체)을 지원한다. • 시스템용 OS는 서버 내부에 • RAID용 HDD는 전면에서 삽입
Solid-State Drive • Flash memory 기반 • 속도가 빠름 • 충격에 강함 • HDD와는 달리 실제로 동작하는 부품이 없음 (기계식 전자식) • 데이터 기록/삭제 횟수가 한정되어 있음 (사용 수명 有) • PC용으로 사용하려면 부팅디스크로 사용하되, I/O가 잦은 캐쉬, 임시 파일 폴더 등은 HDD로 옮기는게 좋다.
RAID 디스크 어레이 기술 • Redundant Array of Independent Disks (독립 디스크의 여분 배열) • 디스크 어레이란 각각의 하드디스크를 굴비 엮듯 하나로 엮어 하나의 논리 드라이브로 구성하는 기술을 말한다. • 원래는 적은 용량의 하드에 큰 용량의 자료를 담으려고 응용됨. • 하드디스크 용량이 점차 커지면서 저장 용량이 아닌 데이터 보호 및 디스크 성능 문제 때문에 적용하는 경우가 많아짐 • 표준 RAID 레벨
RAID 구성 방식 하드웨어적 RAID • RAID Chip에 기반함 • 고비용 • 핫스왑지원 • 부트 파티션으로 사용 가능 • RAID 5,6단계에서 뛰어난 성능 • 중요한 서비스라면 하드웨어 RAID를 구성하는 편이 낫다. 소프트웨어적 RAID • CPU 성능에 기반함 • 저비용 • RAID 0, 1단계에서 하드웨어보다 나은 성능을 보여줄 수도 있음 • 가정용, 소규모 기업용
RAID 0 • Parity가 없는 striping된 세트. 적어도 2개의 디스크 필요. • Block 단위 스트라이핑 • 패리티가 없으므로 한 군데에서라도 에러가 발생하면전체 데이터의 손실로 이어짐 • 많은 디스크가 연결될 수록 데이터 손실의 위험이 커짐 • 100개의 데이터를 쓰는데 10초가 걸리는 파일을 하드디스크 두 개를 하나로 묶어 50개 씩 나누어 담으면 저장/읽기 시간이 절반으로 줄어드는 원리. • 하드디스크 용량이 다를 경우 용량이 적은 것이 주도권을 쥐므로 용량이 다르면 제 용량을 전부 쓰지 못함 같은 용량을 두 개 쓰는 것이 좋음
RAID 1 • Parity/Stripe가 없는 Mirroring된 세트. 최소 2개의 디스크 • Block 단위 Mirroring • 데이터 용량보다 읽기 속도가 중시될 때 유용 • 분할 탐색을 지원하는 다중 스레드를 지원하는 OS에서읽기 성능 향상 • 쓰기 시도 시 약간의 성능 저하 • 적어도 하나의 드라이브가 기능하는 한 배열이 동작함 안정성
RAID 2 • Bit 단위 striping • Hamming-code parity • 적어도 3개 이상의 드라이브 • Parity에 따라 복구가능 개수가 달라짐 • 디스크 소모량이 큼 • 표준 RAID 레벨 중 유일하게 사용되지 않음 • 상업적인 응용처가 전무
RAID 3 • RAID 2의 개선형 • Byte 단위 striping • 하나의 드라이브를 Parity 관리에 일임(적어도 3개의 디스크) • 하나의 디스크 오류까지 복구 가능 • 여러 개의 요청을 동시에 처리할 수 없음 • 기계적으로 동시에 읽어야함(head가 같이 움직임) • Sequential read/write에 적합 • Random access의 경우에는 hell • 제한적인 용도 때문에 거의 실용되지 않음
RAID 4 • RAID 3의 개선형 • Block 단위 striping, parity 일임 • 최소 3개의 디스크 • 하나의 디스크 오류까지 복구 가능 • 다중 요청을 동시에 처리할 수 있음 • 쓰기 시도 시 parity disk에 대한 부하/병목현상 • 역시 자주 볼 수 없는 RAID 기법
RAID 5 • Block 단위 striping, 분산된 parity • 최소 3개의 디스크 • 1개의 디스크 오류까지 복구 가능 • Parity가 분산되었으므로 Parity disk에 대한 부하도 없고, 잘 분산되어 있으므로 비교적 쾌적하다