묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
buffer에 관하여 질문드립니다.
안녕하세요 삼코치님. 강의 중 궁금한 점이 있어 질문드립니다. 해당 강의에서 주어졌듯이wire not_in; assign out=~not_in;assign not_in=~in; 의 경우 중간에 인버터가 들어가게 되는데 이를 버퍼라고 할 수 있는건가요? wire not_in; assign out= not_in;assign not_in=in; 으로 했을 때 그림대로 라면 낫 인버터가 아니라 그냥 인버터가 들어간다고 생각되어서 질문드립니다!
-
미해결개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
메모리맵 입출력과 고립형 입출력의 물리적 차이가 이게 맞나요?
"메모리 맵 입출력은 메모리에 접근하기 위한 주소공간과 입출력 장치에 접근하기 위한 주소공간을 하나의 주소공간으로 간주하는 방법입니다." 는 한마디로 같는 램 안에 섞여잇단 말씀인가요? 예시로 1024개의 주소를 나타내는 램에 반은 일반적인 메모리를 위해, 반은 입출력장치를 위해 사용된다는 말씀인가요?그렇다면 고립형 입출력에서 메모리에도 1024, 입출력장치도 1024개의 주소를 사용할수 잇다는 말씀은...램이 두배로 증가한것도 아닐테고...메모리를 위한 주소공간은 램에 표현되고 입출력장치를 위한 주소공간은 입출력장치 내의 레지스터나 입출력장치내의 램을 뜻하는게 맞을까요?좀 두서없어서 죄송합니다...정리하자면 메모리맵 입출력에서 메모리를 위한 주소공간과 입출력을 위한 주소공간은 램에 존재하는 것이고 고립형 입출력에서 메모리를 위한 주소공간은 램에, 입출력장치를 위한 주소공간은 장치 컨트롤러 내의 기억장치에 존재하는 것..이 맞을까요?
-
미해결디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
강의 중 질문 있습니다!
안녕하세요 강의 너무 듣고 있습니다.강의 중에 궁금한 게 생겨서 질문 남깁니다!chapter4 6페이지에 xor gate를 한번에 만들어서 사용하는 tr개수를 8개로 줄일 수 있다고 하셨는데 ~A , ~B 입력을 위해서 inverter가 2개 더 필요해서 총 12개가 필요한 것 아닌지 궁금합니다
-
해결됨독하게 시작하는 C 프로그래밍
realloc 질문
예제 파일을 보고 있던중에 들은 생각인데요, free(pszBuffer) 를 하지 않는 이유는 무엇인가요
-
해결됨독하게 시작하는 C 프로그래밍
동적 메모리 할당 관련 질문 있습니다.
개발자 님께서 제공해주신 예제 파일에 제 맘대로 주석을 달아봤습니다.18 행에 오류 확인을 위해 의도적으로 해제하지 않음 이라는 주석이 처음부터 달려있었는데메모리 해제를 하지 않아도 런타임 오류는 발생하지 않더라구요. 18 행 주석의 의도가 무엇인지 궁금합니다!
-
해결됨독하게 시작하는 C 프로그래밍
문자열 은 [가변]
문자열이 가변 이라고 말씀하셨는데어떻게 받아들여야할지 잘 모르겠습니다.무엇이 어떻게 변하는걸까요
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
메모리 대역폭과 하드웨어 스레드의 관계가 궁금합니다.
DDR SDRAM 에 메모리 "대역폭" 개념이 등장했는데요, "메모리 내의 명령어를 한 번에 얼마만큼 읽는지는 하드웨어 스레드가 결정하는것"과 "메모리 대역폭이 넓으면 한 번에 더 많은 데이터를 주고받을수 있다"라는 말이 서로 상충해서 이해가 가지않습니다... 스레드가 4개면 한 번에 4개를 인출하는건데 대역폭이 넓은것과 좁은것의 차이는 뭔가요? 궁금합니다!
-
해결됨독하게 시작하는 C 프로그래밍
visualStudio 디버깅 메모리 조사
nData 의 공간에 10 이라는 값이 리틀 엔디언 방식으로 담기고pnData 의 공간에 nData의 64비트 주소가 리틀 엔디언 방식으로 담겨야한다고 이해했습니다.혼자서 실습을 해보는데 pnData 에 10이 담겨있고 nData에 마우스 커서를 가져다 대봤으나 주소가 뜨지 않습니다. 무엇이 문제일까요
-
해결됨독하게 시작하는 C 프로그래밍
파일 입출력애서 fopen_s() 함수 및 매개변수로 &fp에 대한 질문입니다.
안녕하세요, 강의 항상 잘 듣고 있습니다.FILE* fp = NULL;fopen_s(&fp, "Test.txt", "w');if ( fp == NULL ){puts("ERROR: Failed to open file")}Q1. 파일 생성, 개방, 폐쇄 강의에서 위 코드를 설명해주실 때fp가 fopen_s가 할당하는 '무언가'의 주소를 담고 있다고 말씀하셨는데, 무언가는 파일 입출력은 위한 힙 메모리영역이 할당되는것인지 아니라면 무엇이 할당되는 것인지 궁금합니다.Q2. fp의 주소는 NULL 값으로 초기화 되었는데, fopen_s()함수에 의해 fp가 "Test.txt" 파일이 위치한 곳의 주소를 담게되는 것인지 궁금합니다.Q3. fopen_s(&fp, "Test.txt", "r') ; 로 코드를 바꾸어 실행시 해당 파일이 없는 경우엔 fp값이 여전히 NULL 이고 따라서 if문의 에러메시지가 출력되는게 맞을까요?질문이 많아서 죄송합니다;;
-
해결됨독하게 시작하는 C 프로그래밍
가변길이 입력의 의한 스택프레임 손상관련 문의 입니다.
강의 내용에 보면, char szBuffer[8] 통해 8바이트 자동 할당되었는데, \0이 마지막에 붙어 1바이트 초과하여 ndata 스택 메모리를 침범한다는 말씀을 하셨습니다.그렇다면, 문자열을 N 만큼 입력받고 싶다면 항상 N+1의 메모리 공간을 할당해야할까요? 스택, 힙 두 경우에 모두 해당되는지 궁금합니다.
-
해결됨독하게 시작하는 C 프로그래밍
vs코드 인터프리터
vs코드를 깔고 인터프리터를 따로 깔아야하는걸로 알고있는데 그냥 아무 인터프리터나 깔아도 상관이 없나요 ??
-
미해결디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
async fifo 질문있습니다!
async fifo 예제 코드는 bin counter의 값을 comb logic을 통해 gray형태로 바꾸어서 CDC를 수행하는 것으로 이해했습니다. 하지만 강의 내용에서 Comb logic의 출력을 그대로 CDC한다면, Passing short cdc signal 문제가 발생할 수 있다고 하셨습니다. 그래서 gray 형태를 register에 저장하고, 이 register의 출력을 cdc하는 형태로 바꾸려고 하는데, 이것이 올바른 방식인지 알고 싶습니다!예제 코드)
-
해결됨독하게 시작하는 C 프로그래밍
3항 연산자 필수 실습 문제 합 불 판단
#include <stdio.h>int main(void){int nInput = 0;int answer = 0; scanf_s("%d", &nInput);answer = (nInput >= 80) ? printf("pass") : printf("fail"); printf("%c\n", answer); return 0;} 이 코드가 왜 실행되는지 모르겠어요 문자열 %s가 아니라 왜 %c로 했는데 되는지 궁금해요 %s로 해도 실행은 되는데 이렇게 초록색 줄로 그이고 실행 했을 때 처리 속도도 느린데 왜 그런건가요? answer에 printf 함수가 들어가면 어떻게 되는 건가요? 나중에 이런것도 설명 해주시나요?
-
해결됨독하게 시작하는 C 프로그래밍
클래스뷰
독하게 C 강의 수강중입니다.클래스뷰에 프로젝트들이 보이지 않습니다. VS 에서 처음에 로컬 폴더 열기 로 예제파일폴더 를 열었는데요 클래스탐색기에는 폴더들이 쌓여있지만 클래스뷰에 프로젝트들이 보이지 않네요 어떻게 하면 좋을까요
-
해결됨독하게 시작하는 C 프로그래밍
Intel CPU 와 AMD CPU 에 대해 궁금한 점
Visul Studio 로 x86 이든 x64든 한번 컴파일을 해서 Intel CPU 와 AMD CPU 에서 동일하게 실행이 가능하다면 Intel 과 AMD 의 명령어세트가 동일하고 제공하는 레지스터들이 동일한 것인지 갑자기 궁금증이 들어 질문 남깁니다! 좋은 강의 감사드립니다!
-
해결됨독하게 시작하는 C 프로그래밍
버블정렬에 대한 개념질문
안녕하세요, 저는 이 강의에서 버블정렬이라는 단어를 듣기전까지 버블정렬이 뭔지도 몰랐습니다.그래서 인터넷에서 버블정렬을 검색 후 (답안지는 보지 않았습니다.) 이미지 한장을 보고 어떤 방식으로 진행하는지만 보고 제 스스로 구현을 해봤습니다.총 두가지 방법으로 구현을 해봤는데요첫번째 방법은 선생님의 설명을 듣기 전 문제만 보고 스스로 해봤고두번째 방법은 선생님의 버블정렬 개념 설명을 듣고 설명의 방식대로 구현을 해봤습니다.첫번째 방법두번째 방법두가지 방법 모두 버블정렬 개념에 맞게 작성 된 로직인지 체크 해주시면 감사하겠습니다!
-
해결됨독하게 시작하는 C 프로그래밍
같은 식별자 메모리 저장 위치
중첩스코프와 식별자 검색 순서 강의의 예제에 중단점 설정하고 nInput들의 메모리 저장위치들을 살펴봤는데, 15를 입력값으로 받았을때 두번째 nInput의 저장위치가 첫번째 nInput 저장위치랑 32바이트씩 일정하게 차이가 나던데 어떤 이유에서인가요 ? (두번째 변수엔 19 저장되게 했습니다)
-
해결됨독하게 시작하는 C 프로그래밍
강의의 대한 추가 개념이해
안녕하세요, 제가 이해한바가 맞는지 확인하고 싶습니다.기본적으로 H/W장치가 있고 그 장치를 컴퓨터에 연결을 하면S/W Kernel단에 해당 장치의 대한 디바이스 드라이버가 있고S/W Kernel단 OS에 해당 디바이스 드라이버를 처리하기 위한? 대응이 되는 요소가 있고 OS는 해당 장치를 추상화한 File이라는 걸 User단에 만들어준다. 해당 File에는 Buffer라는 개념이 존재한다.User단에서 해당 장치를 사용하기 위해선 OS가 만든 장치를 추상화한 File을 사용하는 프로그램을 만들어서 사용해야 한다. 이걸로 프로세서와 장치는 RWX를 할 수 있는 조건이 갖춰진다.그리고 같은 H/W단에 있는 CPU와 장치는 Interrupt라는 걸로 통신(제어)하게 된다.컴퓨터 외에 H/W장치는 크게 두가지로 볼 수 있다. 입력 장치와 출력 장치가 있다. 입력 장치는 마우스, 키보드, 캠, 마이크 등이 있고 / 출력 장치는 모니터, 스피커 등이 있다.입력 장치들은 데이터들을 추상화한 File Buffer로 전송하고 이 데이터들을 (Read)사용하기 위해선 해당 File의 대한 프로그램을 개발해야한다.출력 장치들은 출력 장치를 추상화한 File을 사용하는 프로그램을 개발한 다음 Read프로그램의 데이터들을 가져와서 가공을 한 다음 write(쓰기)를 하면 File Buffer에 데이터들이 차곡차곡 쌓은다음 출력 장치로 가게 되어서 해당 데이터들을 출력 장치를 통해 볼 수 있게 되는 것이다.이것이 강의에서 나온 키보드로 Hello World 같은 프로그램 만들고 -> 모니터 콘솔화면으로 결과물을 볼 수 있는 구조다.라고 이해했는데 이해한바가 맞을까요?또 Buffer라는 것도 입력 or 출력장치로 R/W을 했을 때 데이터들을 차곡차곡 모아서 한번에 전송하기 위함인가요?예를 들어 숙소A, 버스B, 건설현장C가 있을 때 버스B가 숙소A로부터 노동자들을 건설현장C로 수송해야할 때 노동자들을 한명씩 태워서 수송하면 오래걸리지만 버스B의 상한선까지 노동자들을 가득 태워 한번에 수송하면 노동자들을 금방 보낼 수 있는 것 처럼 Buffer라는 것도 OS가 H/W입출력 장치로 부터 데이터들을 효율적으로 처리하기 위한 기법 중 하나다.즉 OS에서 데이터들을 효과적으로 처리하기 위한 데이터 처리기법으로 Buffer라는걸 만들었다. 고 이해했는데 이해한 개념이 맞을까요?
-
해결됨독하게 시작하는 C 프로그래밍
컴퓨터가 나눗셈 하는 방법에서의 오타인가요 ?
5:12초부터 나오는 컴퓨터가 나눗셈을 하는 방법에서 맨 오른쪽에 0이 채워진다 (padding)이 오른쪽이 아니라 왼쪽 아닌가요 ??
-
해결됨독하게 시작하는 C 프로그래밍
ARM 기반 윈도우 사용시
안녕하세요. 서피스 프로를 구매하려고 합니다.ARM 기반의 윈도우 11이라고 하는데, x86이 아니면 강의를 듣기에 힘들까요?회사에서 틈틈히 수강하려고 하는데 wips 때문에 5g를 살수밖에 없어서... 선택지가 암기반 서피스밖에 없네요... ㅠㅠ감사합니다.