일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Galera Cluster
- 자바
- 컴퓨터구조
- 네트워크
- MSA
- design pattern
- Algorithm
- mongoDB
- Heap
- Data Structure
- 운영체제
- spring webflux
- Proxy
- C
- c언어
- 알고리즘
- Kafka
- 백준
- 디자인 패턴
- Spring
- JavaScript
- Java
- react
- 파이썬
- MySQL
- IT
- JPA
- 자료구조
- OS
- redis
Archives
- Today
- Total
시냅스
컴퓨터 추상화 및 관련 기술 본문
컴퓨터 구조 분야의 8가지 위대한 아이디어
- Moore의 법칙을 고려한 설계
- Moore의 법칙은 18~24개월마다 칩에 집적되는 소자의 수가 2배가 된다는 것.
- 프로젝트 시작 시점보다 종료 시점의 기술을 예상해야 한다.
- 설계를 단순화하는 추상화
- 하위 수준의 상세한 사항을 안 보이게 함으로써 상위 수준 모델을 단순화한다.
- 병렬성을 통한 성능 개선
- 여러 개의 제트 엔진을 장착한 비행기...
- 파이프라이닝을 통한 성능 개선
- 사람들이 길게 늘어서서 물을 나르는 것...
- 예측을 통한 성능 개선
- 예측을 잘못해서 이를 복구하는 비용이 비싸지 않고, 예측이 성공할 확률이 비교적 높은 경우
- 예측을 해서 미리 일을 수행하는 것이 평균적으로 빠른 경우가 종종 있다.
- 메모리 계층 구조
- 최상위 계층에는 제일 비싸지만 작고 빠른 메모리
- 최하위 계층에는 싸지만 크고 느린 메모리
- 여유분을 이용한 신용도 개선
- 장애를 감지하고 난 후에 대치할 수 있는 여유분
- 신용도 개선
프로그램 밑의 세계
- 기계는 bit를 통해 소통한다.
- 이를 어셈블러가 기호로 된 명령어(어셈블리 언어)를 기계어(이진수)로 바꿔준다.
- 상위 수준 언어는 컴파일러가 어셈블리어로 변환해준다.
컴퓨터의 고전적 구성 요소 다섯 가지
- 입력 유닛 (input)
- 출력 유닛 (output)
- 메모리 유닛 (memory)
- 데이터 패스 유닛 (datapath)
- 제어 유닛 (control)
하드웨어와 소프트웨어는 모두 추상화를 이용하여 계층적으로 구성되며, 각 하위 계층의 세세한 부분이 상위 계층에서는 보이지 않게 한다. 여러 계층의 추상화 중에서 가장 중요한 것은 하드웨어와 하위 계층 소프트웨어 간의 인터페이스인 명령어 집합 구조(instruction set architecture)이다.
데이터의 안전한 저장소
- 휘발성 vs 비휘발성
- 휘발성
- 메인 메모리 (main memory)
- DRAM
- 비휘발성
- 보조기억장치 (secondary memory)
- HDD, SSD...
- 휘발성
프로세서와 메모리 생산 기술
- 집적회로 : 수십, 수백 개의 트렌지스터(전기 신호로 제어되는 온/오프 스위치)를 하나에 집적시킨 것
- 초대규모집적회로 : 수십만, 수백만 개의 트랜지스터를 포함하고 있는 집적회로
- 집적회로는 실리콘(모래의 구성 성분으로 이뤄진 반도체(전기가 잘 통하지는 않는 물질) 천연 원소)에서 출발한다.
- 실리콘은 아래 세가지로 바꿀 수 있다.
- 전기의 양도체 (초소형 구리나 알루미늄 전선)
- 전기 절연체 (플라스틱 피복이나 유리)
- 조건에 따라 도체가 되기도 하고 절연체가 되기도 하는 물질(스위치)
- 트렌지스터는 이에 해당한다.
- 실리콘 결정 괴(막대 모양의 실리콘 결정) -> 웨이퍼 (실리콘 괴를 0.1인치 이내로 얇게 잘라 칩을 만드는 데 사용) -> 화학처리 -> 트랜지스터, 도체, 절연체
- 웨이퍼 결함 -> 결함이 생긴 웨이퍼만 버림 -> 수율로 계량화
성능
- 성능 측정 기준
- 응답 시간 : 컴퓨터가 테스크를 완료하기까지의 총 소요시간 (== 실행시간)
- CPU 실행시간 : 특정 작업의 실행을 위해 CPU가 소비한 실제 시간
- 사용자 CPU 시간 : 프로그램 자체에 소비된 CPU 시간
- 시스템 CPU 시간 : 프로그램의 수행을 위해서 운영체제가 소비한 CPU 시간
- 클럭 사이클, clock cycle : 클럭 (전기적 신호에 따른 하드웨어의 반응을 주파수로 기록)의 시간 간격
- 클럭 주기, clock period : 한 클럭 사이클에 걸리는 시간
- 처리량 : 단위시간당 완료하는 테스크의 수를 나타내는 척도 (== 대역폭)
- 응답 시간 : 컴퓨터가 테스크를 완료하기까지의 총 소요시간 (== 실행시간)
- cpu 시간 = 명령어 개수 x CPI(명령어당 클럭 사이클 수) / 클럭 속도
실행시간만이 유효한 성능 척도이다. 다른 척도들은 허점이 존재한다.
'컴퓨터구조' 카테고리의 다른 글
컴퓨터구조 기억장치의 분류와 특성 (0) | 2022.08.05 |
---|---|
CPU의 구조와 기능 (0) | 2022.08.02 |
ARM (Adavanced RISC Machine) 이란? (0) | 2022.07.17 |
컴퓨터 구조 기초 (0) | 2022.07.10 |
명령어: 컴퓨터 언어 (0) | 2022.07.02 |
Comments