[無에서 시작하는 컴퓨터&과학] 30

[컴퓨터][29] 입출력(I/O) 장치 : 키보드의 원리

※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다.※ 해당 게시글은 J. 클라크 스코트, 『그래서 컴퓨터는 어떻게 동작하나요?』, 지유록, 인사이트(2019) 책을 참고하였습니다.  이전 글들을 통해 8BIT 컴퓨터를 구현하면서 컴퓨터가 어떻게 구성되어 있고, 각 장치들이어떻게 동작하는지 구체적으로 이해할 수 있었다. 특히 스위치와 릴레이 회로를 통해 구현된 컴퓨터 장치들이제공하는 이진수의 집합 : 이진수 코드를 통해 사용자들은 여러 스위치 회로를 열고 닫으며 컴퓨터에게 명령어를 입력하고,같은 원리로 컴퓨터가 명령어를 처리한다는 점을 파악하였다. [컴퓨터][27] 컴퓨터 완성 : Non-ALU 명령어 및 플래그 (데이터 명령어 / 분기 명령어 / 직접 분기 명※ 해당 게시글은 주제를 ..

[컴퓨터][28] 초기 어셈블리어와 어셈블러 구현 및 원리 (Assembly language, Assembler)

※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다.이전 글들을 통해 ALU 명령어와 Non-ALU 명령어에 대해 알아보았다.그러면서 명령어가 무엇인지, 명령어는 어떻게 처리되는지 그 원리도 파악할 수 있었다. [컴퓨터][27] Non-ALU 명령어 및 플래그 (데이터 명령어 / 분기 명령어 / 직접 분기 명령어 / 조건 분※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다.※ 해당 게시글은 J. 클라크 스코트, 『그래서 컴퓨터는 어떻게 동작하나요?』, 지유록, 인사이트(2019) 책을 참core-basic.tistory.com※ 2024-12-02추가적으로 Non-ALU를 포함시키기 위해새로운 배선 배치도를  창안했으며 그로 인해기본적인 메모리로부터 명령어를 가져오고..

[컴퓨터][27] 컴퓨터 완성 : Non-ALU 명령어 및 플래그 (데이터 명령어 / 분기 명령어 / 직접 분기 명령어 / 조건 분기 명령어)

※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다.※ 해당 게시글은 J. 클라크 스코트, 『그래서 컴퓨터는 어떻게 동작하나요?』, 지유록, 인사이트(2019) 책을 참고하였습니다. 이전 글을 통해ALU(Arithmetic Logic Unit), CU(Contol Unit), RAM(Random Access Memory)의 개념을 재정리하면서 ALU 연산 명령어만 처리할 수 있는컴퓨터(CPU와 RAM)를 logisim 프로그램을 통해 구현해 보았다. [컴퓨터][26] 산술논리장치, 제어장치, RAM 총정리 및 CPU 구현 (ALU : Arithmetic Logic Unit, CU : Contol Unit, R※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다. ※ 해당..

[컴퓨터][26] 산술논리장치, 제어장치, RAM 총정리 및 CPU 구현 (ALU : Arithmetic Logic Unit, CU : Contol Unit, RAM : Random Access Memory, Central Processing Unit)

※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다. ※ 해당 게시글은 J. 클라크 스코트, 『그래서 컴퓨터는 어떻게 동작하나요?』, 지유록, 인사이트(2019) 책을 참고하였습니다 ※ 2024-11-28, 8bit 전가산기 회로에서 최상위 비트 부분 회로 오류(합, 자리올림 위치 변경)를 수정하여 이미지 재업로드※ 2024-11-28, ALU 회로에서 자리 올림 출력(CO) 부분 회로 오류(OR 게이트 누락)를 수정하여 ALU 이미지 재업로드 이전 글들을 통해서컴퓨터의 기본적이고 필수 구성요소인산술논리장치 (ALU : Arithmetic Logic Unit)제어장치 (CU : Contol Unit)임의 접근 메모리 (Random Access Memory)등을 logisim 프로그램과,..

[컴퓨터][25] RAM (Random Access Memory : 임의 접근 메모리)

※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다.※ 해당 게시글은 J. 클라크 스코트, 『그래서 컴퓨터는 어떻게 동작하나요?』, 지유록, 인사이트(2019) 책을 참고하였습니다.  이전 글들을 통해ALU 연산 과정을 파악함으로써 모든 연산이 연산자만 다를 뿐 같은 방법/단계를 거쳐처리된다는 것을 알게 되었다.그리고 출력 결과를 안정적으로 저장하고 전달하기 위해서누산기(ACC)라는 레지스터가 필요함을 알게 되었다. 또, 제어장치는 종합 클럭(clk, clk_d, clk_e, clk_s)과각 작업의 순서와 타이밍을 부여해 주는 스테퍼(Stepper) 대해 탐구해 보면서ALU 연산 과정에서 "단계(Step)"를 정의할 수 있었다.그러면서 각 단계가 활성화하고, 비활성화하는 신호 간격 사이..

[컴퓨터][24] 제어장치 - 3 (스테퍼와 명령어, Stepper and Instruction )

※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다.※ 해당 게시글은 J.클라크 스코트, 『그래서 컴퓨터는 어떻게 동작하나요?』, 지유록, 인사이트(2019) 책을 참고하였습니다.  이전 글들을 통해서 산술 논리 장치(ALU)와 클럭을 구현해 보았다.그러면서 제어장치에 대해 좀 더 자세히 알게 되었다. 제어장치란 클럭 신호에 맞추어 각 장치의 입출력 제어기를 활성화하거나, 비활성화할 수 있도록 해주어,외부 버스(Bus)로 데이터를 전송하거나, 버스(Bus)에 있는 데이터를 받을 수 있도록조율해 주는 장치임을 알 수 있었다. 그리고 제어장치는 명령어를 해석하는 역할도 하는데,"명령어를 해석한다"는 문장의 좀 더 직관적인 의미는설계 목적에 따라 디코더를 입출력 제어기에 추가로 연결하여클럭뿐..

[컴퓨터][23] 제어장치 - 2 ( JK플립플롭과 클럭)

※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다.※ 해당 게시글은 J. 클라크 스코트, 『그래서 컴퓨터는 어떻게 동작하나요?』, 지유록, 인사이트(2019) 책을 참고하였습니다. 이전 글을 통해서제어장치란 적절한 시점에 각 장치의 입출력제어기를 활성화하거나,비활성화할 수 있도록 해줌으로써각 장치가 모든 장치와 연결되어 있는 전선(Bus)으로 데이터를 전송할 수 있게 해 주거나,버스(Bus)에 있는 데이터를 받을 수 있도록 조정해 주는 장치로,추가로, 명령어를 해석하는 기능까지 갖춘 장치라는 것을 알 수 있었다.그래서 각 장치의 입출력제어기를 효율적으로 조정하기 위해서는산술/논리 연산 회로들을 통합할 필요가 있었다.이에 따라 기존 산술/논리 장치 (Arithmetic and Logic..

[컴퓨터][22] 제어장치 - 1 (디코더 그리고 산술/논리 장치(ALU : Arithmetic and Logical Unit ))

※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다.※ 해당 게시글은 J. 클라크 스코트, 『그래서 컴퓨터는 어떻게 동작하나요?』, 지유록, 인사이트(2019) 책을 참고하였습니다. 컴퓨터는 처음에 계산을 자동화하기 위해 산술/논리 연산 회로로 설계되었지만나눗셈 연산과 같이 중간 결괏값을 저장하고 다시 사용하는 등의 복잡한 연산을 하지 못한다는 한계가 있었다.그래서 신호 및 데이터를 저장하고 재사용할 수 있는 래치와 레지스터 등과 같은메모리 회로가 도입되었다. 이는 초기의 컴퓨터 발전에서 중요한 첫 번째 전환점이었다. 이에 따라, 산술/논리연산회로와 메모리회로와 결합해서 나눗셈 연산과 같은 복잡한 연산을 자동으로 수행할 수 있게 되었지만, 연산 자체만 자동일 뿐 사용자가 연산 결과를 직..

[컴퓨터][21] 나눗셈 연산 회로 (산술/논리연산 회로와 레지스터)

※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다.이전 글을 통해 초기의 컴퓨터는8bit 단위로 연산하고 데이터를 처리하는 것이 효율적임을 알 수 있었다.그래서 현재까지도 데이터 연산 및 처리 단위를 1byte(8bit)로 시작하여2byte(16bit), 4byte(32bit), 8byte(64bit) 등 2의 거듭제곱을 따른다는 것을 알게 되었다.이에 따라산술/논리연산 회로를 포함한 메모리 회로도 1byte(8bit) 단위로 구현해 보았다.그러면서 실질적으로 메모리 회로가 유용하게 사용되기 위해서는D래치와 출력제어기를 결합한 레지스터라는 장치로 사용됨을 알 수 있었다. [컴퓨터][20] 바이트와 출력 제어기 그리고 레지스터( Byte , Enabler , Register )※ 해당 ..

[컴퓨터][20] 메모리 회로 - 2 (바이트와 출력 제어기 그리고 레지스터 : Byte , Enabler , Register )

※ 해당 게시글은 주제를 탐구하면서 주관적인 생각을 정리 한 글입니다. 이전 글들을 통해 메모리 회로가 필요하게 된 이유는산술/논리 연산 회로 중에서 나눗셈 연산 회로를 구현하기 위해서연산 과정 중간에 있는 값 또는 결괏값 등을 저장하고 재사용할 수 있는 무언가가 필요했기 때문이었다.그리고 그러한 메모리 회로는 더 복잡한 연산과 작업을 수행할 수 있도록 해주어 컴퓨터 발전의 중요한 전환점 중 하나가 되었다.그래서 이전 글을 통해 메모리 회로란 무엇인지, 무엇을 저장하는 것인지, 저장이란 무엇을 의미하는지, 그리고, 저장하는 회로는 어떻게 구현되는지 등 메모리에 대한 기본적인 내용에 대해 알아보았다. [컴퓨터][19] 메모리 회로 (SR 래치(S-R latch), D 래치(D latch), JK플립플롭)※..