→ Computer Science

💻 이전 글이전에는 SSD를 알아보았는데, 결국 DRAM 까지 왔다. [CS] SSD의 구조💻 이전 글이전에는 HDD의 구조와 스케줄링을 알아보았는데, 이번에는 SSD, DRAM 까지 살펴보려고 한다. [CS] HDD의 구조 및 스케줄링HDD, SSD, DRAM에 대해서 학습하고 기록하고자 포스팅을 작성하게swift-library.tistory.com📏 DRAM아래의 유튜브를 참고하여 정리하였다.Dynamic Random Access Memory인 DRAM은 SSD보다 약 3000배 이상 빠르다고 한다.DRAM은 겹겹이 쌓인 SSD와 달리 2차원 배열이고 메모리 셀당 한 비트를 일시적으로 저장한다. 또한 보관된 데이터를 지속적으로 저장하기 위해 전력이 필요하다. 이렇게 저장된 값을 계속 새로 고쳐줘..
💻 이전 글이전에는 HDD의 구조와 스케줄링을 알아보았는데, 이번에는 SSD를 살펴보려고 한다. [CS] HDD의 구조 및 스케줄링HDD, SSD, DRAM에 대해서 학습하고 기록하고자 포스팅을 작성하게 되었다. 첫 번째 글은 HDD이다!💻 컴퓨터 구조시작하기에 앞서 컴퓨터 구조를 간단하게 훑고 시작하려고 한다.위키피디아에 의하swift-library.tistory.com💾 ROM, RAMSSD는 플래시 메모리로 만든 저장장치인데, ROM과 RAM이라는 키워드가 많이 보여 이것부터 간단하게 살펴보기로 했다.메모리는 크게 휘발성, 비휘발성으로 나뉘는데 ROM은 비휘발성 메모리, RAM은 일반적으로 휘발성 메모리이다. Read-Only Memory의 약자인 ROM은 전원을 꺼도 데이터가 지워지지 않기 ..
HDD, SSD, DRAM에 대해서 학습하고 기록하고자 포스팅을 작성하게 되었다. 첫 번째 글은 HDD이다!💻 컴퓨터 구조시작하기에 앞서 컴퓨터 구조를 간단하게 훑고 시작하려고 한다.위키피디아에 의하면 컴퓨터 구조를 간단하게 나타낸 그림은 위와 같다. 이번 글에서 알아볼 내용은 Second Memory에 속한다.운영체제 책에서 찾은 Computer System의 그림은 위와 같다. 나는 좀 더 이 그림이 나에게 잘 와닿는 것 같다. 결국 컴퓨터는 CPU, Memory, I/O 장치로 이루어져 있다고 할 수 있다.🗄️ 주기억장치, 보조기억장치HDD, SSD, DRAM의 차이는 위의 그림에 잘 나와있다. HDD, SSD는 Secondary storage에 포함되고 DRAM은 primary storage에..
컴퓨터는 소수를 어떻게 표현할까? 컴퓨터는 모든 수를 이진수로 표현한다. 그렇다면 우리가 흔히 쓰는 소수들은 어떻게 표현할까?📌 고정 소수점 (Fixed-Point)그냥 이진수 그대로 사용하면 소수를 표현할 수는 있다. 예를 들면 8비트의 숫자가 있다면 4비트는 정수 부분 4비트는 소수 부분으로 나눌 수 있겠다.0 0 0 0 (정수) 0 0 0 0 (소수)이렇게 되면 3.75 같은 수는 아래와 같이 나타낼 수 있다. (소수를 표현하는 데에 한계는 아랫부분에서 다룰 예정이다)정수 부분: 0011 (1 + 2 = 3)소수 부분: 1100 (0.5 + 0.25 = 0.75)3.75 = 0011 1100하지만 이렇게 소수점 부분을 고정하게 된다면 8비트의 경우 -128 ~ 127 까지 표현할 수 있었지만 4비..
어렴풋이 알고 있었는데 정확하게 정리해 보고자 이렇게 글을 써보고자 한다. 과연 컴퓨터는 음수를 어떻게 표현할까? 8비트를 기준으로 아래와 같은 숫자 5가 있다고 생각해 보자. 0 0 0 0 0 1 0 1음수를 어떻게 표현할 수 있을까? -5를 나타내면 되니까 맨 마지막 자리 수를 양수는 0 음수는 1로 생각하면 어떨까?1 0 0 0 0 1 0 1만약에 이 두 수를 더한다면? 결코 0이 나오지 않을 것이다. 결국 그렇다는 것은 덧셈을 할 때 복잡한 방식을 취해야 한다는 것이다. 또한 +0, -0 두 가지 경우의 0이 생기기 때문에 중복을 해결해줘야 하는 문제도 발생한다. 0 0 0 0 0 1 0 1 (5)+ 1 0 0 0 0 1 0 1 (-5)-------------------- 1 0 0 0 1 0..
데이터가 0101으로 전송된다는 것은 어렴풋이 알 고 있었지만 정확히 어떤 과정인지 짚고 넘어가 보고 싶어서 이렇게 글을 작성한다.➡️ 데이터의 전송 과정만약 A라는 데이터를 보낸다고 생각해보자.컴퓨터는 A를 보낼 수 없다. 0100 0001로 보내게 된다. 이건 ASCII 코드로 변환된 값이다.하지만 숫자를 그대로 보내진 않을 테니 위의 2진수를 전기신호로 바뀌면 아래와 같이 된다. 결국 아래와 같은 신호를 보내게 된다.하지만 위와 같은 전기신호로 보내게 되면 0이 몇 개인지 알 수가 없다. 따라서 아래와 같이 타이밍을 정해준다(클럭).이것을 전송 속도라고 한다. 단순히 이렇게 타이밍을 맞춘다고 다 해결되는 것이 아니라고 한다. Ethernet같은 경우는 클록신호와 XOR연산을 하여 만드는 맨체스터 코..
🙇 시작하며물론 알고있는 내용들도 많지만 CPU에 대해서 간단하게 정리해보고 싶어서 이렇게 글을 먼저 작성하게 되었다. 아래와 같이 homebrew CPU라고 집에서 CPU도 만들 수 있다! (솔직히 나중에 만들어 보고 싶다... 극강의 공돌이만 도전 할 듯..?) Homebrew CPU Home PageMagic-1 is a completely homebuilt minicomputer.  It doesn't use an off-the-shelf microprocessor, but instead has a custom CPU made out of 74 Series TTL chips.  Altogether there are more than 200 chips in Magic-1 connected toge..
🗃️ 이전 글 [CS] 프로세스와 스레드 딥다이브 - 3. 실행, Context switch??🗃️ 이전 글 [CS] 프로세스와 스레드 딥다이브 - 2. 프로세스의 구조??🗃️ 이전 글 [CS] 프로세스와 스레드 딥다이브 - 1. 딥다이브 전 기초지식🧐 학습 계기이번에 스터디를 진행하면서 운영swift-library.tistory.com🧵 멀티스레드 프로세스많은 개발자들을 괴롭히고(?) 있는 스레드! 멀티 프로세싱은 Context switching을 통해서 os에서 관리한다. 하지만 각 프로세스 안에서도 Task관리... 해야겠지? 기존 전통적인 프로세스는 single-threaded process이였지만, 현대에 와서는 multithreaded process로 발전했다.A thread is a..