이 글은 강의자료를 해석한 것으로 정확하지 않을 수 있습니다!!
📕SRAM VS DRAM
- SRAM
- [static random access memory]
- cache memory를 구성함.
- DRAM보다 빠르고, 덜 공간을 차지하면서 더 비싸다.
- [static random access memory]
- DRAM
- [dynamic random access memory]
- memory를 구성함.
- [dynamic random access memory]
- SRAM과 DRAM은 메모리 계층의 two layers이다.
📕Volatile memory
- 전원이 꺼지면 instruction과 data를 잃어버림.
- Main memory or primary memory
- 보통 크기가 작고 빠르다.
- e.g.)DRAM and SRAM
📕Nonvolatile memory
- 전원이 꺼져도 프로그램과 데이터가 유지됨.
- 보조기억장치
- 크기가 크고 메인메모리보다 속도가 느리다.
- e.g.) magnetic (hard) disk, flash memory, optical disk(CD, DVD)
🔎전체 컴퓨터와 네트워크 컴퓨터를 연결시켜주는 네트워크는 몇 가지 주요한 장점을 가진다.
- Communication : 정보는 컴퓨터와 컴퓨터 사이에서 빠른 속도로 교환된다.
- Resource sharing : 네트워크로 연결된 컴퓨터는 I/O 장치를 공유할 수 있다.
- Nonlocal access : 유저는 사용하고자 하는 컴퓨터 근처에 있을 필요가 없다.
📗LAN
- Local area network
- 지리적으로 제한된 지역에서 데이터를 교환하도록 설계되었다.
- 일반적으로 단일 건물 내에서는 Ethernet으로 쓰인다.
📗WAN
- Wide area network
- 넓은 지역의 네트워크(대륙을 횡단할 수도 있음)
- ex) Internet
📗Wireless network
- ex) Wi-Fi, Bluetooth
💡Processors와 memory는 측정 불가능한 속도로 향상되고 있습니다.
💡트랜지스터는 단순하게 전기로 컨트롤되는 on/off switch입니다.
- IC(Integrated circuit)는 수십에서 수백 개의 트랜지스터를 하나의 칩으로 결합했다
- VLSI(Very Large Scale Integrated circuit)는 수백에서 수백만 개의 트랜지스터를 포함한다.
📕Performance considerations for computer
- 프로세서의 특성(e.g., clock frequency, # of cores)
- 시스템 버스의 속도
- Cache / Memory size
- Disk storage (SSD or HDD)
- 그래픽 카드(GPU)
- 전력 소비
- 가격, 무게, form factor, etc
💡개인 컴퓨터 사용자는 response time을 줄이는데 관심이 있다.
- 시작부터 일의 완료 사이까지의 시간.
- 우리는 response time을 execution time이라고도 부른다.
💡Datacenter manager는 산출량을 증가시키는데 관심이 있다.
- 주어진 시간 안에 처리할 수 있는 일의 양
💡어떻게 하면 response time과 throughput에게 영향을 줄 수 있을까요?!
- 더 빠른 프로세스로 대체시키면 응답 시간과 산출량이 증가합니다.
- 프로세서를 추가해준다면 산출량만 늘어날 것입니다.
🔎컴퓨터 x의 성능은 아래와 같은 식으로 정의합니다.
아래는 두 컴퓨터의 성능을 비교하는 식입니다.
📕Time의 정의
컴퓨터 성능의 측정
프로그램 실행 타임은 각 프로그램당 초 단위로 측정된다.
💡Time의 가장 간단한 정의는 wall clcok time , response time, or elapsed time으로 불립니다.
이 용어들은 작업을 완료하는데 걸린 전체적인 시간, 디스크/메모리 accesses , input/output(I/O) activities,
운영체제의 모든 것을 의미한다.
💡Cpu execution time(Or CPU Time)은 CPU가 task를 처리하는데 걸린 time을 의미합니다.
CPU executinon time은 I/O or other programs등에 의해 소비되는 time을 포함하지 않는다.
CPU time은 user Cpu time과 system Cpu time으로 나뉜다.
📕CPU Clokcing
모든 컴퓨터들은 clock을 사용해서 만들어진다.
그럼 여기서 clock을 무엇일까?
💡clock
clock은 하드웨어에서 이벤트가 발생하는 시기를 결정합니다.
📗time intervals들은 clock cycles(or ticks, clock ticks, clock periods, clocks, cycles)라고 불린다.
위 그림은 clock cycle이 3 cycle이다.
💡Designers은 clock period의 길이와 complete clock cycle의 time과 clock rate를 참조해야 한다.
- Clock period : duration of a clock cycle
- Clock rate( or clock frequency) : cycles per second
CPU execution time = CPU clock cycles * Clock cycle time
= CPU clock cycles / Clock rate
🔎하드웨어 디자이너들이 성능을 향상하는 방법
- clock cycle의 수를 줄이는 것
- clock cycle의 길이를 줄이는 것.
💡execution time은 instructions의 개수에 영향을 받는다.
Clock cycles = Instruction count * Cycles per instruction(CPI)
CPU execution time = instruction count * CPI * Clock cycle time
= instruction count * CPI / Clock rate
💡Instruction count for program는 프로그램과 ISA, 컴파일러에 의해 결정된다.
💡CPI(Clock cycle per instruction)는 각 명령이 프로그램에 대해 실행하는 데 걸리는 평균 클럭 사이클 수입니다.
- CPU Hardware에 의해 결정된다.
- 다른 명령은 다른 clock cycle를 가진다. -> CPI는 평균
CPU Time = Seconds/Program = Instructions/Program * Clock cycles / Instruction * Seconds / Clock cycle
🔎프로그램의 성능과 의존 관계
📕Amdahl's Law
- 컴퓨터의 한 측면을 개선하고 있으며 전반적인 성능에서 비례적인 개선을 기대하고 있다.
- 더 이상 성능의 향상이 되지 않는 한계가 존재한다는 의미이다.
- 컴퓨터에서 프로그램이 100초 만에 실행되며 이 시간 중 80초 동안 다중 작업이 수행된다고 가정합니다.
- 어떻게 하면 성능을 5배로 향상할 수 있을 까요
20 seconds = 80 seconds/n + (100 -80) seconds
= 80 seconds/n + 20 seconds
0=80 seconds/n
--> 절대 5배 상향시킬 수는 없다.
'Computer Science > Computer Architecture' 카테고리의 다른 글
[computer archiecture] - arithmetic_for_computers(1) (0) | 2022.10.19 |
---|---|
[computer architecture]-instruction_language_of_computer(3) (0) | 2022.10.11 |
[computer architecture]-instructions_language_of_computer(2) (0) | 2022.10.09 |
[computer architecture] - instructions- language_of_computer(1) (1) | 2022.10.08 |
[Computer architecture] - Computer Abstractions and Technology (1) (2) | 2022.09.22 |