컴퓨터구조
노이만구조
- 프로그램과 데이터가 같은 메모리 공간에 저장
- 명령어와 데이터가 위치에 따라 의미가 달라짐
하버드구조
- 프로그램 메모리와 데이터 메모리가 분리
- 메모리주소에 따라 같은 데이터가 의미 달라지지 않음
현재의 컴퓨터구조 -> 메모리: 노이만, 캐시:하버드
컴퓨터 언어
저수준언어 - 2진수 기계어, 어셈블리
중수준언어 - C (하드웨어 접근 허용)
고수준언어 - Java, Python (하드웨어 직접 접근X)
H/W
- ALU/FPU/barrel shifter
- DSP/Accelerator
클럭스피드/워드사이클
- 클럭 - 특정 신호(메인보드)
- 클럭 스피드 - cpu의 동작 속도를 나타내는 척도
- 워드 - cpu가 한 번에 처리할 수 있는 데이터 처리량(8bit/16bit …)
- 사이클(=펄스) - 신호 주기 ex) 4.9 GHz
- 실제 성능(=실제 처리량) = 워드 * 사이클 수
CISC vs RISC
CISC - 명령어마다 실행시간 다름
RISC - 명령어마다 실행시간 동일, 복잡한 연산은 명령어를 조합
마이크로 프로그래밍
어셈블리 코드를 실행하도록 컴퓨터 구조의 각 세부 노드를 조정
(cpu 안의 모듈을 어떻게 제어할 것인지)
ISA(Instruction set architecture)
마이크로프로세서가 인식하여 기능을 이해하고 실행할 수 있는 기계어 명령어(명령어 집합 구조)
- ex) x86(cisc), ARM(risc)
어셈블리 프로그램을 작성하기 위해 알아야 하는 정보
- 명령어, 레지스터, 메모리 접근 방식, I/O 등을 포함한 컴퓨터 아키텍처
ABI(Application Binary Interface)
명령어 집합 + 운영체제 인터페이스
최종 바이너리 프로그램 그대로 쓸 수 없음
메모리의 종류
Ram | Rom |
여러번 쓸 수 있음 | 읽기만 가능 |
속도 빠름 | 속도 느림 |
EPROM(삭제 가능), EEPROM(전기적→삭제 가능) |
Flash memory
- EEPROM 변형 + 속도 개선
- 소자 하나에 여러 비트 기록 가능
- SLC(0, 1)
- MLC(00, 01, 10, 11)
- TLC(000, 001, … , 111)
- QLC(0000, 0001, … , 11111)
위쪽일수록 속도, 수명 높음
메모리 계층 구조
SRAM(속도 빠름)
- Flip-Flop을 기본 소자로 한 combinational logic
- ex) cache
DRAM(속도 느림)
- RLC 중 Capacitor를 기반으로 리프레시 필요
- ex) 일반 주기억 장치
레지스터 → SRAM → RAM → Flash memory → 하드디스크
←← 속도 빠름 ←←
반도체
어떤 때는 전기가 통하고 어떤 때는 전기가 안 통하는 물질
- 기능
- Switch
- Amplifier (적은 양 → 많은 양 컨트롤
- 무어의 법칙
- <<1년마다 칩에 집적되는 소자 수가 2배가 된다>>
- 반도체의 트랜지스터 집적도의 증가도에 관한 법칙)
- 초기 1년에 2배 →18개월 2배 → 2년에 2배 → … →4년에 2배
- 생산
- 실리콘 결정괴 → 실리콘 웨이퍼 → 패터링 → dicer → dics테스트 → 패키징 → 테스트 → 쉬핑
- 양품률(=수율) - 전체 다이 중 양호한 다이의 비율
- 다이원가 = 웨이퍼당 가격/(웨이버당 다이수*수율)
2023.04.25 - [컴퓨터구조] - [컴퓨터구조] #1 컴퓨터구조 - 추가 사설 문제
'전공 > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조] #6 단일 사이클 구현 1 (0) | 2023.04.23 |
---|---|
[컴퓨터구조] #5 프로세서 (0) | 2023.04.15 |
[컴퓨터구조] #4 컴퓨터 연산 (0) | 2023.04.15 |
[컴퓨터구조] #3 명령어 종류, 기능과 형식 (0) | 2023.04.15 |
[컴퓨터구조] #2 성능평가 (0) | 2023.04.15 |